A tuple space implementation for large-scale infrastructures

Coordinating activities in a distributed system is an open research topic. Several models have been proposed to achieve this purpose such as message passing, publish/subscribe, workflows or tuple spaces. We have focused on the latter model, trying to overcome some of its disadvantages. In particular we have applied spatial database techniques to tuple spaces in order to increase their performance when handling a large number of tuples. Moreover, we have studied how structured peer to peer approaches can be applied to better distribute tuples on large networks. Using some of these result, we have developed a tuple space implementation for the Globus Toolkit that can be used by Grid applications as a coordination service. The development of such a service has been quite challenging due to the limitations imposed by XML serialization that have heavily influenced its design. Nevertheless, we were able to complete its implementation and use it to implement two different types of test applications: a completely parallelizable one and a plasma simulation that is not completely parallelizable. Using this last application we have compared the performance of our service against MPI. Finally, we have developed and tested a simple workflow in order to show the versatility of our service.

[1]  Ian T. Foster,et al.  MPICH-G2: A Grid-enabled implementation of the Message Passing Interface , 2002, J. Parallel Distributed Comput..

[2]  Hans-Peter Kriegel,et al.  The X-tree : An Index Structure for High-Dimensional Data , 2001, VLDB.

[3]  Rajkumar Buyya,et al.  Alchemi: A .NET-based Enterprise Grid Computing System , 2005, International Conference on Internet Computing.

[4]  Space-Based Architecture and the End of Tier-based Computing 1 Space-Based Architecture and The End of Tier-based Computing White Paper , 2022 .

[5]  Rajkumar Buyya,et al.  A Market-Oriented Grid Directory Service for Publication and Discovery of Grid Service Providers and their Services , 2006, The Journal of Supercomputing.

[6]  Rajkumar Buyya,et al.  A grid service broker for scheduling distributed data-oriented applications on global grids , 2004, MGC '04.

[7]  Tobin J. Lehman,et al.  T Spaces : The Next Wave , 2004 .

[8]  Antonin Guttman,et al.  R-trees: a dynamic index structure for spatial searching , 1984, SIGMOD '84.

[9]  Zhen Li,et al.  AutoMate: Enabling Autonomic Applications on the Grid , 2006, Cluster Computing.

[10]  Ladislau Bölöni,et al.  Coordination in Intelligent Grid Environments , 2005, Proceedings of the IEEE.

[11]  Daniel Le Métayer,et al.  Programming by multiset transformation , 1993, CACM.

[12]  Anne-Marie Kermarrec,et al.  GosSkip, an Efficient, Fault-Tolerant and Self Organizing Overlay Using Gossip-based Construction and Skip-Lists Principles , 2006, Sixth IEEE International Conference on Peer-to-Peer Computing (P2P'06).

[13]  Philipp Obreiter,et al.  Towards scalability in tuple spaces , 2002, SAC '02.

[14]  Matteo Frigo,et al.  The implementation of the Cilk-5 multithreaded language , 1998, PLDI.

[15]  Sujata Banerjee,et al.  Scalable Grid Service Discovery based on UDDI , 2005, MGC '05.

[16]  Jon Louis Bentley,et al.  Multidimensional binary search trees used for associative searching , 1975, CACM.

[17]  Farhad Arbab,et al.  An overview of manifold and its implementation , 1993, Concurr. Pract. Exp..

[18]  Eduardo Huedo,et al.  A framework for adaptive execution in grids , 2004, Softw. Pract. Exp..

[19]  Jean-Marc Andreoli,et al.  Interaction abstract machines , 1993 .

[20]  Gérard Berry,et al.  The chemical abstract machine , 1989, POPL '90.

[21]  Bruno Schulze,et al.  Managing jobs with an interpreted language for dynamic adaptation , 2005, MGC '05.

[22]  Marty Humphrey,et al.  Architectural Foundations of WSRF.NET , 2005, Int. J. Web Serv. Res..

[23]  Rajkumar Buyya,et al.  A novel architecture for realizing grid workflow using tuple spaces , 2004, Fifth IEEE/ACM International Workshop on Grid Computing.

[24]  I. Wang P2PS (Peer-to-Peer Simpli ed) , 2005 .

[25]  Ian J. Taylor,et al.  The Web Services Resource Framework in a Peer-to-Peer Context , 2006, Journal of Grid Computing.

[26]  Theoni Pitoura,et al.  Replication, Load Balancing and Efficient Range Query Processing in DHTs , 2006, EDBT.

[27]  S Roiser,et al.  The SEAL C++ Reflection System , 2005 .

[28]  Geoffrey C. Fox,et al.  NaradaBrokering: A Distributed Middleware Framework and Architecture for Enabling Durable Peer-to-Peer Grids , 2003, Middleware.

[29]  Maha Abdallah,et al.  Scalable Range Query Processing for Large-Scale Distributed Database Applications , 2005, IASTED PDCS.

[30]  Beng Chin Ooi,et al.  VBI-Tree: A Peer-to-Peer Framework for Supporting Multi-Dimensional Indexing Schemes , 2006, 22nd International Conference on Data Engineering (ICDE'06).

[31]  V. Welch,et al.  Attributes , Anonymity , and Access : Shibboleth and Globus Integration to Facilitate Grid Collaboration , 2005 .

[32]  Ivo F. Sbalzarini,et al.  PPM - A highly efficient parallel particle-mesh library for the simulation of continuum systems , 2006, J. Comput. Phys..

[33]  Steven J. Plimpton,et al.  A load-balancing algorithm for a parallel electromagnetic particle-in-cell code , 2003 .

[34]  Anne-Marie Kermarrec,et al.  The many faces of publish/subscribe , 2003, CSUR.

[35]  Paul Brebner,et al.  Two Ways to Grid: The Contribution of Open Grid Services Architecture (OGSA) Mechanisms to Service-Centric and Resource-Centric Lifecycles , 2005, Journal of Grid Computing.

[36]  Brighten Godfrey,et al.  OpenDHT: a public DHT service and its uses , 2005, SIGCOMM '05.

[37]  Tony Andrews Business Process Execution Language for Web Services Version 1.1 , 2003 .

[38]  N. Franks,et al.  Brood sorting by ants: distributing the workload over the work-surface , 1992, Behavioral Ecology and Sociobiology.

[39]  Mario Barbacci,et al.  Durra: a structure description language for developing distributed applications , 1993, Softw. Eng. J..

[40]  Beng Chin Ooi,et al.  Speeding up search in peer-to-peer networks with a multi-way tree structure , 2006, SIGMOD Conference.

[41]  Stanislav Kurkovsky,et al.  Modeling a grid-based problem solving environment for mobile devices , 2004, International Conference on Information Technology: Coding and Computing, 2004. Proceedings. ITCC 2004..

[42]  Leslie G. Valiant,et al.  Bulk synchronous parallel computing-a paradigm for transportable software , 1995, Proceedings of the Twenty-Eighth Annual Hawaii International Conference on System Sciences.

[43]  Yong Wang,et al.  SOAr-DSGrid: Service-Oriented Architecture for Distributed Simulation on the Grid , 2006, 20th Workshop on Principles of Advanced and Distributed Simulation (PADS'06).

[44]  Michael Schumacher,et al.  The STL++ Coordination Language: A Base for Implementing Distributed Multi-agent Applications , 1999, COORDINATION.

[45]  Ian T. Foster,et al.  Globus Toolkit Version 4: Software for Service-Oriented Systems , 2005, Journal of Computer Science and Technology.

[46]  Farhad Arbab,et al.  Control-Driven Coordination Programming in Shared Dataspace , 1997, PaCT.

[47]  Ronaldo Menezes,et al.  On the implementation of SwarmLinda , 2004, ACM-SE 42.

[48]  J. Pain Plasma Physics , 1968, Nature.

[49]  Hanan Samet,et al.  Using a distributed quadtree index in peer-to-peer networks , 2007, The VLDB Journal.

[50]  Alberto Montresor,et al.  Data-Driven Coordination In Peer-To-Peer Information Systems , 2004, Int. J. Cooperative Inf. Syst..

[51]  Bin Liu,et al.  Supporting Complex Multi-Dimensional Queries in P2P Systems , 2005, 25th IEEE International Conference on Distributed Computing Systems (ICDCS'05).

[52]  Ian T. Foster,et al.  The anatomy of the grid: enabling scalable virtual organizations , 2001, Proceedings First IEEE/ACM International Symposium on Cluster Computing and the Grid.

[53]  Ian T. Foster,et al.  Security for Grid services , 2003, High Performance Distributed Computing, 2003. Proceedings. 12th IEEE International Symposium on.

[54]  Franco Zambonelli,et al.  Reactive Tuple Spaces for Mobile Agent Coordination , 1998, Mobile Agents.

[55]  Farhad Arbab,et al.  Reo: A Channel-based Coordination Model for Component Composition , 2005 .

[56]  David Snelling,et al.  Unicore and the Open Grid Services Architecture , 2003 .

[57]  Wei Lu,et al.  OSIRIS: A Three-Dimensional, Fully Relativistic Particle in Cell Code for Modeling Plasma Based Accelerators , 2002, International Conference on Computational Science.

[58]  Giorgio Turchetti,et al.  Numerical investigation of Maxwell Vlasov equations. Part II: Preliminary tests and validation , 2008 .

[59]  Nicholas Carriero,et al.  Bauhaus Linda , 1994, ECOOP Workshop.

[60]  Daniel S. Katz,et al.  Pegasus: A framework for mapping complex scientific workflows onto distributed systems , 2005, Sci. Program..

[61]  Antony I. T. Rowstron,et al.  Pastry: Scalable, Decentralized Object Location, and Routing for Large-Scale Peer-to-Peer Systems , 2001, Middleware.

[62]  Pascal Fradet,et al.  Towards chemical coordination for grids , 2006, SAC '06.

[63]  Qiang Wang,et al.  LOT : A Robust Overlay for Distributed Range Query Processing , 2006 .

[64]  Beng Chin Ooi,et al.  BATON: A Balanced Tree Structure for Peer-to-Peer Networks , 2005, VLDB.

[65]  David Mazières,et al.  Kademlia: A Peer-to-Peer Information System Based on the XOR Metric , 2002, IPTPS.

[66]  David Gelernter,et al.  Generative communication in Linda , 1985, TOPL.

[67]  Ákos Frohner,et al.  VOMS, an Authorization System for Virtual Organizations , 2003, European Across Grids Conference.

[68]  Amy L. Murphy,et al.  LIME: Linda meets mobility , 1999, Proceedings of the 1999 International Conference on Software Engineering (IEEE Cat. No.99CB37002).

[69]  Qi Xia,et al.  Fully decentralized DHT based approach to grid service discovery using overlay networks , 2005, The Fifth International Conference on Computer and Information Technology (CIT'05).

[70]  Ian T. Foster,et al.  Grid information services for distributed resource sharing , 2001, Proceedings 10th IEEE International Symposium on High Performance Distributed Computing.

[71]  David Abramson,et al.  The Grid Economy , 2005, Proceedings of the IEEE.

[72]  David P. Anderson,et al.  BOINC: a system for public-resource computing and storage , 2004, Fifth IEEE/ACM International Workshop on Grid Computing.

[73]  Franco Zambonelli,et al.  Tuple centres for the coordination of Internet agents , 1999, SAC '99.

[74]  Andrea Omicini,et al.  Agent Coordination and Control through Logic Theories , 1995, AI*IA.

[75]  Min Cai,et al.  Applying Peer-to-Peer Techniques to Grid Replica Location Services , 2006, Journal of Grid Computing.

[76]  Artur Andrzejak,et al.  Scalable, efficient range queries for grid information services , 2002, Proceedings. Second International Conference on Peer-to-Peer Computing,.

[77]  Pavel Zezula,et al.  M-tree: An Efficient Access Method for Similarity Search in Metric Spaces , 1997, VLDB.

[78]  A. A. Holzbacher A Software Environment for Concurrent Coordinated Programming , 1996, COORDINATION.

[79]  Michele Amoretti,et al.  SP2A: a service-oriented framework for P2P-based Grids , 2005, MGC '05.

[80]  Carl Hewitt,et al.  Actors: A Conceptual Foundation for Concurrent Object-Oriented Programming , 1987, Research Directions in Object-Oriented Programming.

[81]  Naranker Dulay,et al.  Structuring parallel and distributed programs , 1993, Softw. Eng. J..

[82]  Ratko Orlandic,et al.  A Class of Region-preserving Space Transformations for Indexing High-dimensional Data , 2005 .

[83]  Adam Barker Agent-based service coordination for the grid , 2005, IEEE/WIC/ACM International Conference on Intelligent Agent Technology.

[84]  Ian T. Foster,et al.  Mapping the Gnutella Network: Properties of Large-Scale Peer-to-Peer Systems and Implications for System Design , 2002, ArXiv.

[85]  Rocco De Nicola,et al.  KLAIM: A Kernel Language for Agents Interaction and Mobility , 1998, IEEE Trans. Software Eng..

[86]  Miron Livny,et al.  Condor: a distributed job scheduler , 2001 .

[87]  Edward A. Lee,et al.  Scientific workflow management and the Kepler system , 2006, Concurr. Comput. Pract. Exp..

[88]  Mary Shaw,et al.  Abstractions for Software Architecture and Tools to Support Them , 1995, IEEE Trans. Software Eng..

[89]  J. Cary,et al.  VORPAL: a versatile plasma simulation code , 2004 .

[90]  C. Benedetti,et al.  ${\tt ALaDyn}$: A High-Accuracy PIC Code for the Maxwell–Vlasov Equations , 2008, IEEE Transactions on Plasma Science.

[91]  L. Verlet Computer "Experiments" on Classical Fluids. I. Thermodynamical Properties of Lennard-Jones Molecules , 1967 .

[92]  Jorge L. V. Barbosa,et al.  Towards Merging Context-Aware, Mobile and Grid Computing , 2003, Int. J. High Perform. Comput. Appl..

[93]  Stefan Wesner,et al.  The “Akogrimo” way towards an extended IMS architecture , 2007 .

[94]  Ben Y. Zhao,et al.  An Infrastructure for Fault-tolerant Wide-area Location and Routing , 2001 .

[95]  Mark Handley,et al.  A scalable content-addressable network , 2001, SIGCOMM '01.

[96]  Shipeng Li,et al.  Distributed Segment Tree: Support of Range Query and Cover Query over DHT , 2006, IPTPS.

[97]  Farhad Arbab,et al.  Coordination Models and Languages , 1998, Adv. Comput..

[98]  Franco Zambonelli,et al.  XML dataspaces for mobile agent coordination , 2000, SAC '00.

[99]  Farhad Arbab,et al.  The IWIM Model for Coordination of Concurrent Activities , 1996, COORDINATION.

[100]  Rajkumar Buyya,et al.  A taxonomy of scientific workflow systems for grid computing , 2005, SGMD.

[101]  Hector Garcia-Molina,et al.  One torus to rule them all: multi-dimensional queries in P2P systems , 2004, WebDB '04.

[102]  R W Hockney,et al.  Computer Simulation Using Particles , 1966 .

[103]  Gregor von Laszewski,et al.  CoG kits: a bridge between commodity distributed computing and high-performance grids , 2000, JAVA '00.

[104]  Thilo Kielmann Object-Oriented Distributed Programming with Objective Linda , 1995 .

[105]  Ian T. Foster,et al.  On Death, Taxes, and the Convergence of Peer-to-Peer and Grid Computing , 2003, IPTPS.

[106]  Zhen Li,et al.  Comet: a scalable coordination space for decentralized distributed environments , 2005, Second International Workshop on Hot Topics in Peer-to-Peer Systems.

[107]  G.S.V.R. Krishna Rao,et al.  Performance evaluation of Open Source Native XML databases - A Case Study , 2006, 2006 8th International Conference Advanced Communication Technology.

[108]  William Gropp,et al.  Beowulf Cluster Computing with Linux , 2003 .

[109]  L. Zhen,et al.  AutoMate: Enabling Autonomic Applications on the Grid , 2003, 2003 Autonomic Computing Workshop.

[110]  Ian T. Foster,et al.  A peer-to-peer approach to resource location in grid environments , 2002, Proceedings 11th IEEE International Symposium on High Performance Distributed Computing.

[111]  Ratko Orlandic,et al.  On accessing data in high-dimensional spaces: A comparative study of three space partitioning strategies , 2004, J. Syst. Softw..

[112]  Bruno Schulze,et al.  Peer-to-peer resource discovery in mobile Grids , 2005, MGC '05.

[113]  Sriram Ramabhadran,et al.  Brief announcement: prefix hash tree , 2004, PODC '04.

[114]  Ian T. Foster,et al.  DI-GRUBER: A Distributed Approach to Grid Resource Brokering , 2005, ACM/IEEE SC 2005 Conference (SC'05).

[115]  Edward A. Carmona,et al.  On Parallel PIC Versatility and the Structure of Parallel PIC Approaches , 1997, Concurr. Pract. Exp..

[116]  Oscar Nierstrasz,et al.  Object-Based Models and Languages for Concurrent Systems , 1994, Lecture Notes in Computer Science.

[117]  Hans-Peter Kriegel,et al.  The pyramid-technique: towards breaking the curse of dimensionality , 1998, SIGMOD '98.

[118]  David R. Karger,et al.  Chord: A scalable peer-to-peer lookup service for internet applications , 2001, SIGCOMM '01.

[119]  Franco Zambonelli,et al.  Tuples on the air: a middleware for context-aware computing in dynamic networks , 2003, 23rd International Conference on Distributed Computing Systems Workshops, 2003. Proceedings..

[120]  Mario Lauria,et al.  Application-specific scheduling for the organic grid , 2004, Fifth IEEE/ACM International Workshop on Grid Computing.

[121]  Rajmohan Rajaraman,et al.  Accessing Nearby Copies of Replicated Objects in a Distributed Environment , 1997, SPAA '97.

[122]  Danny Bickson,et al.  The eMule Protocol Specification , 2005 .

[123]  Hans-Peter Kriegel,et al.  The R*-tree: an efficient and robust access method for points and rectangles , 1990, SIGMOD '90.

[124]  Damla Turgut,et al.  Grid Coordination with Marketmaker Agents , 2006 .

[125]  Jan A. Bergstra,et al.  The TOOLBUS Coordination Architecture , 1996, COORDINATION.

[126]  Mario Lauria,et al.  The organic grid: self-organizing computation on a peer-to-peer network , 2004, IEEE Transactions on Systems, Man, and Cybernetics - Part A: Systems and Humans.

[127]  Farid Ould-Saada,et al.  The NorduGrid architecture and tools , 2003, ArXiv.

[128]  Jon Louis Bentley,et al.  Quad trees a data structure for retrieval on composite keys , 1974, Acta Informatica.

[129]  Ian J. Taylor,et al.  Distributed computing with Triana on the Grid , 2005, Concurr. Pract. Exp..