Download presentation
Presentation is loading. Please wait.
1
Uni Innsbruck Informatik - 1 The Grid: From Parallel to Virtualized Parallel Computing Michael Welzl http://www.welzl.at http://www.welzl.at DPS NSG Team http://dps.uibk.ac.at/nsg http://dps.uibk.ac.at/nsg Institute of Computer Science University of Innsbruck Habilitation talk TU Darmstadt 14 June 2007
2
Uni Innsbruck Informatik - 2 Outline Grid introduction Middleware –first step towards virtualization Research efforts –further steps towards virtualization Conclusion
3
Uni Innsbruck Informatik - 3 Grid Computing A brief introduction
4
Uni Innsbruck Informatik - 4 Introducing the Grid History: parallel processing at a growing scale –Parallel CPU architectures –Multiprocessor machines –Clusters –(“Massively Distributed“) computers on the Internet GRID logical consequence of HPC metaphor: power grid just plug in, don‘t care where (processing) power comes from, don‘t care how it reaches you –Common definition: The real and specific problem that underlies the Grid concept is coordinated resource sharing and problem solving in dynamic, multi institutional virtual organizations [Ian Foster, Carl Kesselman and Steven Tuecke, “The Anatomy of the Grid – Enabling Scalable Virtual Organizations”, International Journal on Supercomputer Applications, 2001]
5
Uni Innsbruck Informatik - 5 Scope Definition quite broad (“resource sharing“) -Reasonable - e.g., computers also have harddisks –But also led to some confusion - e.g., new research areas / buzzwords: Wireless Grid, Data Grid, Semantic / Knowledge Grid, Pervasive Grid, [this space reserved for your favorite research area] Grid Example of confusion due to broad Grid interpretation: “One of the first applications of Grid technologies will be in remote training and education. Imagine the productivity gains if we had routine access to virtual lecture rooms! (..) What if we were able to walk up to a local ‘power wall‘ and give a lecture fully electronically in a virtual environment with interactive Web materials to an audience gathered from around the country - and then simply walk back to the office instead of going back to a hotel or an airplane?“ [I. Foster, C. Kesselman (eds): “The Grid: Blueprint for a New Computing Infrastructure“, 2nd edition, Elsevier Inc. / MKP, 2004] Clear, narrower scope is advisable for thinking/talking about the Grid Traditional goal: processing power –Grid people = parallel people; thus, main goal has not changed much
6
Uni Innsbruck Informatik - 6 The next Web? Ways of looking at the Internet –Communication medium (email) –Truly large kiosk (web) The Grid way of looking at the Internet –Infrastructure for Virtual Teams Most of the time... –the “real and specific goal“ is High Performance Computing –Virtual Organizations and Virtual Teams are well defined i.e. not an „open“ system, e.g. security is a big issue Virtual Teams –Geographically distributed –Organizationally distributed –Yet work on a common problem It has been called “the next web“ But Web 2.0 is already here :-)
7
Uni Innsbruck Informatik - 7 Virtual Organizations and Virtual Teams Distributed resources and people Linked by networks, crossing admin domains Sharing resources, common goals Dynamic R R R R R R R R R R VO-B VO-A R R R R Source: Globus presentation by Ian Foster
8
Uni Innsbruck Informatik - 8 Austrian Grid E-science Grid applications Medical Sciences –Distributed Heart Simulation –Virtual Lung Biopsy –Virtual Eye Surgery –Medical Multimedia Data Management and Distribution –Virtual Arterial Tree Tomography and Morphometry High-Energy Physics –CERN experiment analyses Applied Numerical Simulation –Distributed Scientific Computing: Advanced Computational Methods in Life Science –Computational Engineering –High Dimensional Improper Integration Procedures Astrophysical Simulations and Solar Observations –Astrophysical Simulations –Hydrodynamic Simulations –Federation of Distributed Archives of Solar Observation Meteorologal Simulations Environmental GRID Applications
9
Uni Innsbruck Informatik - 9 Example: CERN Large Hadron Collider Largest machine built by humans: particle accelerator and collider with a circumference of 27 kilometers Will generate 10 Petabytes (10 7 Gigabytes) of information per year … starting 2007! This information must be processed and stored somewhere Beyond the scope of a single institution to manage this problem –Projects: LCG (LHC Computing Grid), EGEE (Enabling Grids for E-sciencE) Source: Globus presentation by Ian Foster
10
Uni Innsbruck Informatik - 10 Complexity Grid poses difficult problems –Heterogeneity and dynamicity of resources –Secure access to resources with different users in various roles, belonging to VTs which belong to VOs –Efficient assignment of data and tasks to machines (“scheduling“) Cluster with dedicated network links Heterogeneousdistributedsystems Massivelyparallelsystems SETI@home GRID Systems with distributed memory Systems with Shared memory
11
Uni Innsbruck Informatik - 11 Grid requirements Computer scientists can tackle these problems –Grid application users and programmers are often not computer scientists Important goal: ease of use –Programmer should not worry (too much) about the Grid –User should worry even less –Ultimate goal: write and use an application as if using a single computer (power grid metaphor) How do computer scientists simplify? Abstraction. We build layers. In a Grid, we typically have Middleware.
12
Uni Innsbruck Informatik - 12 Grid Middleware
13
Uni Innsbruck Informatik - 13 Grid computing without middleware Example manual Grid application execution 1.scp code to 10 machines 2.log in to the 10 machines via ssh and start “application > result“ everywhere 3.Estimate running time, or let application tell you that it‘s done (e.g. via TCP/IP communication in app code) 4.retrieve result files via scp Tedious process - so write a script file Do this again for every application / environment? What if your colleagues need something similar? Standards needed, tools introduced
14
Uni Innsbruck Informatik - 14 Toolkits Most famous: Globus Toolkit –Evolution from GT2 via GT3 to GT4 influenced the whole Grid community –Reference implementation of Open Grid Forum (OGF) standards Other well-known examples –Condor Exists since mid-1980‘s No Grid back then - system gradually evolved towards it Traditional goal: harvest CPU power of normal user workstations many Grid issues always had to be addressed anyway Special interfaces now enable Condor-Globus communication (“Condor-G“) –Unicore (used in D-Grid) –gLite (used in EGEE) Issues that these middlewares (should) address –Load Balancing, error management –Authentification, Authorization and Accounting (AAA) –Resource discovery, naming –Resource access and monitoring –Resource reservation and QoS management
15
Uni Innsbruck Informatik - 15 Grid Resource Allocation Manager (GRAM) Globus tool for job execution –Unified, resource independent replacement for steps in “manual Grid“ example Unified way to set environment variables: Resource Specification Language (RSL) (stdout = x, arguments = y,..) Steps 1-4 become –Blocking: “globus-job-run -stage hostname applicationname“ -stage option copies code to remote machine Different architectures: recompilation needed – but not supported! –Nonblocking: scp code, then “globus-job-submit hostname applicationname“ (staging not yet supported) Obtain unique URL, continuously use it to query job status When done, use “globus-job-get-output URL stdout“ to retrieve stdout More complex systems are built on top of GRAM –E.g. Message Passing Interface (MPI) for the Grid: MPICH-G2
16
Uni Innsbruck Informatik - 16 GRAM /2 GRAM leaves a lot of questions unanswered –How to recompile application for different architectures? (automatically + in a unified way) –What if your computer‘s IP address changes? –What if the 10 accessed computer‘s IP addresses change? –What if two of the computers becomes unavailable? –What if 3 other users start to work with 5 of the 10 computers? A tool for each problem... –General-purpose Architecture for Reservation and Allocation (GARA) Integrated QoS via “advance reservation“ of resources (CPU, Disk, Network) –Monitoring and Discovery System (MDS) for locating and monitoring resources –Resource Broker (Globus: do it yourself; Condor: “matchmaker“) translates requirement specification (CPU, memory,..) into IP address Diversity of complex tools standardized + available in Globus, addressing some but not all of the issues need for an architecture
17
Uni Innsbruck Informatik - 17 Evolution: moving towards an architecture OGSI / OGSA: Open Grid Service Infrastructure / Architecture –Open Grid Forum (OGF) standards –OGSA = service-oriented architecture; key concept for virtualization use a resource = call a service –OGSI = Web Services + state management failed: too complex, not compliant with Web Service standards GT3 GT4 Source: Globus presentation by Ian Foster
18
Uni Innsbruck Informatik - 18 Research towards the power outlet
19
Uni Innsbruck Informatik - 19 Current SoA Standards are only specified when mechanisms are known to work –Globus only includes such working elements Lots of important features missing Practical issues with existing middlewares –Submitting a Globus job is very slow (Austrian Grid: approx. 20 seconds) significant granularity limit for parallelization! –Globus is a huge piece of software Currently, some confusion about right location of features –On top of middleware? (research on top of Globus) –In middleware? (other Middleware projects) –In the OS? (XtreemOS) Upcoming slides concern mechanisms which are mostly on top and partially within middleware
20
Uni Innsbruck Informatik - 20 Automatic parallelization in Grids Scheduling; important issue for “power outlet“ goal! –Automatic distribution of tasks and inter-task data transmissions = scheduling Grid scheduling encompasses –Resource Discovery Authorization Filtering, Application Requirement Definition, Minimal Requirement Filtering –System Selection Dynamic Information Gathering System Selection –Job Execution (optional) Advance Reservation Job Submission Preparation Tasks Monitoring Progress Job Completion Clean-up Tasks So far, most scheduling efforts consider embarassingly parallel applications - typically parameter sweeps (no dependencies)
21
Uni Innsbruck Informatik - 21 Condor case study Application name, parameters, etc. + requirements specified in ClassAds –“Requirements = Memory >= 256 && Disk > 10000; Rank = (KFLOPS*10000) + Memory“ only use computers which match requirements (else error), order them by rank –Explicit support for parameter sweeps: loop variables Resources registered with description; “central manager“ checks pool against application ClassAds (“matchmaking“) every 5 minutes, assigns jobs Checkpointing in Condor: need to recompile applications, link with special library (redirects syscalls) –Save current state for fault tolerance or vacating jobs Because preempted by higher priority job, machine busy, or user demands it Used in Grid Application Development Software Project (GrADS) for rescheduling (dynamic scheduling) and metascheduling (negotiation between multiple applications); ClassAds language extended –e.g., aggregation functions such as Max, Min, Sum
22
Uni Innsbruck Informatik - 22 Grid workflow applications Dependencies between applications (or large parts of applications) typically specified in Directed Acyclic Graph (DAG) –Condor: DAG manager (DAGMan) uses.dag file for simple dependencies –“Do not run job ‘B’ until job ‘A’ has completed successfully” DAGMan scheduling: for all tasks do... –Find task with earliest starting time –Allocate it to processor with Earlierst Finish Time –Remove task from list GriPhyN (Grid Physics Network) facilitates workflow design with “Pegasus“ (Planning for Execution in Grids) framework –Specification of abstract workflow: identify application components, formulate workflow specifying the execution order, using logical names for components and files –Automatic generation of concrete workflow (map components to resources) –Concrete workflow submitted to Condor-G/DAGMan
23
Uni Innsbruck Informatik - 23 Grid Workflow Applications /2 Components are built, Web (Grid) Services are defined, Activities are specified Several projects (e.g. K-WF Grid) and systems (e.g. ASKALON) exist Most applications have simple workflows –E.g. Montage: dissects space image, distributes processing, merges results Legacy codes Components Web Services Grid Workflows based on activities MPI HPF OMP HPF OMP MPI Java Legacy Codes Descriptor Generation Component Interaction Optimization, Adaptation Service Description Discovery, Selection Deployment, Invocation Dynamic Instantiation Service Orchestration Quality of Service Source: presentation by Thomas Fahringer
24
Uni Innsbruck Informatik - 24 Scheduling example: HEFT algorithm Step 1 - task prioritizing Rank of a task: longest “distance“ to the end (Mean processing + transfer costs) Tasks are sorted by decreasing rank order TaskP1P2 111 20.51.5 322 4 2.5 50.5 TaskRank calculation 50.5 42+0.5+7=9.5 32+0.5+2=4.5 21+max(0.5+2+2+1, 0.5+7+2+2)=12.5 11+max(12.5+3, 0.5+7+2+4)=16.5 2 1 1 2 4 3 5 3 4 1 2 7 0.5 2 1 2 TaskRank 116.5 212.5 49.5 34.5 50.5
25
Uni Innsbruck Informatik - 25 Step 2 - processor selection (EFT) TaskP1P2 111 20.51.5 4 2.5 322 50.5 1 2 3 4 FT(T1, P1) = 1 FT(T1, P2) = 1 FT(T2, P1) = 1+0.5=1.5 FT(T2, P2) = 1+3+1.5=5.5 FT(T4, P1) = 1.5+1.5=3 FT(T4, P2) = 1.5+2+2.5=6 FT(T3, P1) = 3+2=5 FT(T3, P2) = 1.5+1+2=4.5 FT(T5, P1) = 4.5+2+0.5=7 FT(T5, P2) = 3+7+0.5=10.5 P1P2 0 1 2 3 4 5 6 7 Processor idle + task ready Data transfer Task processing 5
26
Uni Innsbruck Informatik - 26 HEFT discussion HEFT is not a solution, just a heuristic –problem is known to be NP-complete Outperformed competitors (DAGMan scheduling, genetic algorithm) in ASKALON real-life experiments –Still, many improvements possible e.g., other functions than mean, and extension for rescheduling suggested Heterogeneous network capacities and traffic interactions ignored Tasks = {T1, T2, T3, T4} Resources = {R1, R2, R3, R4} Data transfers = {D1, D2, D3, D4} Not detected!
27
Uni Innsbruck Informatik - 27 Conclusion
28
Uni Innsbruck Informatik - 28 How far have we come? Remember: systems on last slides are still research –Not standardized, not part of reference middleware implementations –Right place (OS / Middleware / App) for some functions still undecided A lot is still manual –Basically three choices for deploying an application on the Grid Simply use it if it‘s a parameter sweep “Gridify“ it (rewrite using customized allocation - e.g. MPICH-G2) Utilize a workflow tool Convergence between P2P systems and Grids has only just begun Several issues and possible improvements –Large number of layers are a mismatch for high performance demands –Network usage simplistic, no customized mechanisms
29
Uni Innsbruck Informatik - 29 HTTP 1.1 Open issues: layering inefficiency Example: loss of “connection“ semantics IP TCP HTTP 1.0 SOAP Stateless Connection state Stateless Can‘t reuse connections! Connection state Web Service Grid Service Doesn‘t care, can do both Stateless Stateful Can‘t reuse connections! WS-RF Could reuse connections, but doesn‘t! Breaking the chain Reuses connections
30
Uni Innsbruck Informatik - 30 Open issues Strangely, parallel processing background seems to be ignored –E.g., work on task-processor mapping + P2P overlays such as hypercube = ? Granularity Complexity (Dependencies) Microcode Instruction level parallelism Arbitrary parallel applications Parameter sweeps Workflow applications Manual aid needed Untouched!
31
Uni Innsbruck Informatik - 31 Thank you! Questions?
32
Uni Innsbruck Informatik - 32 Backup slides
33
Uni Innsbruck Informatik - 33 Enriched with customised network mechanisms Original Internet technology Traditional Internet applications (web browser, ftp,..) Real-time multimedia applications (VoIP, video conference,..) Today‘s Grid applications Driving a racing car on a public road Applications with special network properties and requirements Bringing the Grid to its full potential ! EC-GIN EC-GIN enabled Grid applications Research gap: Grid-specific network enhancements
34
Uni Innsbruck Informatik - 34 Grid-network peculiarities Special behavior –Predictable traffic pattern - this is totally new to the Internet! –Web: users create traffic –FTP download: starts... ends –Streaming video: either CBR or depends on content! (head movement,..) Could be exploited by congestion control mechanisms –Distinction: Bulk data transfer (e.g. GridFTP) vs. control messages (e.g. SOAP) –File transfers are often “pushed“ and not “pulled“ –Distributed System which is active for a while overlay based network enhancements possible –Multicast –P2P paradigm: “do work for others for the sake of enhancing the whole system (in your own interest)“ can be applied - e.g. act as a PEP,... sophisticated network measurements possible –can exploit longevity and distributed infrastructure Special requirements –file transfer delay predictions note: useless without knowing about shared bottlenecks –QoS, but for file transfers only (“advance reservation“)
35
Uni Innsbruck Informatik - 35 What is EC-GIN? European project: Europe-China Grid InterNetworking –STREP in IST FP6 Call 6 –2.2 MEuro, 11 partners (7 Europe + 4 China) –Networkers developing mechanisms for Grids
36
Uni Innsbruck Informatik - 36 Research Challenges Research Challenges: –How to model Grid traffic? Much is known about web traffic (e.g. self-similarity) - but the Grid is different! –How to simulate a Grid-network? Necessary for checking various environment conditions May require traffic model (above) Currently, Grid-Sim / Net-Sim are two separate worlds (different goals, assumptions, tools, people) –How to specify network requirements? Explicit or implicit, guaranteed or “elastic“, various possible levels of granularity –How to align network and Grid economics? Combined usage based pricing for various resources including the network –What P2P methods are suitable for the Grid? What is the right means for storing short-lived performance data?
37
Uni Innsbruck Informatik - 37 Problem: How Grid people see the Internet Abstraction - simply use what is available –still: performance = main goal Wrong. Quote from a paper review: “In fact, any solution that requires changing the TCP/IP protocol stack is practically unapplicable to real-world scenarios, (..).“ How to change this view –Create awareness - e.g. GGF GHPN-RG published documents such as “net issues with grids“, “overview of transport protocols“ –Develop solutions and publish them! (EC-GIN, GridNets) Just like Web Service community Absolutely not like Web Service community ! Conflict! Existing transport system (TCP/IP + Routing +..) works well QoS makes things better, the Grid needs it! –we now have a chance for that, thanks to IPv6
38
Uni Innsbruck Informatik - 38 A time-to-market issue Research begins (Real-life) coding begins Real-life tests begin Thesis writing Result: thesis + running code; tests in collaboration with different research areas Result: thesis + simulation code; perhaps early real-life prototype (if students did well) Research begins (Simulation) coding begins Thesis writing Typical Grid project Typical Network project Ideal
39
Uni Innsbruck Informatik - 39 Machine-only communication Trend in networks: from support of Human-Human Communication –email, chat via Human-Machine Communication –web surfing, file downloads (P2P systems), streaming media to Machine-machine Communication –Growing number of commercial web service based applications –New “hype“ technologies: Sensor nets, Autonomic Computing vision Semantic Web (Services): first big step for supporting machine-only communication at a high level So far, no steps at a lower level –This would be like RTP, RTCP, SIP, DCCP,... for multimedia apps: not absolutely necessary, but advantageous
40
Uni Innsbruck Informatik - 40 The long-term value of Grid-net research A subset of Grid-net developments will be useful for other machine-only communication systems! Grid Sensor nets Web service applications Future work Key for achieving this: change viewpoint from “what can we do for the Grid“ to “what can the Grid do for us“ (or from “what does the Grid need“ to “what does the Grid mean to us“)
41
Uni Innsbruck Informatik - 41 Large stacks Source: http://img.dell.com/images/global/topics/power/ps1q02-broadcom1.gif DoD IP TCP HTTP SOAP Middleware WS-RF Grid apps
42
Uni Innsbruck Informatik - 42 The Grid and P2P systems Look quite similar –Goal in both cases: resource sharing Major difference: clearly defined VOs / VTs –No incentive considerations –Availability not such a big problem as in P2P case It is an issue, but at larger time scales –(e.g. computers in student labs should be available after 22:00, but are sometimes shut down by tutors) –Scalability not such a big issue as in P2P case...so far! convergence as Grids grow coordinated resource sharing and problem solving in dynamic, multi institutional virtual organizations (Grid, P2P)
43
Uni Innsbruck Informatik - 43 How the tools are applied in practice Web Browser Compute Server Data Catalog Data Viewer Tool Certificate authority Chat Tool Credential Repository Web Portal Compute Server Resources implement standard access & management interfaces Collective services aggregate &/or virtualize resources Users work with client applications Application services organize VOs & enable access to other services Database service Database service Database service Simulation Tool Camera Telepresence Monitor Registration Service Source: Globus presentation by Ian Foster
44
Uni Innsbruck Informatik - 44 Data MgmtSecurity Common Runtime Execution Mgmt Info Services Web Services Components Non-WS Components Pre-WS Authentication Authorization GridFTP Pre-WS Grid Resource Alloc. & Mgmt Pre-WS Monitoring & Discovery C Common Libraries Authentication Authorization Reliable File Transfer Data Access & Integration Grid Resource Allocation & Management Index Java WS Core Community Authorization Replica Location eXtensible IO (XIO) Credential Mgmt Community Scheduling Framework Delegation Example: Globus Toolkit version 4 (GT4) Data Replication Trigger C WS Core Python WS Core WebMDS Workspace Management Grid Telecontrol Protocol Contrib/ Preview Core Depre- cated Example Source: Globus presentation by Ian Foster
45
Uni Innsbruck Informatik - 45 Automatic parallelization Has been addressed in the past Microcode parallelism (pipelining in CPU) –Relatively easy: simple dependencies Instruction level parallelism –More complex dependencies –Can automatically be analyzed by compiler Reordering, loop unrolling,.. for (i=1; i<100; i++) a[i] = a[i] + b[i] * c[i]; /* Thread 1 */ for (i=1; i<50; i++) a[i] = a[i] + b[i] * c[i]; /* Thread 2 */ for (i=50; i<100; i++) a[i] = a[i] + b[i] * c[i]; (Intel C++ compiler) Source: WIKIPEDIA
46
Uni Innsbruck Informatik - 46 Automatic parallelization /2 Parallel Computing: complete applications parallelized –Very complex dependencies –Decomposition methods + mapping of tasks onto processors: usually not automatic (depends on problem and interconnection network) –Algorithm specific methods developed (matrix operations, sorting,..) –Some parts can be automatized, but not everything explicit parallelism (OpenMP) and even allocation (MPI) quite popular Some research efforts on half-automatic parallelization (“manual“ aid) –Programmer knows about problem-specific locality needs (interacting code elements) –Examples: Java extensions such as JavaSymphony [Thomas Fahringer, Alexandru Jugravu] HPF+ HALO concept [Siegfried Benkner] Source: http://www.par.univie.ac.at/~sigi/aurora/project2/
47
Uni Innsbruck Informatik - 47 Source: http://www.dps.uibk.ac.at/projects/teuta/
Similar presentations
© 2025 SlidePlayer.com. Inc.
All rights reserved.