Topic Based Data Distribution in GSpace

Slides:



Advertisements
Similar presentations
MicroKernel Pattern Presented by Sahibzada Sami ud din Kashif Khurshid.
Advertisements

A component- and message-based architectural style for GUI software
U NIVERSITY OF M ASSACHUSETTS, A MHERST Department of Computer Science Emery Berger University of Massachusetts Amherst Operating Systems CMPSCI 377 Lecture.
CLOUD COMPUTING AN OVERVIEW & QUALITY OF SERVICE Hamzeh Khazaei University of Manitoba Department of Computer Science Jan 28, 2010.
Using DSVM to Implement a Distributed File System Ramon Lawrence Dept. of Computer Science
Lecturer: Sebastian Coope Ashton Building, Room G.18 COMP 201 web-page: Lecture.
Active Messages: a Mechanism for Integrated Communication and Computation von Eicken et. al. Brian Kazian CS258 Spring 2008.
Establishing the overall structure of a software system
Client/Server Architecture
Chapter 1 Introduction to Databases
Messaging Technologies Group: Yuzhou Xia Yi Tan Jianxiao Zhai.
Tanenbaum & Van Steen, Distributed Systems: Principles and Paradigms, 2e, (c) 2007 Prentice-Hall, Inc. All rights reserved DISTRIBUTED SYSTEMS.
Computer System Architectures Computer System Software
Chapter 7: Architecture Design Omar Meqdadi SE 273 Lecture 7 Department of Computer Science and Software Engineering University of Wisconsin-Platteville.
DISTRIBUTED SYSTEMS Principles and Paradigms Second Edition ANDREW S
Distributed Systems 1 CS- 492 Distributed system & Parallel Processing Sunday: 2/4/1435 (8 – 11 ) Lecture (1) Introduction to distributed system and models.
Cloud Computing 1. Outline  Introduction  Evolution  Cloud architecture  Map reduce operation  Platform 2.
HBase A column-centered database 1. Overview An Apache project Influenced by Google’s BigTable Built on Hadoop ▫A distributed file system ▫Supports Map-Reduce.
GT Components. Globus Toolkit A “toolkit” of services and packages for creating the basic grid computing infrastructure Higher level tools added to this.
Architecture for a Database System
©Ian Sommerville 2000 Software Engineering, 6th edition. Chapter 10Slide 1 Architectural Design l Establishing the overall structure of a software system.
Architectures of distributed systems Fundamental Models
Ocean Observatories Initiative Data Management (DM) Subsystem Overview Michael Meisinger September 29, 2009.
Advanced Computer Networks Topic 2: Characterization of Distributed Systems.
Message Oriented Communication Prepared by Himaja Achutha Instructor: Dr. Yanqing Zhang Georgia State University.
NA-MIC National Alliance for Medical Image Computing UCSD: Engineering Core 2 Portal and Grid Infrastructure.
Tanenbaum & Van Steen, Distributed Systems: Principles and Paradigms, 2e, (c) 2007 Prentice-Hall, Inc. All rights reserved DISTRIBUTED SYSTEMS.
Architecture View Models A model is a complete, simplified description of a system from a particular perspective or viewpoint. There is no single view.
Distributed systems (NET 422) Prepared by Dr. Naglaa Fathi Soliman Princess Nora Bint Abdulrahman University College of computer.
Tanenbaum & Van Steen, Distributed Systems: Principles and Paradigms, 2e, (c) 2007 Prentice-Hall, Inc. All rights reserved DISTRIBUTED SYSTEMS.
Store and exchange data with colleagues and team Synchronize multiple versions of data Ensure automatic desktop synchronization of large files B2DROP is.
AMSA TO 4 Advanced Technology for Sensor Clouds 09 May 2012 Anabas Inc. Indiana University.
Towards a High Performance Extensible Grid Architecture Klaus Krauter Muthucumaru Maheswaran {krauter,
J2EE Platform Overview (Application Architecture)
The Role of Reflection in Next Generation Middleware
Introducing OpenLMIS 13 December 2016.
Java Distributed Object System
Separation of Concerns in the Design of Distributed Systems
The Client/Server Database Environment
WEB SERVICES.
IS301 – Software Engineering Dept of Computer Information Systems
Definition of Distributed System
CORBA Alegria Baquero.
DISTRIBUTED SYSTEMS Principles and Paradigms Second Edition ANDREW S
Distribution and components
#01 Client/Server Computing
Distributed System Concepts and Architectures
Chapter 2: Database System Concepts and Architecture
Software Connectors – A Taxonomy Approach
Data, Databases, and DBMSs
CORBA Alegria Baquero.
Database Systems Chapter 1
Lecture 1: Multi-tier Architecture Overview
Architectures of distributed systems Fundamental Models
Distributed computing deals with hardware
Analysis models and design models
Distributed computing
Architectures of distributed systems Fundamental Models
Chapter 2: Operating-System Structures
A GUI Based Aid for Generation of Code-Frameworks of TMOs
Architectures of distributed systems
Software Analysis.
Introduction To Distributed Systems
Database System Concepts and Architecture
Architectures of distributed systems Fundamental Models
Knowledge Sharing Mechanism in Social Networking for Learning
Chapter 2: Operating-System Structures
#01 Client/Server Computing
L. Glimcher, R. Jin, G. Agrawal Presented by: Leo Glimcher
Presentation transcript:

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

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

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

Gamma Multiset Graphical Representation

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

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

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

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

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

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

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

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

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

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

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

GSpace Conceptual

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

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

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

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)

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)

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

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

A Case Study: Traffic Management Framework Implementation in GSpace

A Case Study: Traffic Management Framework Implementation in JavaSpace

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

Case Study Graphic: GSpace Policy Setting1

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

Case Study Graphic: GSpace Policy Setting2

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

Case Study Graphic: JavaSpace

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

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