View
217
Download
0
Tags:
Embed Size (px)
Citation preview
Uni Innsbruck Informatik - Uni Innsbruck Informatik - 11
The Grid:The Grid:From Parallel to Virtualized From Parallel to Virtualized
Parallel ComputingParallel Computing
Michael Welzl Michael Welzl http://www.welzl.at
DPS NSG Team DPS NSG Team http://dps.uibk.ac.at/nsgInstitute of Computer ScienceInstitute of Computer ScienceUniversity of InnsbruckUniversity of Innsbruck
Habilitation talkHabilitation talkTU DarmstadtTU Darmstadt14 June 200714 June 2007
Uni Innsbruck Informatik - Uni Innsbruck Informatik - 22
OutlineOutline
• Grid introduction
• Middleware– first step towards virtualization
• Research efforts– further steps towards virtualization
• Conclusion
Uni Innsbruck Informatik - Uni Innsbruck Informatik - 33
Grid ComputingGrid Computing
A brief introduction
Uni Innsbruck Informatik - Uni Innsbruck Informatik - 44
Introducing the GridIntroducing 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]
Uni Innsbruck Informatik - Uni Innsbruck Informatik - 55
ScopeScope• 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
Uni Innsbruck Informatik - Uni Innsbruck Informatik - 77
Virtual Organizations and Virtual Virtual Organizations and Virtual TeamsTeams
• Distributed resources and people• Linked by networks, crossing admin domains• Sharing resources, common goals• Dynamic
RR
R
R
R
R
R
RR
R
VO-BVO-A
R
R
R
R
Source: Globus presentation by Ian Foster
Uni Innsbruck Informatik - Uni Innsbruck Informatik - 88
Austrian Grid E-science Grid Austrian Grid E-science Grid applicationsapplications
• 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
Uni Innsbruck Informatik - Uni Innsbruck Informatik - 99
Example: CERN Large Hadron Example: CERN Large Hadron ColliderCollider
• Largest machine built by humans:particle accelerator and collider with acircumference of 27 kilometers
• Will generate 10 Petabytes(107 Gigabytes) of information per year… starting 2007!
• This information must be processed and stored somewhere
• Beyond the scope of a singleinstitution to manage this problem– Projects: LCG (LHC Computing Grid),
EGEE (Enabling Grids for E-sciencE)Source: Globus presentation by Ian Foster
Uni Innsbruck Informatik - Uni Innsbruck Informatik - 1010
ComplexityComplexity
• 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“)
Clu
ster
wit
h de
dica
ted
Clu
ster
wit
h de
dica
ted
netw
ork
links
netw
ork
linksHeterogeneousHeterogeneous
distributeddistributed
systemssystems
MassivelyMassively
parallelparallel
systemssystems
SET
I@ho
me
SET
I@ho
me
GR
IDG
RID
Syst
ems
wit
h
Syst
ems
wit
hdi
stri
bute
d m
emor
y
dist
ribu
ted
mem
ory
Syst
ems
wit
h
Syst
ems
wit
hSh
ared
mem
ory
Shar
ed m
emor
y
Uni Innsbruck Informatik - Uni Innsbruck Informatik - 1111
Grid requirementsGrid 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.
Uni Innsbruck Informatik - Uni Innsbruck Informatik - 1212
Grid MiddlewareGrid Middleware
Uni Innsbruck Informatik - Uni Innsbruck Informatik - 1313
Grid computing without Grid computing without middlewaremiddleware
• Example manual Grid application execution1. scp code to 10 machines2. log in to the 10 machines via ssh and start “application > result“
everywhere3. 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
Uni Innsbruck Informatik - Uni Innsbruck Informatik - 1414
ToolkitsToolkits
• 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
Uni Innsbruck Informatik - Uni Innsbruck Informatik - 1515
Grid Resource Allocation Manager Grid Resource Allocation Manager (GRAM)(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
Uni Innsbruck Informatik - Uni Innsbruck Informatik - 1616
GRAM /2GRAM /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
Uni Innsbruck Informatik - Uni Innsbruck Informatik - 1717
Evolution: moving towards an Evolution: moving towards an architecturearchitecture
• OGSI / OGSA: Open Grid Service Infrastructure / Architecture– Open Grid Forum (OGF) standards– OGSA = service-oriented architecture; key concept for
virtualizationuse 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
Uni Innsbruck Informatik - Uni Innsbruck Informatik - 1818
Research towards the power outletResearch towards the power outlet
Uni Innsbruck Informatik - Uni Innsbruck Informatik - 1919
Current SoACurrent 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 topand partially within middleware
Uni Innsbruck Informatik - Uni Innsbruck Informatik - 2020
Automatic parallelization in GridsAutomatic 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 parallelapplications - typically parameter sweeps (no dependencies)
Uni Innsbruck Informatik - Uni Innsbruck Informatik - 2121
Condor case studyCondor 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
Uni Innsbruck Informatik - Uni Innsbruck Informatik - 2222
Grid workflow applicationsGrid 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 designwith “Pegasus“ (Planning for Execution in Grids) framework– Specification of abstract workflow: identify application components,
formulate workflow specifying the execution order, usinglogical names for components and files
– Automatic generation of concrete workflow (map components to resources)
– Concrete workflow submitted to Condor-G/DAGMan
Uni Innsbruck Informatik - Uni Innsbruck Informatik - 2323
Grid Workflow Applications /2Grid 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 Workflowsbased on activities
MPI HPF OMP
HPFOMPMPI
MPI Java Legacy Codes
Descriptor GenerationComponent Interaction Optimization, Adaptation
Service DescriptionDiscovery, SelectionDeployment, Invocation
Dynamic InstantiationService OrchestrationQuality of Service
Source: presentation by Thomas Fahringer
Uni Innsbruck Informatik - Uni Innsbruck Informatik - 2424
Scheduling example: HEFT Scheduling example: HEFT algorithmalgorithmStep 1 - task prioritizingStep 1 - task prioritizing
• Rank of a task: longest “distance“ to the end(Mean processing + transfer costs)
• Tasks are sorted by decreasing rank order
Task
P1 P2
1 1 1
2 0.5 1.5
3 2 2
4 1.5 2.5
5 0.5 0.5
Task
Rank calculation
5 0.5
4 2+0.5+7=9.5
3 2+0.5+2=4.5
2 1+max(0.5+2+2+1, 0.5+7+2+2)=12.5
1 1+max(12.5+3, 0.5+7+2+4)=16.5
2
1
1
2
43
5
3
4
1
27
0.5
2
1
2
Task
Rank
1 16.5
2 12.5
4 9.5
3 4.5
5 0.5
Uni Innsbruck Informatik - Uni Innsbruck Informatik - 2525
Step 2 - processor selection (EFT)Step 2 - processor selection (EFT)
Task
P1 P2
1 1 1
2 0.5 1.5
4 1.5 2.5
3 2 2
5 0.5 0.5
1
2
43
5
3
4
1
27
3
2
1
2
1
2
1
2
3
4
FT(T1, P1) = 1FT(T1, P2) = 1
FT(T2, P1) = 1+0.5=1.5FT(T2, P2) = 1+3+1.5=5.5
FT(T4, P1) = 1.5+1.5=3FT(T4, P2) = 1.5+2+2.5=6
FT(T3, P1) = 3+2=5FT(T3, P2) = 1.5+1+2=4.5
FT(T5, P1) = 4.5+2+0.5=7FT(T5, P2) = 3+7+0.5=10.5
P1 P20
1
2
3
4
5
6
7
Processor idle + task readyData transferTask processing5
Uni Innsbruck Informatik - Uni Innsbruck Informatik - 2626
HEFT discussionHEFT 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 networkcapacities and trafficinteractions ignored
Tasks = {T1, T2, T3, T4}Resources = {R1, R2, R3, R4}Data transfers = {D1, D2, D3, D4}
Not detected!
Uni Innsbruck Informatik - Uni Innsbruck Informatik - 2727
ConclusionConclusion
Uni Innsbruck Informatik - Uni Innsbruck Informatik - 2828
How far have we come?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
Uni Innsbruck Informatik - Uni Innsbruck Informatik - 2929
HTTP 1.1
Open issues: layering inefficiencyOpen issues: layering inefficiencyExample: loss of “connection“ Example: loss of “connection“ semanticssemantics
IP
TCP
HTTP 1.0
SOAP
Stateless
Connection state
Stateless
Can‘t reuseconnections!
Connection state
Web Service
Grid Service
Doesn‘t care, can do both
Stateless
Stateful
Can‘t reuseconnections!
WS-RF
Could reuse connections, but doesn‘t!
Breaking the chain
Reuses connections
Uni Innsbruck Informatik - Uni Innsbruck Informatik - 3030
Open issuesOpen 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 application
s
Manual aidneeded
Untouched!
Uni Innsbruck Informatik - Uni Innsbruck Informatik - 3131
Thank you!Thank you!
Questions?
Uni Innsbruck Informatik - Uni Innsbruck Informatik - 3232
Backup slidesBackup slides
Uni Innsbruck Informatik - Uni Innsbruck Informatik - 3333
Enriched with customisedEnriched with customisednetwork mechanismsnetwork mechanisms
Original Internet technologyOriginal Internet technology
Traditional Internet Traditional Internet applicationsapplications(web browser, ftp, ..)(web browser, ftp, ..)
Real-time multimedia Real-time multimedia applications (VoIP, applications (VoIP, video conference, ..)video conference, ..)
Today‘s Grid Today‘s Grid applicationsapplications
Driving a racing carDriving a racing caron a public roadon a public road
Applications with specialApplications with specialnetwork properties andnetwork properties andrequirementsrequirements
Bringing the Grid to its full potential !Bringing the Grid to its full potential !
EC-GINEC-GIN EC-GINEC-GIN enabled enabledGrid applicationsGrid applications
Research gap: Grid-specificResearch gap: Grid-specificnetwork enhancementsnetwork enhancements
Uni Innsbruck Informatik - Uni Innsbruck Informatik - 3434
Grid-network peculiaritiesGrid-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“)
Uni Innsbruck Informatik - Uni Innsbruck Informatik - 3535
What is EC-GIN?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
Uni Innsbruck Informatik - Uni Innsbruck Informatik - 3636
Research ChallengesResearch 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?
Uni Innsbruck Informatik - Uni Innsbruck Informatik - 3737
Problem: How Grid people see the Problem: How Grid people see the InternetInternet• 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
Uni Innsbruck Informatik - Uni Innsbruck Informatik - 3838
A time-to-market issueA time-to-market issue
Research begins
(Real-life)coding begins
Real-life tests
begin
Thesis writing
Result: thesis + running code;tests in collaboration withdifferent research areas
Result: thesis + simulationcode; perhaps early real-lifeprototype (if students did well)
Research begins
(Simulation)coding begins
Thesis writing
Typical Grid project
Typical Network project
Ideal
Uni Innsbruck Informatik - Uni Innsbruck Informatik - 3939
Machine-only communicationMachine-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
Uni Innsbruck Informatik - Uni Innsbruck Informatik - 4040
The long-term value of Grid-net The long-term value of Grid-net researchresearch
• A subset of Grid-net developments willbe useful for other machine-onlycommunication systems!
Grid
Sensor nets
Web serviceapplications
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“)
Uni Innsbruck Informatik - Uni Innsbruck Informatik - 4141
Large stacksLarge stacks
Source: http://img.dell.com/images/global/topics/power/ps1q02-broadcom1.gif
DoD
IP
TCP
HTTP
SOAP
Middleware
WS-RF
Grid apps
Uni Innsbruck Informatik - Uni Innsbruck Informatik - 4242
The Grid and P2P systemsThe 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)
Uni Innsbruck Informatik - Uni Innsbruck Informatik - 4343
How the tools are applied in How the tools are applied in practicepractice
WebBrowser
ComputeServer
DataCatalog
DataViewer
Tool
Certificateauthority
ChatTool
CredentialRepository
WebPortal
ComputeServer
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
Databaseservice
Databaseservice
Databaseservice
SimulationTool
Camera
Camera
TelepresenceMonitor
RegistrationService
Source: Globus presentation by Ian Foster
Uni Innsbruck Informatik - Uni Innsbruck Informatik - 4444
Data Mgmt
SecurityCommonRuntime
Execution Mgmt
Info Services
Web ServicesComponents
Non-WS Components
Pre-WSAuthenticationAuthorization
GridFTPPre-WS
Grid ResourceAlloc. & Mgmt
Pre-WSMonitoring& Discovery
C CommonLibraries
AuthenticationAuthorization
ReliableFile
Transfer
Data Access& Integration
Grid ResourceAllocation &
ManagementIndex
Java WS Core
CommunityAuthorization
ReplicaLocation
eXtensibleIO (XIO)
CredentialMgmt
CommunitySchedulingFramework
Delegation
Example: Globus Toolkit version 4 Example: Globus Toolkit version 4 ((GT4GT4))
DataReplication
TriggerC
WS Core
Python WS Core
WebMDS
WorkspaceManagement
Grid Telecontrol
Protocol
Contrib/Preview
Core
Depre-cated
Example
Source: Globus presentation by Ian Foster
Uni Innsbruck Informatik - Uni Innsbruck Informatik - 4545
Automatic parallelizationAutomatic 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
Uni Innsbruck Informatik - Uni Innsbruck Informatik - 4646
Automatic parallelization /2Automatic 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-automaticparallelization (“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/
Uni Innsbruck Informatik - Uni Innsbruck Informatik - 4747
Source: http://www.dps.uibk.ac.at/projects/teuta/