Presentation is loading. Please wait.

Presentation is loading. Please wait.

COMP Superscalar: Bringing GRID superscalar and GCM together Enric Tejedor Universitat Politècnica de Catalunya V ProActive and GCM.

Similar presentations


Presentation on theme: "COMP Superscalar: Bringing GRID superscalar and GCM together Enric Tejedor Universitat Politècnica de Catalunya V ProActive and GCM."— Presentation transcript:

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

2 V ProActive and GCM User Group. October 21 st 2008, Sophia Antipolis (France) Outline Introduction Grid Component Model GRID superscalar Programming model Runtime operation Initialisation Task processing Finalisation and error handling Conclusions

3 V ProActive and GCM User Group. October 21 st 2008, Sophia Antipolis (France) 1. Introduction

4 V ProActive and GCM User Group. October 21 st 2008, Sophia Antipolis (France) 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 V ProActive and GCM User Group. October 21 st 2008, Sophia Antipolis (France) 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 V ProActive and GCM User Group. October 21 st 2008, Sophia Antipolis (France) Componentised runtime

7 V ProActive and GCM User Group. October 21 st 2008, Sophia Antipolis (France) 2. Programming model

8 V ProActive and GCM User Group. October 21 st 2008, Sophia Antipolis (France)... for (i=0; i<N; i++){ T1 (data1, data2); T2 (data4, data5); T3 (data2, data5, data6); T4 (data7, data8); T5 (data6, data8, data9); }... Sequential Application T1 0 T2 0 T3 0 T4 0 T5 0 T1 1 T2 1 T3 1 T4 1 T5 1 T1 2 … Resource 1 Resource 2 Resource 3 Resource N...... Task graph creation based on data precedence Task selection + parameters direction (input, output, inout)‏ Scheduling, data transfer, task execution Synchronization, results transfer Parallel Resources (multicore,SMP, cluster, grid)‏ Programming model

9 V ProActive and GCM User Group. October 21 st 2008, Sophia Antipolis (France) initialize(f1); for (int i = 0; i < 2; i++) { genRandom(f2); add(f1, f2); } print(f2); Java application 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")... } Task constraints Parameter metadata Implementation Java interface

10 V ProActive and GCM User Group. October 21 st 2008, Sophia Antipolis (France) Usage example: original code initialize(f1); for (int i = 0; i < 2; i++) { genRandom(f2); add(f1, f2); } print(f1);

11 V ProActive and GCM User Group. October 21 st 2008, Sophia Antipolis (France) PM steps (1): selecting the tasks public interface SumItf { @ClassName(“example.Sum") @MethodConstraints(OSType = "Linux") void genRandom( @ParamMetadata(type = Type.FILE, direction = Direction.OUT) String f ); @ClassName(“example.Sum") @MethodConstraints(processorArch = "Intel", processorSpeed = 1.8f) void add( @ParamMetadata(type = Type.FILE, direction = Direction.INOUT) String f1, @ParamMetadata(type = Type.FILE, direction = Direction.IN) String f2 ); } Task constraints Parameter metadata Implementation

12 V ProActive and GCM User Group. October 21 st 2008, Sophia Antipolis (France) PM steps (2a): using API calls initialize(f1); COMPSs css = new COMPSsImpl(); css.start(); for (int i = 0; i < 2; i++) { genRandom(f2); add(f1, f2); } String resF2 = css.openFile(f2, OpenMode.READ); print(resF2); css.stop(true);

13 V ProActive and GCM User Group. October 21 st 2008, Sophia Antipolis (France) PM steps(2b): no changes! initialize(f1); for (int i = 0; i < 2; i++) { genRandom(f2); add(f1, f2); } print(f1);

14 V ProActive and GCM User Group. October 21 st 2008, Sophia Antipolis (France) Custom Java Class Loader Java app code COMPSs runtime Annotated interface Javassist inserts calls to Custom Loader uses input

15 V ProActive and GCM User Group. October 21 st 2008, Sophia Antipolis (France) 3. Runtime operation

16 V ProActive and GCM User Group. October 21 st 2008, Sophia Antipolis (France) 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

17 V ProActive and GCM User Group. October 21 st 2008, Sophia Antipolis (France) Initialization Multicast invocation Forwarded to all subcomponents TATS JM FM FIPFTM init()

18 V ProActive and GCM User Group. October 21 st 2008, Sophia Antipolis (France) Initialization Multicast invocation Reduction of return values TATS JM FM FIPFTM Reduction

19 V ProActive and GCM User Group. October 21 st 2008, Sophia Antipolis (France) Task processing (1) Application submits task Task Analyser receives the request TATSJM FM FIPFTM executeTask(…) T1 genRd T3 genRd T2 add T4 add f1 f2

20 V ProActive and GCM User Group. October 21 st 2008, Sophia Antipolis (France) Task processing (2) TA JM FM FIPFTM TS File Information Provider is contacted File accesses of the task are registered executeTask(…)

21 V ProActive and GCM User Group. October 21 st 2008, Sophia Antipolis (France) Task processing (3) Task Analyser discovers dependencies Dependency-free tasks are sent for scheduling TATSJM FM FIPFTM executeTask(…)

22 V ProActive and GCM User Group. October 21 st 2008, Sophia Antipolis (France) Task processing (4) Task Scheduler decides where to execute tasks Job Manager is informed of this decision TA TSJM FM FIPFTM executeTask(…) Scheduling algorithm Resource capabilitie s Task constraints

23 V ProActive and GCM User Group. October 21 st 2008, Sophia Antipolis (France) Task processing (5) Job Manager checks the necessary file transfers File Transfer Manager actually performs them TATSJM FM FIPFTM executeTask(…) GAT

24 V ProActive and GCM User Group. October 21 st 2008, Sophia Antipolis (France) Task processing (6) FTM informs of the end of transfers for a task Task Grid job, submitted for execution TATSJM FM FIPFTM executeTask(…) GAT

25 V ProActive and GCM User Group. October 21 st 2008, Sophia Antipolis (France) Task processing (7) Callback for the end of a job is received The notification is forwarded to the Task Analyser TATSJM FM FIPFTM executeTask(…) GAT

26 V ProActive and GCM User Group. October 21 st 2008, Sophia Antipolis (France) Opening a file JM FM FIPFTM TSTA Java Application … String ren = openFile(f); print(ren); … APIAPI Local host Remote host f10v6.IT

27 V ProActive and GCM User Group. October 21 st 2008, Sophia Antipolis (France) Error handling The COMPSs runtime could experience errors of different kinds (e.g. a job submission failure) Default response to an error: stopping the components But a structure of components cannot be stopped in any arbitrary order! C A LCC stopFc() B stopFc on B is never served!

28 V ProActive and GCM User Group. October 21 st 2008, Sophia Antipolis (France) Safe stopping process for the runtime COMPSs subcomponents have data dependencies Modification of the Life Cycle Controller Components stopped in a safe order: T S, T A, JM, FTM, FIP Otherwise, a deadlock could happen TA TSJM FM FIP FTM LCC

29 V ProActive and GCM User Group. October 21 st 2008, Sophia Antipolis (France) 4. Conclusions

30 V ProActive and GCM User Group. October 21 st 2008, Sophia Antipolis (France) 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

31 V ProActive and GCM User Group. October 21 st 2008, Sophia Antipolis (France) Thank you! Questions?


Download ppt "COMP Superscalar: Bringing GRID superscalar and GCM together Enric Tejedor Universitat Politècnica de Catalunya V ProActive and GCM."

Similar presentations


Ads by Google