Presentation is loading. Please wait.

Presentation is loading. Please wait.

Typed Group Communication & Object-Oriented SPMD Laurent Baduel.

Similar presentations


Presentation on theme: "Typed Group Communication & Object-Oriented SPMD Laurent Baduel."— Presentation transcript:

1 Typed Group Communication & Object-Oriented SPMD Laurent Baduel

2 Context & Objectives n Traditional use of group Fault tolerance, replication, database Applicative groups, parallelism n Our objectives Collaborative applications More efficient communication Simplicity and structuring

3 Design n Idea / Goals Manipulate groups as ‘simple’ Java objects Maintain the ‘dot’ notation Code reusability n Creation of typed group Group members have a common type ancestor public class A { … } A gA = ProActive.newGroup(“A”,params);

4 Group communication n Remote method invocation on a group n Multi-unicast approach Based on the ProActive communication mechanism Replication of N ‘single’ communication Each communication is adapted Preserve the rendez-vous

5 Group : the result of a Group Communication n Result are dynamically built and updated B gB = gB.foo(); n Ranking order property n Synchronization primitive ProActive.waitOne(gb); ProActive.waitAll(gb); n Predicates ProActive.allArrived(gb); ProActive.allAwaited(gb);

6 Construction of a result group B A B gB = gA.foo(); Typed group Object (Java or active) creation...

7 Two representations Management operations: add, remove, … n 2 representations (views) of a same group Typed group Group of object n Ability to switch between those 2 views Group groupA = ProActive.getGroup(gA); groupA.add(new A()); groupA.add(new B()); // B herits from A A gA2 = (A) groupA.getGroupByType();

8 Two representations: schema Management of the group Functional use of the group Group of objects groupA Typed group gA getGroupByType static method of class ProActive getGroup method of class Group Real Impl.

9 Broadcast or scatter n Broadcast is the default behavior n Scatter is also possible use a group as parameter Scattered depends on rankings gA.bar(gC); // broadcast gC ProActive.setScatterGroup(gC); ga.bar(gC); // scatter gC AA 1 2 C 12 C C 1 1 2 2 C 1 2 broadcastscatter

10 Hierarchical groups n Group contains groups Add a typed group into a group n Benefit of the network structure A A

11 Features of groups n Optimization Parallel calls within a group (adaptive threadpool) Sequential or parallel treatment Single serialization n Flexibility: Active group A group becomes remotely accessible Modifiable service policy

12 Object-Oriented SPMD n Motivation Cluster / GRID computing SPMD programming notoriety n Able to express most of MPI’s collective communications broadcast scatter gather reduce allscatter allgather

13 SPMD group A n Creation A ag = ProActive.newSPMDGroup(“A”,...);

14 API n Topologies Table, Ring, Plan, Torus, Cube, … Open API Neighborhood n Barrier Global Neighbor-based Method-based

15 Global barrier A n Involves all group member ProActive.barrier(“barrierID”);

16 Neighbor-based barrier A n Involves only the caller and it neighbors ProActive.barrier(“barrierID”,topo.neighbors());

17 Method-based Barrier A n Involves only the caller no additional messages ProActive.barrier({“foo”,“bar”,“gee”});

18 ProActive OO SPMD n A simple communication model Small API No “Receive” but data flow synchronization No message passing but RPC User defined data structure (Object) SPMD groups are dynamic Efficient and dedicated barrier

19 Group communication is now a key feature of ProActive n Used in many applications and other features Jem3D Chat Multiport component Peer to peer Jacobi


Download ppt "Typed Group Communication & Object-Oriented SPMD Laurent Baduel."

Similar presentations


Ads by Google