TupleSpaces Revisited: Linda to TSpaces Ben Y. Zhao 13 July, 1998 UC Berkeley Computer Science Division.

Slides:



Advertisements
Similar presentations
An Introduction of Jini Technology Presenter: Carfield Yim, Gary Lam Date: 31-Jul-2002 How can JINI Technology Boost Our Business.
Advertisements

TSpaces Services Suite: Automating the Development and Management of Web Services Presenter: Kevin McCurley IBM Almaden Research Center Contact: Marcus.
Dr. Kalpakis CMSC 621, Advanced Operating Systems. Fall 2003 URL: Distributed System Architectures.
JavaSpaces and TSpaces Theresa Tamash CDA 5937 November 4, 2002.
JINI Shashwat Shriparv InfinitySoft.
Linda Coordination Language Presented by Tae Ki Kim
THE JINI TECHNOLOGY Alessio Zumbo
Using DSVM to Implement a Distributed File System Ramon Lawrence Dept. of Computer Science
The road to reliable, autonomous distributed systems
Distributed Processing, Client/Server, and Clusters
Distributed components
Chapter 16 Client/Server Computing Patricia Roy Manatee Community College, Venice, FL ©2008, Prentice Hall Operating Systems: Internals and Design Principles,
Technical Architectures
Notes to the presenter. I would like to thank Jim Waldo, Jon Bostrom, and Dennis Govoni. They helped me put this presentation together for the field.
Contiki A Lightweight and Flexible Operating System for Tiny Networked Sensors Presented by: Jeremy Schiff.
Software Engineering and Middleware: a Roadmap by Wolfgang Emmerich Ebru Dincel Sahitya Gupta.
Overview Distributed vs. decentralized Why distributed databases
Tuple Spaces and JavaSpaces CS 614 Bill McCloskey.
EEC-681/781 Distributed Computing Systems Lecture 3 Wenbing Zhao Department of Electrical and Computer Engineering Cleveland State University
McGraw-Hill/Irwin Copyright © 2007 by The McGraw-Hill Companies, Inc. All rights reserved. Chapter 17 Client-Server Processing, Parallel Database Processing,
1 Personal Activity Coordinator (PAC) Xia Hong UC Berkeley ISRG retreat 1/11/2000.
490dp Prelude I: Group Membership Prelude II: Team Presentations Tuples Robert Grimm.
Client-Server Processing and Distributed Databases
Web-based Portal for Discovery, Retrieval and Visualization of Earth Science Datasets in Grid Environment Zhenping (Jane) Liu.
Word Wide Cache Distributed Caching for the Distributed Enterprise.
Presented by Mark Miyashita
Parallel Programming Models Jihad El-Sana These slides are based on the book: Introduction to Parallel Computing, Blaise Barney, Lawrence Livermore National.
DNA REASSEMBLY Using Javaspace Sung-Ho Maeung Laura Neureuter.
January 26, Jim Waldo Copyright 1999 Sun Microsystems, Inc., all rights reserved.
Personal Activity Coordinator Shelley Zhuang Computer Science Division U.C. Berkeley Ericsson Workshop August 2000.
1 Moshe Shadmon ScaleDB Scaling MySQL in the Cloud.
January 26, Bob Scheifler Copyright 1999 Sun Microsystems, Inc., all rights reserved. Jini™ Lookup Service Bob Scheifler Senior Staff Engineer Sun.
JavaSpaces TM By Stephan Roorda Source: JavaSpaces specification.
Massively Distributed Database Systems - Distributed DBS Spring 2014 Ki-Joune Li Pusan National University.
Database Systems: Design, Implementation, and Management Tenth Edition Chapter 12 Distributed Database Management Systems.
Large-scale Incremental Processing Using Distributed Transactions and Notifications Daniel Peng and Frank Dabek Google, Inc. OSDI Feb 2012 Presentation.
P2P-Based Best Resolution Match Image Access, Retrieval and Delivery P Contreras, S Johnstone, F Murtagh CS, QUB.
IBM TSpaces Lab 1 Introduction. Summary TSpaces Overview Basic Definitions Basic primitive operations Reading/writing tuples in tuplespace HelloWorld.
Chapter 2: System Models. Objectives To provide students with conceptual models to support their study of distributed systems. To motivate the study of.
The Vesta Parallel File System Peter F. Corbett Dror G. Feithlson.
Client Call Back Client Call Back is useful for multiple clients to keep up to date about changes on the server Example: One auction server and several.
Distributed Systems Principles and Paradigms Chapter 12 Distributed Coordination-Based Systems 01 Introduction 02 Communication 03 Processes 04 Naming.
Coordination Models and Languages Part I: Coordination Languages and Linda Part II: Technologies based on Tuple space concept beyond Linda Part III: Comparison.
The Replica Location Service The Globus Project™ And The DataGrid Project Copyright (c) 2002 University of Chicago and The University of Southern California.
Hwajung Lee.  Interprocess Communication (IPC) is at the heart of distributed computing.  Processes and Threads  Process is the execution of a program.
Computer Science Lecture 19, page 1 CS677: Distributed OS Last Class: Fault tolerance Reliable communication –One-one communication –One-many communication.
JINI Coordination-Based System By Anthony Friel * David Kiernan * Jasper Wood.
Jini Architecture Introduction System Overview An Example.
ProActive Infrastructure Eric Brewer, David Culler, Anthony Joseph, Randy Katz Computer Science Division U.C. Berkeley ninja.cs.berkeley.edu Active Networks.
© FPT SOFTWARE – TRAINING MATERIAL – Internal use 04e-BM/NS/HDCV/FSOFT v2/3 JSP Application Models.
REST By: Vishwanath Vineet.
Chapter 7: Consistency & Replication IV - REPLICATION MANAGEMENT By Jyothsna Natarajan Instructor: Prof. Yanqing Zhang Course: Advanced Operating Systems.
Object storage and object interoperability
Enterprise Computing with Jini Technology Mark Stang and Stephen Whinston Jan / Feb 2001, IT Pro presented by Alex Kotchnev.
January 26, Ken Arnold Copyright 1999 Sun Microsystems, Inc., all rights reserved.
Computer Science Lecture 19, page 1 CS677: Distributed OS Last Class: Fault tolerance Reliable communication –One-one communication –One-many communication.
Distributed and Parallel Processing George Wells.
Pervasive Computing MIT SMA 5508 Spring 2006 Larry Rudolph 1 Publish & Subscribe Larry Rudolph May 3, 2006 SMA 5508 & MIT
Distributed Coordination-Based Systems
Java Distributed Object System
Module 11: File Structure
Open Source distributed document DB for an enterprise
Java Beans Sagun Dhakhwa.
Software Design and Architecture
Lecture 1: Multi-tier Architecture Overview
An Introduction of Jini Technology
JINI ICS 243F- Distributed Systems Middleware, Spring 2001
Coordination Models and Languages
Database System Architectures
Presentation transcript:

TupleSpaces Revisited: Linda to TSpaces Ben Y. Zhao 13 July, 1998 UC Berkeley Computer Science Division

2 Linda / TupleSpace C-Linda and Applications JavaSpaces (Sun Microsystems) TSpaces (IBM Almaden) TSpaces vs. JavaSpaces Integration with NINJA/ICEBERG XML and TSpaces Future directions Overview

3 Parallel coordination language Virtual shared memory system on heterogeneous networks Associative addressing through efficient hashing Simple language primitives allow minimal code rewriting: –Tuple = basic element, list of literals and vars –In(), Out() moves “tuples” to/from T.S. –Eval() spawns processes in Tuplespace –Rd() does non-destructive reads in T.S. –Inp(), Rdp() are non-blocking versions of In() and Rd() Linda and Tuplespace

4 Linda-App Examples Implementing Semaphores: –P() { out(“sem”); } V() { in(“sem”); } Master-Worker Program –master() { for (i=1;i<=workers;i++) eval(“worker”, worker()); for (i=0;work exists;i++) out (“task”, taskify(work)); while (i>0) { if ((inp(“done”,?(Int *)ans)) !=0) { printf(“%d “,ans); i--; } –worker() { while (1) { in(“task”,?(Char *)task; out(“done”, dotask(task)); }

5 Portability (supports heterogeneous networks) Scalability Dynamic load balancing Anonymous and asychronous communication Associative addressing / pattern matching Data persistence independent of creator Simple API --> less and easier coding Ease of code transformation Benefits of Linda

6 Linda Limitations High system overhead Designed as a parallel computing model, primarily for LANs –lack of security model –lack of transactional semantics Language specific implementation Blocking calls, but no notification mechanism

7 Lightweight infrastructure for network applications Distributed functionality implemented through RMI Entries written to/from JavaSpace with “write, read” “notify” notifies client of incoming entries w/ timeout Pattern Matching done to templates with class type comparisons, no comparison of literals. Transaction mechanism with a two phase commit model Entries are written with a “lease,” so limited persistence with time-outs JavaSpaces (Sun Micro.)

8 JavaSpace Model Identities Client JavaSpace Event Catcher take write notify write writeEvent notify write read Transaction

9 All entry fields are strongly typed for matching Object model associates behavior with entries Matches can return subtypes of template types Entries are “leased”; persistence is subject on renewal in order to reduce garbage after failures Multiple JavaSpaces cooperate, and transactions span multiple spaces. Partitions provide minimal protection. “Eval” functionality is not supported, in order to reduce complexity and overhead Transaction model preserves ACID properties Key Features

10 JavaSpace Mechanisms Each JavaSpace server exports an object that implements the JS interface locally on the client, and communicates through an implementation specific interface Objects are stored as implementation specific representations, with the serialized class and fields Templates match entries if each field in template is either null or match the entry field via MarshalledObject.equals. This occurs when the serialized forms of the objects match exactly.

11 JavaSpace Limitations Simplicity of or lack of security model Transactions required for reliable entry reads Java RMI = performance bottleneck? High overhead from repetitious object serialization Currently only a specification exists, but no implementation

12 TSpaces (IBM Almaden) A set of network communication buffers that work primarily as a global lightweight database system or data repository Operators include blocking and non-blocking versions of read and take, write, set operators scan and count, and synchronization operator Rhonda Interfaces with data management layer to provide persistent storage and data indexing and query. Dynamically modifiable behavior

13 Key Features Database indexing and arbitrary “match, index, and, or” queries Transaction layer for data consistency Matching available on simple types New operators can be downloaded to TSpace and used immediately User and group permissions can be set on a Tuplespace and operator basis Event register informs clients of events HTTP server interface for debugging and maintenance purposes Support for large objects through URL reference

14 TSpace Applications Goal: To provide a common platform for linking all system and application services Printing services example: –heterogeneous machines search in set of TSpaces for a print server of the desired type. –Jobs are then “written” as tuples to the local TSpace. –Printer client “takes” tuples off local TSpace to process Collaboration services: –whiteboard: single or multiple clients “write” changes in tuples to one TSpace while all clients “read” tuples –video/audio conferencing: discretize multimedia stream into tuples, and “read” or “taken” via central TSpace TCP/SLIP Proxy for thin-clients (PalmPilot)

15 TSpaces vs. JavaSpaces Simple types and objects as tuple fields No replication, 1 server per TSpace Access Control Lists on users and groups Event Register invoked on all events Database indexing and range queries Downloadable operators Only serializable objects allowed Servers can be replicated across nodes Protective partitioning using multiple JSpaces Notify () is only invoked for committed writes

16 TSpace + NINJA/ICEBERG? Implement ISpace as a layer above TSpaces, using TSpaces for persistent storage and data consistency Path creation: –Specify Operator input and output types as tuples –Path creation agent uses queries to create desired IO path Service discovery: –services export interfaces and properties (i.e. “color,” “postscript,” “room 384”) as tuples to an interface storage TSpace –SDS works by making database queries to find matching interfaces or properties

17 XML and TSpaces What is the optimal model for leveraging TSpace functionality while keeping XML descriptive features? Composing XML into TSpaces tuples: –Service interface description written in XML –Encapsulated as individual fields in service description tuples –Will we lose the XML flexibility with encapsulation? Use XML as query specifiers –TSpaces can parse XML documents, and form intelligent queries as a result, replacing missing fields with wildcards Is there a better solution?

18 Limitations and Future Work Lack of scalability –modify TSpaces to span multiple nodes –necessary if we want to migrate services across nodes Limited availability / fault-tolerance –add redundant TSpace replication and/or logging/backup systems Will performance be an issue? –If so, is it inherent in the model? –Is Tspaces too heavy for active routers? What is the caching model? –How do we implement a cache model within TSpaces to retrieve optimized paths?

19 Future Work cont… Incremental performance: –can we modify TSpaces to get allow for performance knob? Queries can be non-optimal, yet give high performance Queries can be high latency, yet return optimal results Functionality: is there anything we can’t do? Consider alternatives: –TSpace communication vs. COINS model ( –TSpace service description vs. RDFs in XML

20 Further information TSpace examples and tutorials: – Specifications on Java Leasing, Transactions, and Distributed Events: – The Linda Project at Yale: – Tuplespace used in scientific computing: –