Real-World Distributed Computing with Ibis

Slides:



Advertisements
Similar presentations
European Research Network on Foundations, Software Infrastructures and Applications for large scale distributed, GRID and Peer-to-Peer Technologies Scalability.
Advertisements

European Research Network on Foundations, Software Infrastructures and Applications for large scale distributed, GRID and Peer-to-Peer Technologies Experiences.
Current methods for negotiating firewalls for the Condor ® system Bruce Beckles (University of Cambridge Computing Service) Se-Chang Son (University of.
7 april SP3.1: High-Performance Distributed Computing The KOALA grid scheduler and the Ibis Java-centric grid middleware Dick Epema Catalin Dumitrescu,
The Ibis Project: Simplifying Grid Programming & Deployment Henri Bal Vrije Universiteit Amsterdam.
Dr. Kalpakis CMSC 621, Advanced Operating Systems. Fall 2003 URL: Distributed System Architectures.
Study of Hurricane and Tornado Operating Systems By Shubhanan Bakre.
Distributed components
Slide 1 Client / Server Paradigm. Slide 2 Outline: Client / Server Paradigm Client / Server Model of Interaction Server Design Issues C/ S Points of Interaction.
Workload Management Workpackage Massimo Sgaravatto INFN Padova.
The Ibis Project: Simplifying Grid Programming & Deployment Henri Bal, Jason Maassen, Rob van Nieuwpoort, Thilo Kielmann, Niels Drost, Ceriel Jacobs, Frank.
OCT1 Principles From Chapter One of “Distributed Systems Concepts and Design”
Overview Distributed vs. decentralized Why distributed databases
Workload Management Massimo Sgaravatto INFN Padova.
WP6: Grid Authorization Service Review meeting in Berlin, March 8 th 2004 Marcin Adamski Michał Chmielewski Sergiusz Fonrobert Jarek Nabrzyski Tomasz Nowocień.
1 The Google File System Reporter: You-Wei Zhang.
This work was carried out in the context of the Virtual Laboratory for e-Science project. This project is supported by a BSIK grant from the Dutch Ministry.
Panel Abstractions for Large-Scale Distributed Systems Henri Bal Vrije Universiteit Amsterdam.
CS 390- Unix Programming Environment CS 390 Unix Programming Environment Topics to be covered: Distributed Computing Fundamentals.
Session-8 Data Management for Decision Support
Service - Oriented Middleware for Distributed Data Mining on the Grid ,劉妘鑏 Antonio C., Domenico T., and Paolo T. Journal of Parallel and Distributed.
A High Performance Middleware in Java with a Real Application Fabrice Huet*, Denis Caromel*, Henri Bal + * Inria-I3S-CNRS, Sophia-Antipolis, France + Vrije.
Ames Research CenterDivision 1 Information Power Grid (IPG) Overview Anthony Lisotta Computer Sciences Corporation NASA Ames May 2,
Distributed Information Systems. Motivation ● To understand the problems that Web services try to solve it is helpful to understand how distributed information.
SDN Management Layer DESIGN REQUIREMENTS AND FUTURE DIRECTION NO OF SLIDES : 26 1.
Grid Computing Framework A Java framework for managed modular distributed parallel computing.
7. Grid Computing Systems and Resource Management
Seminar On Rain Technology
The EPIKH Project (Exchange Programme to advance e-Infrastructure Know-How) gLite Grid Introduction Salma Saber Electronic.
SEMINAR TOPIC ON “RAIN TECHNOLOGY”
Sung-Dong Kim, Dept. of Computer Engineering, Hansung University Java - Introduction.
Distributed Systems Architectures. Topics covered l Client-server architectures l Distributed object architectures l Inter-organisational computing.
CLOUD ARCHITECTURE Many organizations and researchers have defined the architecture for cloud computing. Basically the whole system can be divided into.
Workload Management Workpackage
DISTRIBUTED SYSTEMS Principles and Paradigms Second Edition ANDREW S
Last Class: Introduction
Clouds , Grids and Clusters
Introduction to Distributed Platforms
Chapter 1 Introduction to Computers, Programs, and Java
Self Healing and Dynamic Construction Framework:
Globus —— Toolkits for Grid Computing
DISTRIBUTED SYSTEMS Principles and Paradigms Second Edition ANDREW S
Grid Computing.
Grid Computing Colton Lewis.
GSAF Grid Storage Access Framework
Storage Virtualization
#01 Client/Server Computing
Distributed System Concepts and Architectures
Class project by Piyush Ranjan Satapathy & Van Lepham
Chapter 4: Threads.
Parallel and Multiprocessor Architectures – Shared Memory
Chapter 2: System Structures
Outline Midterm results summary Distributed file systems – continued
Mobile Agents.
Fault Tolerance Distributed Web-based Systems
Ch 4. The Evolution of Analytic Scalability
Service Oriented Architecture (SOA)
Software models - Software Architecture Design Patterns
Outline Chapter 2 (cont) OS Design OS structure
A GUI Based Aid for Generation of Code-Frameworks of TMOs
Why Threads Are A Bad Idea (for most purposes)
Mark McKelvin EE249 Embedded System Design December 03, 2002
DISTRIBUTED SYSTEMS Principles and Paradigms Second Edition ANDREW S
Database System Architectures
Parallel programming in Java
Why Threads Are A Bad Idea (for most purposes)
New Tools In Education Minjun Wang
Why Threads Are A Bad Idea (for most purposes)
#01 Client/Server Computing
Presentation transcript:

Real-World Distributed Computing with Ibis Henri E. Bal Jason Maassen

CONTENTS INTRODUCTION REALWORLD DISTRIBUTED COMPUTING IBIS ARCHITECTURE IBIS PROGRAMMING SYSTEM IPL SMART SOCKETS IBIS PROGRAMMING MODELS IBIS DEPLOYMENT SYSTEM JAVAGAT ZORILLA IBIS DEPLOY MUTIMEDIA CONTENT ANALYSIS EXPERIMENTAL EVALUATION FUTURE SCOPE CONCLUSION

Progress in high-performance distributed computer system in science and industry Provides transparent and efficient computing For more complex applications existing scheduling system is limited. Ibis allows easy programming and development of compute-intensive distributed applications,even for dynamic, faulty and heterogeneous enviornment.

REAL-WORLD DISTRIBUTED COMPUTING Ad-hoc collection of compute resources that communicate with one another via some network connection constitutes a real world distributed computing system. Writing applications of such system is difficult. High performance distributed system can be abstracted these complexities by a single software system that applies to any real world distributed system These system have two logically independent subsystems such as programming system and deployment system.

DISTRIBUTED SYSTEM

IBIS ARCHITECTURE Ibis uses java vertual machine technology. Ibis system architecture follows the duel system approach such as the programming system and deployment system. Programming system should allow efficient programming models that support fault tolarence and malleability.Implemented in the Ibis portability layer(IPL) Deployment system contains a GUI and a library for deploying and managing applications implemented on a middleware interoperatability layer(MIL).

. It should also provide support for distributed file mamagement,user authentication,resource manegement and interoperatability between different middleware system. Ibis is modular and flexible.

IBIS PROGRAMMING SYSTEM IPL IPL is a java based communication library. In IPL the resources can be added or removed dynamically. It provides a range of communication primitives including those for point-to- point and multicast communication. It avoids the copy overhead. It incorporates a mechanism ,Join Elect Leave(JEL).

. JEL is based on the concept of signalling. JEL provides the building blocks for fault tolerance. Java IPL implementations are available using Ibis SmartSocket library,TCP UDP and bluetooth. Also performs implementation using specialised non java libraries such as MX,MPI.

SMART SOCKETS Incoming traffic at a node may be restricted by a firewall. SmartSocket library solves the problem like reverse connection setup,overlay routing,and secure Shell (SSH)tunneling. When creating a connection ,smartsocket initially tries to set up a regular TCP connection. Smartsockets also handles machine with multiple network address via multihoming. Extra identity checks in the protocol ensure that it reaches the correct destination.

IBIS PROGRAMMING MODELS MPJ,MPI binding for java; Satin, a divide and conquer model; RMI, object oriented remote procedural call; Group method invocation(GMI)a generalisation of RMI to group communication, including multicast and all to all communication. Maestro, a fault tolerant and self optimizing data flow model. Jorus, a programming model for data parallel multimedia applications.

IBIS DEPLOYMENT SYSTEM JavaGAT The JavaGAT provides a high-level API that facilitates development of complex applications. This API is object oriented. The primitives provide access to remote data, user authentication, resource management, and storing of application-specific data The JavaGAT also uses intelligent dispatching to integrate multiple middleware systems with different and incomplete functionality into a single, consistent system.

1 import org.gridlab.gat.*; 2 import org.gridlab.gat.io.File; 3 4 public class Copy { 5 public static void main(String [] args)throws Exception { 6 GATContext context = newGATContext(); 7 URI source = new URI(args[0]); 8 URI dest = new URI(args[1]); 9 10 File file = GAT.createFile(context,source); // Create a GAT file 11 12 file.copy(dest); // The actual file or directory copy 13 14 GAT.end(); // Shutdown the JavaGAT 15 } 16 }

Zorilla Zorilla is a lightweight P2P middleware that runs on any real-world distributed system. Zorilla has no central components and is easy to set up and maintain. It supports fault tolerance and malleability by implementing all functionality using P2P techniques. Zorilla which performed with the help of JavaGAT.

Ibis deploy Ibis deploy provides a simple and generic API and GUI that can automatically perform commonly used deployment scenarios. When a distributed Ibis application is running, It also automatically uploads the program codes, libraries, and input files and automatically downloads the output files. Run multiple distributed applications concurrently.

APPLICATION EXAMPLE: MULTIMEDIA CONTENT ANALYSIS DIGITAL CAMERA

EXPERIMENTAL EVALUATION Distributed ACCI super computer 3. Five clustered distributed grid systems. Amazon EC2 cloud system.

RELATED WORKS ProActive. Phoenix. The GRID superscalar framework. The GridRPC specification. The Open Grid Forum.

APPLICATIONS Multimedia computing. Spectroscopic data processing. Human brain-scan analysis. Automatic grammar learning.

OPEN PROBLEMS AND FUTURE WORK Non-Java applications could also use the IPL through the JNI which is complicated. For high programming applications it cannot be used. Intelligent-dispatching technique leads to more complex error reporting and debugging if operations fail. JavaGAT introduces runtime overhead. Visual debugging profiling tools should developed for solving these problems

CONCLUSION Ibis reduces the effort needed to create and deploy applications for real-world distributed systems. To achieve this, it integrates solutions to many fundamental distributed computing problems in a single modular programming and deployment system. Two-way connectivity is rare in a real-world distributed system. However, Smart Sockets achieves this in a transparent manner. Ibis also tries to make distributed programming easier by providing high-level programming models on top of these mechanisms

REFERENCES I. Foster, C. Kesselman, and S. Tuecke, “The Anatomy of the Grid: Enabling Scalable Virtual Organizations,” Int’l J. High-Performance Computing Applications, Aug. 2001, pp. 200-222. D. Butler, “The Petaflop Challenge,” Nature, 5 July 2007, pp. 6-7. K. Verstoep et al., “Experiences with Fine-Grained Distrib- uted Supercomputing on a 10G Testbed,” Proc. 2008 8th IEEE Int’l Symp. Cluster Computing and the Grid (CCGrid 08), IEEE CS Press, 2008, pp. 376-383