Title: Topic Based Data Distribution in GSpace
1Topic Based Data Distribution in GSpace
SACC Software Architecture Component
Coordination
Giovanni Russello Department of Mathematics and
Computing Science, Eindhoven University of
Technology
2Overview 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
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
3The 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
5The Gamma reaction structure
max x, y ? y ? x ? y
A action
6A 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
7A Space-Based Java implementation JavaSpaces
- Java programming language extension
- Portability
- Free code availability
8JavaSpace 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
9Mapping the Gamma model onto JavaSpacesAn Example
- JavaSpaces
- x take(xTemplate)
- y take(yTemplate)
- if( x ? y )
- write(y)
- else
- write(x)
- write(y)
- fi
max x, y ? y ? x ? y
10The JavaSpaces drawbacks
- It is not distributed
- It is not Real Time
- It is expensive in terms of resources
11Single Space Implementation
12Distributed Space Implementation
- Advantages
- Scalability built into the architecture
- Reliability no single point of failure
13Our 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
14Initial Experiment
- Separate distribution policies from storage
mechanism - Compare differentiated distribution policies vs.
single policy - Compare distributed storage vs. centralized
storage
15GSpace Overview
16GSpace Conceptual
17GSpace 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
18How 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
UdpReceiver
Flush the message over the network
20Collaboration Diagram Unreliable Push Model
Policy - Get
Consumer Component
21Collaboration Diagram Reliable Pull Model Policy
- Put
Producer Component
22Collaboration Diagram Reliable Pull Model Policy
- Get
Consumer Component
9 sendBack(message)
TcpReceiver
Send the message over the network
23A Case Study Traffic Management
Framework Overview
Aggregator
Computation Unit
24A Case Study Traffic Management
Framework Implementation in GSpace
25A 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
27Case 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
32Result 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
33Concluding 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