J ICOS A Java-Centric Distributed Computing Service Peter Cappello & Chris Coakley Computer Science Department UC Santa Barbara.

Slides:



Advertisements
Similar presentations
ICS 434 Advanced Database Systems
Advertisements

M. Muztaba Fuad Masters in Computer Science Department of Computer Science Adelaide University Supervised By Dr. Michael J. Oudshoorn Associate Professor.
The road to reliable, autonomous distributed systems
Objektorienteret Middleware Presentation 2: Distributed Systems – A brush up, and relations to Middleware, Heterogeneity & Transparency.
8.
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.
The Open Grid Service Architecture (OGSA) Standard for Grid Computing Prepared by: Haoliang Robin Yu.
.NET Mobile Application Development Introduction to Mobile and Distributed Applications.
CX: A Scalable, Robust Network for Parallel Computing Peter Cappello & Dimitrios Mourloukos Computer Science UCSB.
BRASS Analysis of QuasiStatic Scheduling Techniques in a Virtualized Reconfigurable Machine Yury Markovskiy, Eylon Caspi, Randy Huang, Joseph Yeh, Michael.
DISTRIBUTED COMPUTING
2 Object-Oriented Analysis and Design with the Unified Process Objectives  Describe the differences between requirements activities and design activities.
9/14/2015B.Ramamurthy1 Operating Systems : Overview Bina Ramamurthy CSE421/521.
A brief overview about Distributed Systems Group A4 Chris Sun Bryan Maden Min Fang.
Advanced Operating Systems Welcome to this course, in Fall Semester Main TextBooks 1- Tanenbaum’s book 2- Chow’s Book 3- Singhal’s Book Other extra.
FALL 2005CSI 4118 – UNIVERSITY OF OTTAWA1 Part 4 Other Topics RPC & Middleware.
1 Chapter 38 RPC and Middleware. 2 Middleware  Tools to help programmers  Makes client-server programming  Easier  Faster  Makes resulting software.
1 Automated Installation Windows Unattended Client PC Setup Vahid Ajimine W.M. Keck Observatory Mentor: Jason Ward Home institution: University of Hawaii.
Operating Systems ECE344 Ashvin Goel ECE University of Toronto Threads and Processes.
Unit – I CLIENT / SERVER ARCHITECTURE. Unit Structure  Evolution of Client/Server Architecture  Client/Server Model  Characteristics of Client/Server.
Parallelizing Iterative Computation for Multiprocessor Architectures Peter Cappello.
Distributed Software Engineering Lecture 1 Introduction Sam Malek SWE 622, Fall 2012 George Mason University.
Heterogeneous Multikernel OS Yauhen Klimiankou BSUIR
A Web-based Distributed Simulation System Christopher Taewan Ryu Computer Science Department California State University, Fullerton.
OS2- Sem ; R. Jalili Introduction Chapter 1.
Advanced Eager Scheduling for Java-Based Adaptively Parallel Computing Michael O. Neary & Peter Cappello Computer Science Department UC Santa Barbara.
9 Systems Analysis and Design in a Changing World, Fourth Edition.
GVis: Grid-enabled Interactive Visualization State Key Laboratory. of CAD&CG Zhejiang University, Hangzhou
S. Shumilov – Zürich Analytical Visualization Framework - a visual data processing and knowledge discovery system Ivan Denisovich, Serge Shumilov Department.
J ICOS A Java-centric Internet Computing System Peter Cappello Computer Science Department UC Santa Barbara.
OS2- Sem1-83; R. Jalili Introduction Chapter 1. OS2- Sem1-83; R. Jalili Definition of a Distributed System (1) A distributed system is: A collection of.
J ICOS’s Abstract Distributed Service Component Peter Cappello Computer Science Department UC Santa Barbara.
Distributed Systems: Principles and Paradigms By Andrew S. Tanenbaum and Maarten van Steen.
Types of Operating Systems 1 Computer Engineering Department Distributed Systems Course Assoc. Prof. Dr. Ahmet Sayar Kocaeli University - Fall 2015.
© Chinese University, CSE Dept. Distributed Systems / Distributed Systems Topic 1: Characterization of Distributed & Mobile Systems Dr. Michael R.
Internet-Based TSP Computation with Javelin++ Michael Neary & Peter Cappello Computer Science, UCSB.
Development of e-Science Application Portal on GAP WeiLong Ueng Academia Sinica Grid Computing
Introduction Why are virtual machines interesting?
Introduction Chapter 1. Definition of a Distributed System (1) A distributed system is: A collection of independent computers that appears to its users.
TECHNOLOGY GUIDE THREE Emerging Types of Enterprise Computing.
Enterprise Computing with Jini Technology Mark Stang and Stephen Whinston Jan / Feb 2001, IT Pro presented by Alex Kotchnev.
Java-Based Parallel Computing on the Internet: Javelin 2.0 & Beyond Michael Neary & Peter Cappello Computer Science, UCSB.
Problem On a regular basis we use: –Java applets –JavaScript –ActiveX –Shockwave Notion of ubiquitous computing.
TEXT: Distributed Operating systems A. S. Tanenbaum Papers oriented on: 1.OS Structures 2.Shared Memory Systems 3.Advanced Topics in Communications 4.Distributed.
Cloud Computing from a Developer’s Perspective Shlomo Swidler CTO & Founder mydrifts.com 25 January 2009.
JICOS A Java-Centric Network Computing Service Peter Cappello & Christopher James Coakley Computer Science University of California, Santa Barbara.
JICOS A Java-Centric Distributed Computing Service
Operating Systems : Overview
The Open Grid Service Architecture (OGSA) Standard for Grid Computing
Definition of Distributed System
CX: A Scalable, Robust Network for Parallel Computing
Steven Whitham Jeremy Woods
University of Technology
Overview Introduction VPS Understanding VPS Architecture
Advanced Operating Systems
Operating Systems : Overview
AGENT OS.
Operating Systems : Overview
Architectures of distributed systems Fundamental Models
Architectures of distributed systems Fundamental Models
Operating Systems : Overview
Operating Systems : Overview
Operating Systems : Overview
Architectures of distributed systems
Atlas: An Infrastructure for Global Computing
Architectures of distributed systems Fundamental Models
Database System Architectures
Presentation transcript:

J ICOS A Java-Centric Distributed Computing Service Peter Cappello & Chris Coakley Computer Science Department UC Santa Barbara

2 J ICOS Heterogeneous hardware & OS Easy to program Fault tolerant compute servers (hosts) Adaptively parallel Small-grain parallel computation

3 Overview Computational model API Architecture Performance Benefit summary Plans

4 Computational Model DAC task graph f(3)f(2) + f(1) f(0) + + f(1)f(0) + f(4)

5 Computational Model Embedded in an Environment f(3)f(2) + f(1) f(0) + + f(1)f(0) + f(4) Read input object Read/Write shared object

6 Overview Computational model API Architecture Performance Benefit summary Plans

7 API 2 task classes: –F –Sum f(3)f(2) + f(1) f(0) + + f(1)f(0) + f(4)

8 API public class F extends Task { private int n; public F(int n) { this.n = n; } public Object execute(Env e) { if (n < 2 ) { return new Integer( 1 ); else { compute( new F( n-1 ) ); compute( new F( n-2 ) ); return new Sum(); } f(3)f(2) + f(1) f(0) + + f(1)f(0) + f(4)

9 API public class F extends Task { private int n; public F(int n) { this.n = n; } public Object execute(Env e) { if (n < 2 ) { return new Integer( 1 ); else { compute( new F( n-1 ) ); compute( new F( n-2 ) ); return new Sum(); } f(3)f(2) + f(1) f(0) + + f(1)f(0) + f(4)

10 API public class F extends Task { private int n; public F(int n) { this.n = n; } public Object execute(Env e) { if (n < 2 ) { return new Integer( 1 ); else { compute( new F( n-1 ) ); compute( new F( n-2 ) ); return new Sum(); } f(3)f(2) + f(1) f(0) + + f(1)f(0) + f(4)

11 API public class F extends Task { private int n; public F(int n) { this.n = n; } public Object execute(Env e) { if (n < 2 ) { return new Integer( 1 ); else { compute( new F( n-1 ) ); compute( new F( n-2 ) ); return new Sum(); } f(3)f(2) + f(1) f(0) + + f(1)f(0) + f(4)

12 API public class Sum extends Task { public Object execute(Env e) { Integer I = ((Integer) getInput(0)); Integer J = ((Integer) getInput(1)); int sum = I.intValue() + J.intValue(); return new Integer( sum ); } f(3)f(2) + f(1) f(0) + + f(1)f(0) + f(4)

13 Overview Computational model API Architecture Performance Benefit summary Plans

14 Architecture Goals Virtualize compute cycles Store/coordinate partial results Self-organizing Independent of hardware/OS Scale from LAN to Internet

15 Architecture … JICOS has 3 service component classes: Hosting Service Provider (HSP): –clients interact solely with the HSP. –HSP manages other service components Task server –A task space Host –Executes tasks

16 Hosting Service Provider Client Architecture …

17 Architecture … Adaptive parallelism HSP CLIENT

18 Architecture … Fault tolerance HSP CLIENT

19 Architecture Latency hiding/reduction Task caching Task pre-fetch Task server computation

20 Overview Computational model API Architecture Performance Benefit summary Plans

21 J ICOS Speedup:150-City TSP 1 processor: 6 hours, 18 minutes 52 processors: 8 minutes 16K Tasks, average task time: 1.5 seconds

22 Overview Computational model API Architecture Performance Benefit summary Plans

23 Benefit Summary API is easy to use Heterogeneous hardware & OS Adaptive parallelism Tolerates faulty hosts Hides/reduces communication latency Small-grain parallel computation

24 Overview Computational model API Architecture Performance Benefit summary Plans

25 Plans Jicos application as web service: allows non-Java programs to “use” Jicos. JICOS TSP WEB SERVER Non-Java Program JAVA XML-encoded TSP instance

26 Plans Larger performance experiments Implement more NP-hard optimizations –Investigate upper & lower bounds Use Jini to enable: –Secure communication (SSL) –Dynamic service discovery More programming models

27 Thanks! Questions?