Presentation is loading. Please wait.

Presentation is loading. Please wait.

Topic Based Data Distribution in GSpace

Similar presentations


Presentation on theme: "Topic Based Data Distribution in GSpace"— Presentation transcript:

1 Topic Based Data Distribution in GSpace
SACC Software Architecture = Component + Coordination Giovanni Russello Department of Mathematics and Computing Science, Eindhoven University of Technology

2 Implementation Domain
Overview SACC project Separate functional and non-functional specification Weaving them into a component-based model via a correctness preserving transformation/refinement Specification Domain Implementation Domain Functionality Platform C Components Sound Transformation Coordination Platform Information Timing Constraints Observing the implementation and providing feedback / hardware-related info Implementing the component-based model, managing distribution of process/data, distributed scheduling

3 The Gamma basic data structure: the Multiset
Set with multiple occurrence of the same element Absence of any constraint or hierarchy imposition between its elements Supports/enables chaotic model of execution

4 Gamma Multiset Graphical Representation

5 The Gamma reaction structure
max : x, y  y  x  y R: condition A: action

6 A possible approach: Space-Based System
The Space acts like a repository to store and retrieve data All the same characteristics as the Multiset A natural parallel and distributed programming style Uncoupled communication in space and time - CBD benefits from minimizing dependencies

7 A Space-Based Java implementation : JavaSpaces
Java programming language extension Portability Free code availability

8 JavaSpace examples: entry: objects present in the space
write: to insert an entry in the space take: to retrieve and withdraw an entry from the space read: to retrieve a copy of an entry present in the space

9 Mapping the Gamma model onto JavaSpaces An Example
x = take(xTemplate); y = take(yTemplate); if( x  y ) write(y); else write(x); fi max : x, y  y  x  y

10 The JavaSpaces drawbacks
It is not distributed It is not Real Time It is expensive in terms of resources

11 Single Space Implementation
Space Server C 1 C 2 C 4 C 3 Network

12 Distributed Space Implementation
Advantages: Scalability: built into the architecture Reliability: no single point of failure Space Middleware C 1 Space Middleware C2 Space Middleware Cn ... Distributed Space Network

13 Our approach: GSpace Research hypothesis
Efficiency Higher efficiency through differentiated distribution policies Adaptability through Separation of concerns Independence between system functionality and data distribution joint work with Maarten van Steen

14 Initial Experiment Separate distribution policies from storage mechanism Compare differentiated distribution policies vs. single policy Compare distributed storage vs. centralized storage

15 GSpace Overview GSpace C1 Host1 Storage GSpace C3 Host2 Storage GSpace
Network

16 GSpace Conceptual

17 GSpace APIs: put to insert an element in the space
get to obtain an element from the space producer to declare that a component produces an element type consumer to declare that a component needs such a type of element

18 How to Map Distribution Policy with Datatype
Distribution Policies: Unreliable/Reliable & Push/Pull Associate a Distribution Policy with a datatype Distribute policy to each host (before system starts) Controller incorporates Policies into its local PolicyTable

19 Collaboration Diagram: Unreliable Push Model Policy - Put
Producer Component JavaSpace 8: overwrite(message) PolicyTable 2: getPolicy(messageType) Controller 1: put(message) UnrPushPolicyManager 7: processing(message) UnrPushPolicyManager 3: put(message) AddressTable 4: getAddresses(messageType) PolicyTable 6: getPolicy(messageType) Communicator 5: sendUdp(message, addresses) UdpReceiver Flush the message over the network

20 Collaboration Diagram: Unreliable Push Model Policy - Get
Consumer Component PolicyTable 2: getPolicy(messageType) Controller 1: get(messageTemplate) UnrPushPolicyManager 3: get(messageTemplate) JavaSpace 4: take(messageTemplate)

21 Collaboration Diagram: Reliable Pull Model Policy - Put
Producer Component PolicyTable 2: getPolicy(messageType) Controller 1: put(message) RelPullPolicyManager 3: put(message) JavaSpace 4: overwrite(message)

22 Collaboration Diagram: Reliable Pull Model Policy - Get
Consumer Component JavaSpace 8: take(messageTemplate) Controller 1: get(messageTemplate) PolicyTable 2: getPolicy(messageType) RelPullPolicyManager 7: processing(messageTemplate) RelPullPolicyManager 3: get(messageTemplate) AddressTable 4: getAddresses(messageType) PolicyTable 6: getPolicy(messageType) Communicator 5: sendReceiveTcp(messageTemplate, addresses) 9: sendBack(message) TcpReceiver Send the message over the network

23 A Case Study: Traffic Management
Framework Overview Aggregator Computation Unit Display Road Sensors

24 A Case Study: Traffic Management
Framework Implementation in GSpace

25 A Case Study: Traffic Management
Framework Implementation in JavaSpace

26 Case Study Result: GSpace Policy Setting1
Signal Aggregator Computation Unit Display 1sec Reliable Push Reliable Push Reliable Push Average Time: 103 millisec

27 Case Study Graphic: GSpace Policy Setting1

28 Case Study Result : GSpace Policy Setting2
Signal Aggregator Computation Unit Display 1sec Reliable Pull Reliable Push Reliable Push Average Time: 75.5 millisec

29 Case Study Graphic: GSpace Policy Setting2

30 Case Study Result: JavaSpace
Signal JavaSpace Aggregator Computation Unit Display 1sec Average Time: 140 millisec

31 Case Study Graphic: JavaSpace

32 Result and comparison: GSpace vs. JavaSpace
GSpace performs well against JavaSpace despite the fact that is in a prototype stage It is distributed It offers support for different distribution policies

33 Concluding Remarks & Future Work
A platform for experimentation with different distribution policies is available The early results are encouraging Mechanisms for providing timeliness guarantees Integrating the scheduling & timing constraints Mechanisms for feedback performance information


Download ppt "Topic Based Data Distribution in GSpace"

Similar presentations


Ads by Google