Скачать презентацию Grid Computing ECI July 2005 Living in Скачать презентацию Grid Computing ECI July 2005 Living in

12d7960a6388b3e4728c3f5cc4237b4d.ppt

  • Количество слайдов: 65

Grid Computing ECI, July 2005 Grid Computing ECI, July 2005

Living in an Exponential World n n n Moore’s Law: transistors count x 2 Living in an Exponential World n n n Moore’s Law: transistors count x 2 in 18 months Storage density x 2 in 12 months Online data x 10 in 12 months (current = 10 p. B) n n Telescope to generate > 10 p. B by 2008 Network speed x 2 in 9 months n n 2 1986 -2000: cpu x 500, network x 340000 2001 -2010: cpu x 60, network x 4000

What is a Grid (informal) n Three key criteria: n n What is not What is a Grid (informal) n Three key criteria: n n What is not a Grid? n n n 3 Coordinates resources not under centralized control Using standard, open, general purpose protocols and interfaces To deliver non-trivial quality of service A cluster, a network attached storage device, a scientific instrument, a network, (though these are important components)

So… n We’ve got: n n And we want to: n n 4 Solve So… n We’ve got: n n And we want to: n n 4 Solve big computational problems… In that case: n n Fast computers (but not fast enough…) Bigger storage (but not big enough…) Fast networks (well, not speedy enough…) How about joining resources together ? That’s GRID!

Why “Grid” ? n n Analogy with the Power Grid Service with known characteristics: Why “Grid” ? n n Analogy with the Power Grid Service with known characteristics: n n n 5 Stable voltage (~220 v) Contracted power Pay the installed capacity and consumed power Standard sockets, outlets, devices Available 24/7 (usually…)

And in Computers n “Computer Grid” similar to “Power Grid” n n n 6 And in Computers n “Computer Grid” similar to “Power Grid” n n n 6 Special socket to get connected Pay subscription and the power consumed If need more – contract more

Definitions of Grid n n A paradigm/infrastructure that enables the sharing, selection, & aggregation Definitions of Grid n n A paradigm/infrastructure that enables the sharing, selection, & aggregation of geographically distributed resources to solve large scale problems/applications Resource sharing & coordinated problem solving in dynamic, multi-institutional virtual organizations n 7 Computers, software, catalogue data and databases, special devices/instruments, people

What is a Grid (informal) n Three key criteria: n n What is not What is a Grid (informal) n Three key criteria: n n What is not a Grid? n n n 8 Coordinates resources not under centralized control Using standard, open, general purpose protocols and interfaces To deliver non-trivial quality of service A cluster, a network attached storage device, a scientific instrument, a network, (though these are important components)

Grid and the Hype n The classic Hype curve HERE ! 9 Grid and the Hype n The classic Hype curve HERE ! 9

Types of Grids n Grid systems can be classified depending on their usage: Computational Types of Grids n Grid systems can be classified depending on their usage: Computational Grid Systems Data Grid Services Grid Distributed Supercomputing High Throughput On Demand Collaborative Multimedia 10

Types of Grids n Computational Grids n n n Data Grids n n Distributed Types of Grids n Computational Grids n n n Data Grids n n Distributed Supercomputing: grand challenge apps High-Throughput: parametric modeling, independent tasks Data mining, analysis, data processing Service Grids n n n 11 Collaborative: connects users, apps and devices Multimedia: real time multimedia, virtual reality Demand: aggregate more resource if required

A Typical Grid Computing Environment Grid Information Service Grid Resource Broker R 2 R A Typical Grid Computing Environment Grid Information Service Grid Resource Broker R 2 R 3 R 5 Application database R 4 RN Grid Resource Broker R 6 Grid Information Service 12 R 1 Resource Broker

How it Really Happens (A Simplified View) Web Browser Compute Server Simulation Tool Web How it Really Happens (A Simplified View) Web Browser Compute Server Simulation Tool Web Portal Registration Service Data Viewer Tool Chat Tool Credential Repository Telepresence Monitor Application services organize VOs & enable access to other services Camera Database service Data Catalog Database service Certificate authority Users work with client 13 applications Compute Server Collective services aggregate &/or virtualize resources Resources implement standard access & management interfaces

How it Really Happens (without Grid Software) Web Browser Application Developer 12 Web Portal How it Really Happens (without Grid Software) Web Browser Application Developer 12 Web Portal Globus Toolkit 0 Grid Community 0 Users work with client 14 applications Compute Server B Simulation Tool Compute Server Registration Service Data Viewer Tool 10 Off the Shelf A Chat Tool Credential Repository Telepresence Monitor Camera C Collective services aggregate &/or virtualize resources Database service D Database service E Data Catalog Certificate authority Application services organize VOs & enable access to other services Camera Database service Resources implement standard access & management interfaces

How it Really Happens (with Grid Software) Globus Web Browser GRAM Simulation Tool Globus How it Really Happens (with Grid Software) Globus Web Browser GRAM Simulation Tool Globus GRAM Globus Index Service CHEF Compute Server Camera Application Developer 2 Off the Shelf 9 Globus Toolkit 5 Grid Community 3 Data Viewer Tool Users work with client 15 applications Chat Tool My. Proxy Telepresence Monitor OGSA DAI Globus MCS/RLS OGSA DAI OGSA Certificate Authority Application services organize VOs & enable access to other services Camera DAI Collective services aggregate &/or virtualize resources Database service Resources implement standard access & management interfaces

Grid Characteristics Entities/Issues Characteristics Users, Resources, Owners Geographically Distributed User, Resources, Applications Heterogeneous Resource Grid Characteristics Entities/Issues Characteristics Users, Resources, Owners Geographically Distributed User, Resources, Applications Heterogeneous Resource Varies with time Availability/Capability Policies and strategies Heterogeneous & decentralised Qo. S requirements Heterogeneous Cost / Price Varies: different resources, users, time * Resource Management * Application Construction 16

Why is it Complex ? n n n Size (nodes, providers, consumers) Heterogeneity of Why is it Complex ? n n n Size (nodes, providers, consumers) Heterogeneity of resources Heterogeneity of fabric management n n Heterogeneity of applications n n n 17 Systems, policies Type, requirements, patterns Geographic distribution, varying time zones Non-secure and Unreliable environment

Layered Grid Architecture APPLICATIONS Applications and Portals Scientific … Prob. Solving Env. Collaboration Engineering Layered Grid Architecture APPLICATIONS Applications and Portals Scientific … Prob. Solving Env. Collaboration Engineering Web enabled Apps USER LEVEL MIDDLEWARE Development Environments and Tools Languages/Compilers Libraries Debuggers Monitors … Web tools Resource Management, Selection, and Aggregation (BROKERS) CORE MIDDLEWARE Distributed Resources Coupling Services Information Security Data Process Trading … Qo. S SECURITY LAYER Local Resource Managers Operating Systems Queuing Systems FABRIC Libraries & App Kernels … Internet Protocols Networked Resources across Organizations Computers 18 Networks Storage Systems Data Sources … Scientific Instruments

Resource/Service Integration as a Fundamental Challenge Many sources of data, services, computation Discovery R Resource/Service Integration as a Fundamental Challenge Many sources of data, services, computation Discovery R RM Access Registries organize services of interest to a community RM RM Security service 19 Security & policy must underlie access & management decisions Data integration activities may require access to, & exploration/analysis of, data at many locations RM Resource management is needed to ensure progress & arbitrate competing demands Policy service Exploration & analysis may involve complex, multi-step workflows

Grid Middleware Technologies n n 20 Globus – Argonne National Lab and ISI Gridbus Grid Middleware Technologies n n 20 Globus – Argonne National Lab and ISI Gridbus – University of Melbourne Unicore – Germany Legion – University of Virginia

The Globus Toolkit 21 The Globus Toolkit 21

Globus Toolkit Services n Security (GSI) n n Job submission and management (GRAM) n Globus Toolkit Services n Security (GSI) n n Job submission and management (GRAM) n n LDAP-based Information Service Remote file management (GASS) n n Uniform Job Submission Information services (MDS) n n PKI-based Security (Authentication) Service Remote Storage Access Service Remote Data Catalogue and Management Tools

Security n n Resources and users belong to organizations An authentication infrastructure is needed Security n n Resources and users belong to organizations An authentication infrastructure is needed Both users and owners should be protected from each other Ensure security and privacy: n n n 23 Data Code Message

Grid Security Infrastructure (GSI) n GSI is: Proxies and delegation (GSI Extensions) for secure Grid Security Infrastructure (GSI) n GSI is: Proxies and delegation (GSI Extensions) for secure single Sign-on Proxies and Delegation PKI for credentials 24 PKI (CAs and Certificates) SSL/ TLS SSL for Authentication And message protection

Simple job submission n globus-job-run provides a simple RSH compatible interface n n n Simple job submission n globus-job-run provides a simple RSH compatible interface n n n Authentication Test n n % grid-proxy-init Enter PEM pass phrase: ***** % globus-job-run host program [args] % globusrun –a –r hostname Running a Job on Remote node n n 25 % globusrun hostname globus-job-run belle. anu. edu. au /bin/dat

Authorization n n GSI handles authentication, but not authorization Authorization issues: n n n Authorization n n GSI handles authentication, but not authorization Authorization issues: n n n 26 Management of authorization on a multiorganization grid is still an interesting problem Mapping resources to users does not scale well Large communities that share resources. . .

Globus Resource Access Manager n n n Resource Specification Language (RSL) GRAM allows programs Globus Resource Access Manager n n n Resource Specification Language (RSL) GRAM allows programs to be started on remote resources A layered architecture allows app-specific resource brokers and co-allocators to be defined as services 27

Resource Management Architecture RSL specialization Broker RSL Queries & Info Application Ground RSL Information Resource Management Architecture RSL specialization Broker RSL Queries & Info Application Ground RSL Information Service Co-allocator Simple ground RSL Local resource managers 28 GRAM LSF EASY-LL NQE

GRAM Components Client MDS client API calls to locate resources MDS: Grid Index Info GRAM Components Client MDS client API calls to locate resources MDS: Grid Index Info Server Site boundary MDS client API calls to get resource info GRAM client API calls to MDS: Grid Resource Info Server request resource allocation and process creation. Query current status of resource GRAM client API state change callbacks Globus Security Local Resource Manager (e. g. , Infrastructure PBS, Condor, or OS-fork()) Allocate & Request create processes Job Manager Create Gatekeeper Parse RSL Library 29 Monitor & control Process

A simple run n Interactive Run/Output: n > globus-job-run belle. anu. edu. au /bin/date A simple run n Interactive Run/Output: n > globus-job-run belle. anu. edu. au /bin/date n n Mon May 3 15: 05: 42 EST 2004 Sun May 22 17: 22 EST 2005 > globusrun -o -r belle. anu. edu. au "&(executable=/bin/date)" Batch Commands: n n 30 > globusrun -b -r belle. anu. edu. au "&(executable=/bin/date)(stdout=My. Output. File)" > gsincftpget belle. anu. edu. au. My. Output. File (Pull output file to local directory)

Resource Specification Language (RSL) n n Common notation for information exchange Provides two types Resource Specification Language (RSL) n n Common notation for information exchange Provides two types of information: n n n 31 Resource requirements: machine type, number of nodes, memory, etc. Job configuration: directory, executable, args, environment API provided for manipulating RSL

RSL Syntax n Elementary form: parenthesis clauses n n Operators Supported: n n executable, RSL Syntax n Elementary form: parenthesis clauses n n Operators Supported: n n executable, arguments, environment, stdin, stdout, stderr Unknown attributes are passed through n 32 <, <=, =, > , != Some supported attributes: n n (attribute op value [ value … ] ) May be handled by subsequent tools

Constraints: “&” n n globusrun -o -r belle. anu. edu. au Constraints: “&” n n globusrun -o -r belle. anu. edu. au "&(executable=/bin/date)" For example: & (count>=5) (count<=10) (max_time=240) (memory>=64) (executable=myprog) “Create 5 -10 instances of myprog, each on a machine with at least 64 MB memory that is available to me for 4 hours” 33

Running job as batch job n n globusrun -b -r belle. anu. edu. au Running job as batch job n n globusrun -b -r belle. anu. edu. au '&(executable=/bin/date)(stdout=filename)' It prints a "handle" that you can use to interrogate the job while it is running: n n https: //belle. anu. edu. au: 4029/288/1116418550/ > globusrun -status https: //belle. anu. edu. au: 4029/288/1116418550/ Check job status: Terminate job execution: n 34 > globusrun -kill https: //belle. anu. edu. au: 4029/288/1116418550/

Disjunction: “|” n n n 35 For example: & (executable=myprog) ( | (&(count=5)(memory>=64)) (&(count=10)(memory>=32))) Disjunction: “|” n n n 35 For example: & (executable=myprog) ( | (&(count=5)(memory>=64)) (&(count=10)(memory>=32))) Create 5 instances of myprog on a machine that has at least 64 MB of memory, or 10 instances on a machine with at least 32 MB of memory

Multirequest: “+” n A multi-request allows us to specify multiple resource needs, for example Multirequest: “+” n A multi-request allows us to specify multiple resource needs, for example + (& (count=5)(memory>=64) (executable=p 1)) (&(network=atm) (executable=p 2)) n n n 36 Execute 5 instances of p 1 on a machine with at least 64 M of memory Execute p 2 on a machine with an ATM connection Multirequests are central to co-allocation

Job Submission Interfaces n Command line programs for job submission n n globus-job-run: Interactive Job Submission Interfaces n Command line programs for job submission n n globus-job-run: Interactive jobs globus-job-submit: Batch/offline jobs globusrun: Flexible scripting infrastructure Other High Level Interfaces n General purpose n n Application specific n 37 Nimrod-G, Condor-G, Gridbus Broker, PBS, etc Web portals

globus-job-run n n For running of interactive jobs Additional functionality beyond rsh n Ex: globus-job-run n n For running of interactive jobs Additional functionality beyond rsh n Ex: Run 2 process job w/ executable staging globus-job-run -: host –np 2 –s myprog arg 1 arg 2 n Ex: Run 5 processes across 2 hosts globus-job-run -: host 1 –np 2 –s myprog. linux arg 1 -: host 2 –np 3 –s myprog. aix arg 2 n For list of arguments run: globus-job-run -help 38

globus-job-submit n For running of batch/offline jobs n globus-job-submit n n n 39 Submit globus-job-submit n For running of batch/offline jobs n globus-job-submit n n n 39 Submit job Same interface as globus-job-run Returns immediately globus-job-status globus-job-cancel globus-job-get-output globus-job-clean Check job status Cancel job Get job stdout/err Cleanup after job

Resource Brokers “Run a distributed interactive simulation involving 100, 000 entities” DIS-Specific Broker “Supercomputers Resource Brokers “Run a distributed interactive simulation involving 100, 000 entities” DIS-Specific Broker “Supercomputers providing 100 GFLOPS, 100 GB, < 100 msec latency” Supercomputer resource broker “Create a shared virtual space with participants X, Y, and Z” Collaborative environment-specific resource broker “Perform a parameter study involving 10, 000 separate trials” Parameter study specific broker ". . . " "Run SF-Express on 80 nodes” "Run SF-Express on 256 nodes” ". . . " “ 80 nodes on Argonne SP, 256 nodes on CIT Exemplar 300 nodes on NCSA O 2000” Argonne Resource Manager 40 Information Service Simultaneous start co-allocator “Run SF-Express on 300 nodes” CIT Resource Manager NCSA Resource Manager

Remote I/O and Data Access n n n 41 Tell GRAM to pull executable Remote I/O and Data Access n n n 41 Tell GRAM to pull executable from remote Access files from a remote location stdin/stdout/stderr from a remote location

What is GASS? n GASS file access API n n RSL extensions n n What is GASS? n GASS file access API n n RSL extensions n n n Replace open/close with globus_gass_open/close; read/write calls can then proceed directly URLs used to name executables, stdout, stderr Remote cache management utility Low-level APIs for specialized behaviors 42

GASS File Naming n URL encoding of resource names https: //quad. mcs. anl. gov: GASS File Naming n URL encoding of resource names https: //quad. mcs. anl. gov: 9991/~bester/myjob protocol n server address file name Other examples https: //pitcairn. mcs. anl. gov/tmp/input_dataset. 1 https: //pitcairn. mcs. anl. gov: 2222/. /output_data http: //www. globus. org/~bester/input_dataset. 2 n n Supports http & https Support ftp & gsiftp. 43

Example GASS Applications n n 44 On-demand, transparent loading of data sets Caching of Example GASS Applications n n 44 On-demand, transparent loading of data sets Caching of data sets Automatic staging of code and data to remote supercomputers (Near) real-time logging of application output to remote server

GASS File Access API n n Minimum changes to application globus_gass_open(), globus_gass_close() n n GASS File Access API n n Minimum changes to application globus_gass_open(), globus_gass_close() n n n 45 Same as open(), close() but use URLs instead of filenames Caches URL in case of multiple opens Return descriptors to files in local cache or sockets to remote server

GASS File Access API (cont) n Support for different access patterns n n 46 GASS File Access API (cont) n Support for different access patterns n n 46 Read-only (from local cache) Write-only (to local cache) Read-write (to/from local cache) Write-only, append (to remote server)

GRAM & GASS 1. 2. 3. 4. 5. Derive Contact String Build RSL string GRAM & GASS 1. 2. 3. 4. 5. Derive Contact String Build RSL string Startup GASS server Submit to request Return output 5 GASS server Command Line Args 3 1 Contact string 2 RSL string globus-job-run 47 5 5 4 5 stdout Host name program jobmanager 4 4 gatekeeper

Example: A Simple Broker n Select machines based on availability n n n Generate Example: A Simple Broker n Select machines based on availability n n n Generate RSL based on selection n n 48 Use MDS queries to get current host loads Look at output and figure out what machines to use globus-job-run -dumprsl can assist Execute globusrun, feeding it the RSL generated in previous step

GRAM Components Client MDS client API calls to locate resources MDS: Grid Index Info GRAM Components Client MDS client API calls to locate resources MDS: Grid Index Info Server Site boundary MDS client API calls to get resource info GRAM client API calls to MDS: Grid Resource Info Server request resource allocation and process creation. Query current status of resource GRAM client API state change callbacks Globus Security Local Resource Manager (e. g. , Infrastructure PBS, Condor, or OS-fork()) Allocate & Request create processes Job Manager Create Gatekeeper Parse RSL Library 49 Monitor & control Process

MDS: Monitoring and Discovery Service n n n General information infrastructure Locate and determine MDS: Monitoring and Discovery Service n n n General information infrastructure Locate and determine characteristics of resources Locate resources n n Determine resource characteristics n 50 Where are resources with required architecture, installed software, available capacity, network bandwidth, etc. ? What are the physical characteristics, connectivity, capabilities of a resource?

Examples of Useful Information n Characteristics of a compute resource n n Characteristics of Examples of Useful Information n Characteristics of a compute resource n n Characteristics of a network n n Bandwidth and latency, protocols, logical topology Characteristics of the Globus infrastructure n 51 IP address, software available, system administrator, networks connected to, OS version, load Hosts, resource managers

MDS n Store information in a distributed directories n n n Directory can be MDS n Store information in a distributed directories n n n Directory can be updated by n n Directory stored in collection of servers Each server optimized for particular function Information providers and tools Applications (i. e. , users) Backend tools which generate info on demand Information dynamically available to n n 52 Tools Applications

Directory Service Functions n White Pages n n Yellow Pages n n Look up Directory Service Functions n White Pages n n Yellow Pages n n Look up the IP number, amount of memory, etc. , associated with a particular machine Find all the computers of a particular class or with a particular property Temporary inconsistencies may be okay n n n 53 A distributed system may be imprecise about the state of a resource, until you actually use it Information is often used as “hints” Information itself can contain ttl, etc

GRAM Components MDS client API calls to locate resources Client MDS: Grid Index Info GRAM Components MDS client API calls to locate resources Client MDS: Grid Index Info Server Site boundary MDS client API calls to get resource info GRAM client API calls to MDS: request resource allocation and process creation. GRAM client API state change callbacks Globus Security Grid Resource Info Server Query current status of resource Local Resource Manager Infrastructure Request Create Gatekeeper Job Manager Parse RSL Library 54 Monitor & control Allocate & create processes Process

What users want ? n Grid Consumers n n n Execute jobs for solving What users want ? n Grid Consumers n n n Execute jobs for solving varying problem size and complexity Benefit by selecting and aggregating resources wisely Tradeoff timeframe and cost n n minimize expenses Grid Providers n n n Contribute (“idle”) resource for consumer jobs Benefit by maximizing resource utilization Tradeoff local requirements & market opportunity n 55 maximize return on investment

What’s Wrong with Cluster Methods ? n They use centralised policy that need n What’s Wrong with Cluster Methods ? n They use centralised policy that need n n n Too many heterogenous parameters n n n define system-wide performance matrix ? define common fabric management policy ? . . . “distributed computational economy” n n 56 complete state-information common fabric management policy or decentralised consensus-based policy. proved successful in human economies can leverage proven economic principles/techniques can regulate demand supply offers incentive (money? ) for being part of the grid!

Grid Economy: “Incentive” as a Design Parameter n Grids aim at exploiting synergies that Grid Economy: “Incentive” as a Design Parameter n Grids aim at exploiting synergies that result from cooperation of autonomous distributed entities. n n n 57 Creation of Virtual Organisations/Enterprises Resource sharing Aggregation of resources on demand. For this cooperation to be sustainable, all need to have (economic) incentive. Therefore, “incentive” mechanisms should be considered as one of key design parameters of Grid computing.

Gridbus Architecture Layer 58 Gridbus Architecture Layer 58

Gridbus and Complementary Grid Technologies Science Commerce … MPI Excell. Grid Brokers: Grid Economy Gridbus and Complementary Grid Technologies Science Commerce … MPI Excell. Grid Brokers: Grid Economy Alchemi Nordu. Grid Windows Gridscape Unicore … XGrid JVM Solaris Collaboratories Workflow Engine Nimrod-G Globus . NET Engineering Grid Storage Economy Condor Linux … IRIX Libra Core Grid Middleware Grid Market Directory Tomcat Mac OSF 1 CDB PDB Worldwide Grid User-Level Middleware (Grid Tools) Gridbus Data Broker SGE AIX X-Parameter Sweep Lang. Grid Exchange & Federation Grid Bank PBS … Grid Applications Portals G R I D S I M Grid Fabric Software Grid Fabric Hardware

Putting them All Together: On Demand Assembly of Services Application Code Explore data 1 Putting them All Together: On Demand Assembly of Services Application Code Explore data 1 Data Source Visual Application Composer Data + 10 ults fo Res t In Cos 2 Data Catalogue 6 Grid Resource Broker ASP Catalogue lts 9 8 Grid Service (GS) (Globus) 3 Grid Info Service 4 Job Data Replicator (GDMP) 5 Grid Market Directory 7 Alchemi Bill GS Cluster Scheduler PE Grid Service Provider (GSP) 60 (e. g. , CERN) CPU or PE GSP (e. g. , IBM) 12 Resu (Instruments/dis tributed sources) Cluster Scheduler PE GSP (e. g. , Uof. M) PE GTS GSP (e. g. , VPAC) 11 Gridbus Grid. Bank GSP (Accounting Service)

Grid Brokers n n Perform parameter sweep (bag of tasks) (utilizing distributed resources) within Grid Brokers n n Perform parameter sweep (bag of tasks) (utilizing distributed resources) within “T” hours or early and cost not exceeding $M. Three Options: n n n 61 Using pure Globus commands Build your own distributed app & scheduler Use Nimrod-G / Gridbus (Resource Broker)

Remote Execution Steps Choose Resource Transfer Input Files Set Environment GRID Start Process Pass Remote Execution Steps Choose Resource Transfer Input Files Set Environment GRID Start Process Pass Arguments Monitor Progress Read/Write Intermediate Files Transfer Output Files 62 Summary View Job View Event View

Grid Service Broker (GSB) n n Scheduling task farming (Data Grid apps) with static Grid Service Broker (GSB) n n Scheduling task farming (Data Grid apps) with static or dynamic parameter sweeps Employ computational economy for selection of services, depending on quality, cost, and availability, and users requirements (deadline, budget) n n n 63 A single window to manage & control experiment Programmable task farming engine Resource discovery and resource trading Transportation of data & sharing of results Accounting

Example Grid Schedulers n Nimrod-G - Monash University n n Condor-G – University of Example Grid Schedulers n Nimrod-G - Monash University n n Condor-G – University of Wisconsin n n Computational Grid & System centric Gridbus Broker – Melbourne University n 64 Computational Grid & Economic based Data Grid & Economic based

Key Steps in Grid Scheduling Phase I-Resource Discovery 1. Authorization Filtering 2. Application Definition Key Steps in Grid Scheduling Phase I-Resource Discovery 1. Authorization Filtering 2. Application Definition 3. Min. Requirement Filtering Phase III- Job Execution 6. Advance Reservation 7. Job Submission 8. Preparation Tasks Phase II - Resource Selection 4. Information Gathering 5. System Selection 65 9. Monitoring Progress 10 Job Completion 11. Clean-up Tasks