Userdriven resource selection in GRID superscalar Last developments

  • Slides: 25
Download presentation
User-driven resource selection in GRID superscalar Last developments and future plans in the framework

User-driven resource selection in GRID superscalar Last developments and future plans in the framework of Core. GRID Rosa M. Badia Grid and Clusters Manager Barcelona Supercomputing Center http: //www. coregrid. net rosa. m. badia@bsc. es

Outline 1. 2. 3. 4. 5. GRID superscalar overview User defined cost and constraints

Outline 1. 2. 3. 4. 5. GRID superscalar overview User defined cost and constraints interface Deployment of GRID superscalar applications Run-time resource selection Plans for Core. GRID European Research Network on Foundations, Software Infrastructures and Applications for large scale distributed, GRID and Peer-to-Peer Technologies 2

1. GRID superscalar overview Programming environment for the Grid Goals: – Grid as transparent

1. GRID superscalar overview Programming environment for the Grid Goals: – Grid as transparent as possible to the programmer Approach – Sequential programming (small changes from original code) – Specification of the Grid tasks – Automatic code generation to build Grid applications – Underlying run-time (resource, file, job management) European Research Network on Foundations, Software Infrastructures and Applications for large scale distributed, GRID and Peer-to-Peer Technologies 3

1. GRID superscalar overview: interface GS_On(); for (int i = 0; i < MAXITER;

1. GRID superscalar overview: interface GS_On(); for (int i = 0; i < MAXITER; i++) { new. BWd = Generate. Random(); subst (reference. CFG, new. BWd, new. CFG); dimemas (new. CFG, trace. File, Dimemas. OUT); post (new. BWd, Dimemas. OUT, Final. OUT); if (i % 3 == 0) Display(Final. OUT); } fd = GS_Open(Final. OUT, R); printf("Results file: n"); present (fd); GS_Close(fd); GS_Off(); European Research Network on Foundations, Software Infrastructures and Applications for large scale distributed, GRID and Peer-to-Peer Technologies 4

1. GRID superscalar overview: interface void dimemas(in File new. CFG, in File trace. File,

1. GRID superscalar overview: interface void dimemas(in File new. CFG, in File trace. File, out File Dimemas. OUT) { char command[500]; putenv("DIMEMAS_HOME=/usr/local/cepba-tools"); sprintf(command, "/usr/local/cepba-tools/bin/Dimemas -o %s %s", Dimemas. OUT, new. CFG ); GS_System(command); } void display(in File toplot) { char command[500]; sprintf(command, ". /display. sh %s", toplot); GS_System(command); } European Research Network on Foundations, Software Infrastructures and Applications for large scale distributed, GRID and Peer-to-Peer Technologies 5

1. GRID superscalar overview: interface MC { void subst (in File reference. CFG, in

1. GRID superscalar overview: interface MC { void subst (in File reference. CFG, in double new. BW, out File new. CFG); void dimemas (in File new. CFG, in File trace. File, out File Dimemas. OUT); void post (in File new. CFG, in File Dimemas. OUT, inout File Final. OUT); void display (in File toplot) }; European Research Network on Foundations, Software Infrastructures and Applications for large scale distributed, GRID and Peer-to-Peer Technologies 6

1. GRID superscalar overview: code generation app. idl gsstubgen master app. c worker app-stubs.

1. GRID superscalar overview: code generation app. idl gsstubgen master app. c worker app-stubs. c app. h app-worker. c app-functions. c European Research Network on Foundations, Software Infrastructures and Applications for large scale distributed, GRID and Peer-to-Peer Technologies 7

1. GRID superscalar overview: behaviour for (int i = 0; i < MAXITER; i++)

1. GRID superscalar overview: behaviour for (int i = 0; i < MAXITER; i++) { new. BWd = Generate. Random(); substitute (“nsend. cfg”, new. BWd, “tmp. cfg”); dimemas (“tmp. cfg”, “trace. trf”, “output. txt”); postprocess (new. BWd, “output. txt”, “final. txt”); if(i % 3 == 0) display(“final. txt”); } T 10 T 20 T 40 T 30 T 50 T 11 T 21 T 41 T 31 T 51 T 12 … European Research Network on Foundations, Software Infrastructures and Applications for large scale distributed, GRID and Peer-to-Peer Technologies 8

1. GRID superscalar overview: runtime features Data dependence analysis Task scheduling File renaming Task

1. GRID superscalar overview: runtime features Data dependence analysis Task scheduling File renaming Task submission Shared disks management Checkpointing at task level File locality exploitation Exception handling Resource brokering Current version over Globus 2. x, using the API File transfer, security, … provided by Globus Ongoing developments of versions: – Ninf-g 2 – ssh/scp – GT 4 European Research Network on Foundations, Software Infrastructures and Applications for large scale distributed, GRID and Peer-to-Peer Technologies 9

2. User defined cost and constraints interface app. idl gsstubgen worker master app. c

2. User defined cost and constraints interface app. idl gsstubgen worker master app. c app_constraints. cc app-stubs. c app. h app-worker. c app-functions. c app_constraints_wrapper. cc app_constraints. h European Research Network on Foundations, Software Infrastructures and Applications for large scale distributed, GRID and Peer-to-Peer Technologies 10

2. User defined cost and constraints interface File app_constraints. cc contains the interface of

2. User defined cost and constraints interface File app_constraints. cc contains the interface of functions for – Resource constraints specification – Performance cost estimation Sample default functions: string Subst_constraints(file reference. CFG, double seed, file new. CFG) { string constraints = ""; return constraints; } double Subst_cost(file reference. CFG, double seed, file new. CFG) { return 1. 0; } European Research Network on Foundations, Software Infrastructures and Applications for large scale distributed, GRID and Peer-to-Peer Technologies 11

2. User defined cost and constraints interface Users can edit and specify constraints and

2. User defined cost and constraints interface Users can edit and specify constraints and performance cost for each function – Constraints syntax: Condor Class. Ads – Performance cost syntax: pure C/C++ string Dimem_constraints(file cfg. File, file trace. File) { return "(member("Dimemas", other. Soft. Name. List) && other. Op. Sys == "Linux" && other. Mem > 1024 )" } double Dimem_cost(file cfg. File, file trace. File) { double complexity, time; complexity = 10. 0 * num_processes (trace. File) + 3. 0 * no_p_to_p (trace. File) + no_collectives (trace. File) + no_machines(cfg. File); time = complexity / GS_GFlops(); return(time); } European Research Network on Foundations, Software Infrastructures and Applications for large scale distributed, GRID and Peer-to-Peer Technologies 12

3. Deployment of GRID superscalar applications Java based GUI Allows GRID resources specification: host

3. Deployment of GRID superscalar applications Java based GUI Allows GRID resources specification: host details, libraries location… Selection of Grid configuration checking process: – Aliveness of host (ping) – Globus service is checked by submitting a simple test – Sends a remote job that copies the code needed in the worker, and compiles it Automatic deployment – Sends and compiles code in the remote workers and the master Configuration file generation European Research Network on Foundations, Software Infrastructures and Applications for large scale distributed, GRID and Peer-to-Peer Technologies 13

3. Deployment of GRID superscalar applications Resource specification (by Grid administrator) – Only one

3. Deployment of GRID superscalar applications Resource specification (by Grid administrator) – Only one time – description of the GRID resources stored in hidden xml file European Research Network on Foundations, Software Infrastructures and Applications for large scale distributed, GRID and Peer-to-Peer Technologies 14

3. Deployment of GRID superscalar applications Project specification (by user) – Selection of hosts

3. Deployment of GRID superscalar applications Project specification (by user) – Selection of hosts Afterwards application is automatically deployed A project configuration xml file is generated European Research Network on Foundations, Software Infrastructures and Applications for large scale distributed, GRID and Peer-to-Peer Technologies 15

4. Runtime resource selection Runtime evaluation of the functions – Constraints and performance cost

4. Runtime resource selection Runtime evaluation of the functions – Constraints and performance cost functions dynamically drive the resource selection When an instance of a function is ready for execution – Constraint function is evaluated using Class. Add library to match resource Class. Adds with task Class. Adds – Performance cost function used to estimate the ellapsed time of the function (ET) European Research Network on Foundations, Software Infrastructures and Applications for large scale distributed, GRID and Peer-to-Peer Technologies 16

4. Runtime resource selection For those resources r that meet constraints FT= File transfer

4. Runtime resource selection For those resources r that meet constraints FT= File transfer time to resource r ET = Execution time of task on resource r European Research Network on Foundations, Software Infrastructures and Applications for large scale distributed, GRID and Peer-to-Peer Technologies 17

4. Runtime resource selection: call sequence app. c app-functions. c Local. Host European Research

4. Runtime resource selection: call sequence app. c app-functions. c Local. Host European Research Network on Foundations, Software Infrastructures and Applications for large scale distributed, GRID and Peer-to-Peer Technologies 18

4. Runtime resource selection: call sequence app. c app-stubs. c GRID superscalar runtime GT

4. Runtime resource selection: call sequence app. c app-stubs. c GRID superscalar runtime GT 2 app-worker. c app_constraints_wrapper. cc app-functions. c app_constraints. cc Remote. Host Local. Host European Research Network on Foundations, Software Infrastructures and Applications for large scale distributed, GRID and Peer-to-Peer Technologies 19

5. Plans for Core. GRID WP 7 application manager Grid-unaware Application Integrated toolkit PSE

5. Plans for Core. GRID WP 7 application manager Grid-unaware Application Integrated toolkit PSE user portal resource management application meta-data repository steering Grid-aware application Runtime environment steering/tuning component monitoring services app-level info-cache information services European Research Network on Foundations, Software Infrastructures and Applications for large scale distributed, GRID and Peer-to-Peer Technologies 20

5. Plans for Core. GRID task 7. 3 Leader: UPC Participants: INRIA, USTUTT, UOW,

5. Plans for Core. GRID task 7. 3 Leader: UPC Participants: INRIA, USTUTT, UOW, UPC, VUA, CYFRONET • Objectives: – Specification and development of an Integrated Toolkit for the Generic platform European Research Network on Foundations, Software Infrastructures and Applications for large scale distributed, GRID and Peer-to-Peer Technologies 21

5. Plans for Core. GRID task 7. 3 The integrated toolkit will – provide

5. Plans for Core. GRID task 7. 3 The integrated toolkit will – provide means for simplifying the development of Grid applications – allow executing the applications in the Grid in a transparent way – optimize the performance of the application European Research Network on Foundations, Software Infrastructures and Applications for large scale distributed, GRID and Peer-to-Peer Technologies 22

5. Plans for Core. GRID task 7. 3: subtasks Design of a component oriented

5. Plans for Core. GRID task 7. 3: subtasks Design of a component oriented integrated toolkit – Applications basic requirements will be mapped to components – based on the generic platform (task 7. 1) Definition of the interface and requirements with the mediator components – Tightly performed with the definition of the mediator components (task 7. 2) Component communication mechanisms – Enhancement of the communication of integrated toolkit application components European Research Network on Foundations, Software Infrastructures and Applications for large scale distributed, GRID and Peer-to-Peer Technologies 23

5. Plans for Core. GRID task 7. 3 Ongoing work – Study of partners

5. Plans for Core. GRID task 7. 3 Ongoing work – Study of partners projects – Definition of Roadmap – Integration PACX-MPI Configuration manager with GRID superscalar deployment center – Specification of GRID superscalar based on the component model European Research Network on Foundations, Software Infrastructures and Applications for large scale distributed, GRID and Peer-to-Peer Technologies 24

Summary GRID superscalar has proven to be a good solution for programming grid-unaware applications

Summary GRID superscalar has proven to be a good solution for programming grid-unaware applications New enhancements for resource selection are very promising Examples of extensions – Cost driven resource selection – Limitation of data movement (confidentiality preservation) Ongoing work in Core. GRID to integrate with component-based platforms and other partners tools European Research Network on Foundations, Software Infrastructures and Applications for large scale distributed, GRID and Peer-to-Peer Technologies 25