1 / 25

COMP Superscalar: Bringing GRID superscalar and GCM together

COMP Superscalar: Bringing GRID superscalar and GCM together. Enric Tejedor Universitat Politècnica de Catalunya etejedor@ac.upc.edu. Rosa M. Badia Barcelona Supercomputing Center rosa.m.badia@bsc.es. V ProActive and GCM User Group, GridCOMP conference

thuong
Download Presentation

COMP Superscalar: Bringing GRID superscalar and GCM together

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. COMP Superscalar: Bringing GRID superscalar and GCM together Enric Tejedor Universitat Politècnica de Catalunya etejedor@ac.upc.edu Rosa M. Badia Barcelona Supercomputing Center rosa.m.badia@bsc.es V ProActive and GCM User Group, GridCOMP conference October 21, 2008. INRIA, Sophia Antipolis, France

  2. Outline • Introduction • Grid Component Model • GRID superscalar • Programming model • Runtime operation • Initialisation • Task processing • Finalisation and error handling • Conclusions

  3. 1. Introduction

  4. Basic concepts • The Grid Component Model (GCM) • CoreGRID NoE, GridCOMP • Distributed, based on Fractal, intended for the Grid • GRID superscalar • Framework to ease the development of Grid-unaware applications • Simple programming model: Grid as transparent as possible • Runtime that optimises the performance of the application (exploiting possible concurrency)

  5. A componentised Grid framework • GRID superscalar is suitable to benefit from the GCM features • Componentisation process: identify the inner functionalities of the runtime, and assign each one to a separate component • Result: COMP Superscalar, whose runtime gains in: • Reusability • Flexibility • Deployability • Separation of concerns • Ease of development

  6. Componentised runtime

  7. 2. Programming model

  8. T10 T20 T40 T30 T50 T11 T21 T41 T31 T51 T12 … Programming model Parallel Resources (multicore,SMP, cluster, grid)‏ Synchronization, results transfer Resource 1 Resource 2 Task selection + parameters direction (input, output, inout)‏ Sequential Application Resource 3 ... for (i=0; i<N; i++){ T1 (data1, data2); T2 (data4, data5); T3 (data2, data5, data6); T4 (data7, data8); T5 (data6, data8, data9); } ... . . . Resource N Scheduling, data transfer, task execution Task graph creation based on data precedence

  9. COMPSs programming model public interface SumItf { @ClassName(“example.Sum") @MethodConstraints(OSType = "Linux") void genRandom( @ParamMetadata(type = Type.FILE, direction = Direction.OUT) String f ); @ClassName(“example.Sum") ... } initialize(f1); for (int i = 0; i < 2; i++) { genRandom(f2); add(f1, f2); } print(f2); Java application Java interface Implementation Task constraints Parameter metadata

  10. Java app code Annotated interface input Custom Loader inserts calls to uses Javassist COMPSs runtime Custom Java Class Loader

  11. 3. Runtime operation

  12. Implementation details • Base technologies: • Java as programming language • ProActive: implementation of the GCM model, used to build the components • JavaGAT: used for job submission and file transfer

  13. Initialization • Multicast invocation • Forwarded to all subcomponents JM TA TS init() FM FIP FTM

  14. Initialization • Multicast invocation • Reduction of return values JM TA TS Reduction FM Reduction FIP FTM

  15. T3 genRd T1 genRd f1 f1 T2 add T4 add f2 Task processing (1) • Application submits task • Task Analyser receives the request TA TS JM executeTask(…) FM FIP FTM

  16. Task processing (2) • File Information Provider is contacted • File accesses of the task are registered JM TA TS executeTask(…) FM FIP FTM

  17. Task processing (3) • Task Analyser discovers dependencies • Dependency-free tasks are sent for scheduling TA TS JM executeTask(…) FM FIP FTM

  18. Task processing (4) • Task Scheduler decides where to execute tasks • Job Manager is informed of this decision Task constraints Resource capabilities TS JM TA Scheduling algorithm executeTask(…) FM FIP FTM

  19. Task processing (5) • Job Manager checks the necessary file transfers • File Transfer Manager actually performs them TA TS JM executeTask(…) FM GAT FIP FTM

  20. Task processing (6) • FTM informs of the end of transfers for a task • Task Grid job, submitted for execution GAT TA TS JM executeTask(…) FM FIP FTM

  21. Task processing (7) • Callback for the end of a job is received • The notification is forwarded to the Task Analyser GAT TA TS JM executeTask(…) FM FIP FTM

  22. Safe stopping process for the runtime • COMPSs subcomponents have data dependencies • Modification of the Life Cycle Controller • Components stopped in a safe order: TS, TA, JM, FTM, FIP • Otherwise, a deadlock could happen LCC TA TA TS JM FM FIP FTM

  23. 4. Conclusions

  24. Conclusions • COMP Superscalar: componentised version of GRID superscalar • GCM-based • Hierarchical runtime: separation of concerns • Task scheduling, file and resource management • Straightforward programming model for Grid-unaware Java applications • Feedback about GCM-ProActive • Component distribution • Performance: no noticeable overhead for a medium number of tasks • Component composition and dynamic reconfiguration: Grid IDE

  25. Thank you!Questions?

More Related