G-JavaMPI: A Grid Middleware for Distributed Java Computing with MPI Binding and Process Migration Supports Lin Chen, Cho-Li Wang, Francis C. M. Lau and.

Slides:



Advertisements
Similar presentations
Threads, SMP, and Microkernels
Advertisements

Processes Management.
M. Muztaba Fuad Masters in Computer Science Department of Computer Science Adelaide University Supervised By Dr. Michael J. Oudshoorn Associate Professor.
Chorus and other Microkernels Presented by: Jonathan Tanner and Brian Doyle Articles By: Jon Udell Peter D. Varhol Dick Pountain.
Threads, SMP, and Microkernels Chapter 4. Process Resource ownership - process is allocated a virtual address space to hold the process image Scheduling/execution-
Extensibility, Safety and Performance in the SPIN Operating System Department of Computer Science and Engineering, University of Washington Brian N. Bershad,
G-PASS: Security Infrastructure for Grid Travelers Tianchi Ma, Lin Chen, Cho-Li Wang, Francis C.M. Lau The University of Hong Kong.
USING THE GLOBUS TOOLKIT This summary by: Asad Samar / CALTECH/CMS Ben Segal / CERN-IT FULL INFO AT:
A Grid Parallel Application Framework Jeremy Villalobos PhD student Department of Computer Science University of North Carolina Charlotte.
Operating Systems High Level View Chapter 1,2. Who is the User? End Users Application Programmers System Programmers Administrators.
Figure 2.8 Compiler phases Compiling. Figure 2.9 Object module Linking.
Dawson R. Engler, M. Frans Kaashoek, and James O'Tool Jr.
1/28/2004CSCI 315 Operating Systems Design1 Operating System Structures & Processes Notice: The slides for this lecture have been largely based on those.
Copyright Arshi Khan1 System Programming Instructor Arshi Khan.
Distributed Process Implementation Hima Mandava. OUTLINE Logical Model Of Local And Remote Processes Application scenarios Remote Service Remote Execution.
Programming mobile devices Part II Programming Symbian devices with Symbian C++
Chapter 8 Input/Output. Busses l Group of electrical conductors suitable for carrying computer signals from one location to another l Each conductor in.
hardware and operating systems basics.
Research Achievements Kenji Kaneda. Agenda Research background and goal Research background and goal Overview of my research achievements Overview of.
1 Lecture 4: Threads Operating System Fall Contents Overview: Processes & Threads Benefits of Threads Thread State and Operations User Thread.
 What is an operating system? What is an operating system?  Where does the OS fit in? Where does the OS fit in?  Services provided by an OS Services.
“Towards an SSI for HP Java” Francis Lau The University of Hong Kong With contributions from C.L. Wang, Ricky Ma, and W.Z. Zhu.
So, Jung-ki Distributed Computing System LAB School of Computer Science and Engineering Seoul National University Implementation of Package Management.
Chapter 5.4 DISTRIBUTED PROCESS IMPLEMENTAION Prepared by: Karthik V Puttaparthi
Lecture 3 Process Concepts. What is a Process? A process is the dynamic execution context of an executing program. Several processes may run concurrently,
Silberschatz, Galvin and Gagne  2002 Modified for CSCI 399, Royden, Operating System Concepts Operating Systems Lecture 7 OS System Structure.
Copyright © George Coulouris, Jean Dollimore, Tim Kindberg This material is made available for private study and for direct.
Evaluation of Agent Teamwork High Performance Distributed Computing Middleware. Solomon Lane Agent Teamwork Research Assistant October 2006 – March 2007.
Hardware process When the computer is powered up, it begins to execute fetch-execute cycle for the program that is stored in memory at the boot strap entry.
Issues Autonomic operation (fault tolerance) Minimize interference to applications Hardware support for new operating systems Resource management (global.
1 Process migration n why migrate processes n main concepts n PM design objectives n design issues n freezing and restarting a process n address space.
OPERATING SYSTEM SUPPORT DISTRIBUTED SYSTEMS CHAPTER 6 Lawrence Heyman July 8, 2002.
Middleware Services. Functions of Middleware Encapsulation Protection Concurrent processing Communication Scheduling.
Department of Computer Science and Software Engineering
Lecture 4 Mechanisms & Kernel for NOSs. Mechanisms for Network Operating Systems  Network operating systems provide three basic mechanisms that support.
Hardware process When the computer is powered up, it begins to execute fetch-execute cycle for the program that is stored in memory at the boot strap entry.
COMP381 by M. Hamdi 1 Clusters: Networks of WS/PC.
Chapter 2 Process Management. 2 Objectives After finish this chapter, you will understand: the concept of a process. the process life cycle. process states.
3/12/2013Computer Engg, IIT(BHU)1 PARALLEL COMPUTERS- 2.
Operating Systems Unit 2: – Process Context switch Interrupt Interprocess communication – Thread Thread models Operating Systems.
Running Commodity Operating Systems on Scalable Multiprocessors Edouard Bugnion, Scott Devine and Mendel Rosenblum Presentation by Mark Smith.
Embedded Real-Time Systems Processing interrupts Lecturer Department University.
CSCI/CMPE 4334 Operating Systems Review: Exam 1 1.
1 Chapter 2: Operating-System Structures Services Interface provided to users & programmers –System calls (programmer access) –User level access to system.
Embedded Real-Time Systems
Memory Protection: Kernel and User Address Spaces Andy Wang Operating Systems COP 4610 / CGS 5765.
Towards a High Performance Extensible Grid Architecture Klaus Krauter Muthucumaru Maheswaran {krauter,
A Single Intermediate Language That Supports Multiple Implemtntation of Exceptions Delvin Defoe Washington University in Saint Louis Department of Computer.
Multiprogramming. Readings r Chapter 2.1 of the textbook.
Introduction to Operating Systems Concepts
Processes and threads.
Memory Protection: Kernel and User Address Spaces
OPERATING SYSTEMS CS3502 Fall 2017
Process Management Presented By Aditya Gupta Assistant Professor
Intro to Processes CSSE 332 Operating Systems
CS 286 Computer Organization and Architecture
Memory Protection: Kernel and User Address Spaces
Memory Protection: Kernel and User Address Spaces
Memory Protection: Kernel and User Address Spaces
Pluggable Architecture for Java HPC Messaging
Mid Term review CSC345.
Lecture Topics: 11/1 General Operating System Concepts Processes
MPJ: A Java-based Parallel Computing System
Outline Chapter 2 (cont) OS Design OS structure
Chapter 3: Processes.
CS510 Operating System Foundations
System calls….. C-program->POSIX call
M S COLLEGE ART’S, COMM., SCI. & BMS
Memory Protection: Kernel and User Address Spaces
In Today’s Class.. General Kernel Responsibilities Kernel Organization
Presentation transcript:

G-JavaMPI: A Grid Middleware for Distributed Java Computing with MPI Binding and Process Migration Supports Lin Chen, Cho-Li Wang, Francis C. M. Lau and Ricky K. K. Ma Department of Computer Science and Information Systems The University of Hong Kong

GCC2002 Presentation Lin Chen, CSIS, HKU (Dec. 26, 2002) 2 Outline Motivation Overall system architecture Detailed Issues Related works Conclusion & Future Work

GCC2002 Presentation Lin Chen, CSIS, HKU (Dec. 26, 2002) 3 Motivation Grid computing: large-scale resource sharing, high performance Globus Project: basic services required by building and using a Grid (authentication, security, resource allocation, remote data access, information services, etc.) However long-running applications  continuous computation Better utilization of resource  scheduling and load balancing Java process migration architecture-independent bytecode makes migration easier

GCC2002 Presentation Lin Chen, CSIS, HKU (Dec. 26, 2002) 4 Motivation Let the programmer write a grid application easily no care about inter-site communication and intra-site communication (we must care about it if directly using globus communication libraries) SPMD: one program can be executed in multiple places or sites MPI paradigm a group of distributed processes, they can do peer-to-peer or collective communication Communication source or destination addresses are unrelated with the real physical network address (adaptable)

GCC2002 Presentation Lin Chen, CSIS, HKU (Dec. 26, 2002) 5 System Overview (*) Gatekeeper (1)(1*) LS Gatekeeper (3*) LS Gatekeeper (3) LS (2) WAN Migrating (restarting a new process through Globus remote job request with delegated user credentials and Java-MPI job credentials) Java-MPI communication Some legacy messages are redirected during migration (2*) JVM M Migration module resides in each JVM

GCC2002 Presentation Lin Chen, CSIS, HKU (Dec. 26, 2002) 6 System overview Globus Toolkit LibrariesJava MPI communication daemons Local schedulers Java-MPI processes Migration modules A Java-MPI processJava-MPI process (before migration)(after migration) (1*) – (2*) – (3*): MPI communication route before migration (1*) – (2*) – (3*): MPI communication route after migration (*): Java MPI communication daemons redirect some legacy messages which should be go to the migrated process M LS

GCC2002 Presentation Lin Chen, CSIS, HKU (Dec. 26, 2002) 7 Layered design Restorable Communication Services Authentication Control Block DLB Policy Info. Update (Restorable MPI Comm Layer)(Load Balancing Module) Java-MPI Applications MPICH-G2 Message Queues Globus Services OS JVM JVMDI Execution State Probe & Migration Plug-in (Migration Layer) Java-MPI API & Java API (Java-MPI API Layer) Hardware Migration Instructions

GCC2002 Presentation Lin Chen, CSIS, HKU (Dec. 26, 2002) 8 Java-MPI binding Restorable communication layer Daemon, a running MPICH-G2 process, providing MPI communication services Communicate with JavaMPI process through IPC Post-migration message re-direction Restorable Communication Process space

GCC2002 Presentation Lin Chen, CSIS, HKU (Dec. 26, 2002) 9 Java Process Migration State capturing: a probe attached in each JVM, saves the process context through JVMDI (JVM Debugger Interface) All runtime data: PC register, stack frames, objects, method area (local variables), etc. Event notification: method_entry, frame_pop, etc. Use object serialization to package all reachable objects in heap New JDK1.4.0 & released in Aug support “full- speed debugging” JVM probe JVMDI 1. Execution state data 2. Event notification

GCC2002 Presentation Lin Chen, CSIS, HKU (Dec. 26, 2002) 10 Java process migration State Restoration: Exception handler inserted in bytecode (pre-processing before execution) to restore local variables and “jump” to the original execution point Re-allocate objects when re-starting JVM Dynamic class loading

GCC2002 Presentation Lin Chen, CSIS, HKU (Dec. 26, 2002) 11 Information update Migration Source site Migration Destination site Other sites Migration begin Notify other sites (including destination site) The process arrives the safe migration point (consume all legacy messages) Update local site of the process’s new place Begin process state capturation

GCC2002 Presentation Lin Chen, CSIS, HKU (Dec. 26, 2002) 12 Process Restart Original Process Original Process New-started Process New-started Process creates a new user certificate proxy (proxy_init_cred ) delegated to remote site get the resource allocation The new process can be started (similar to normal globus job submit) JVM initialization At the same time, the probe started Process suspended in the beginning, Probe read out context from dumpfile Restoring the execution context Process resumed and continued from the last point

GCC2002 Presentation Lin Chen, CSIS, HKU (Dec. 26, 2002) 13 Experiment Results Hardware 32-node Cluster “ostrich” configured as two grid points of 16 nodes 733MHz Pentium III processor 392MB of memory connected by a 24-port Fast Ethernet switch Software Linux Gloubs 2.0 Sun JDK 1.4.0_02 (supporting JVMDI with full-speed debugging mode) MPICH (MPICH-G2)

GCC2002 Presentation Lin Chen, CSIS, HKU (Dec. 26, 2002) 14 Experiment results Bandwidth comparison between inter-site and intra-site communication with the installation of the MPI communication layer.

GCC2002 Presentation Lin Chen, CSIS, HKU (Dec. 26, 2002) 15 Experiment results Latency comparison for small messages between intra-site and inter-site communication with the installation of the MPI communication layer.

GCC2002 Presentation Lin Chen, CSIS, HKU (Dec. 26, 2002) 16 Experiment results Time spent in capturing and restoring objects

GCC2002 Presentation Lin Chen, CSIS, HKU (Dec. 26, 2002) 17 Experiment results Time spent in capturing and restoring frames

GCC2002 Presentation Lin Chen, CSIS, HKU (Dec. 26, 2002) 18 Related Works Java bindings for MPI: “mpiJava”, “JavaMPI”, “MPIJ”, etc. Java process or thread migration: Add additional backup codes in programs [Aglets[IBM96]] Insert backup statements in the source or byte code, a backup object is used to store state [Wasp project [Funfrocken98]] Extend the JVM, make state accessible from Java programs, support type recognition of Java stack [sara Bouchenak 2000] Use JVMDI to capture state, insert bytecode instructions in program body to help restoring [Torsten2001] JESSICA (supports thread migration in JVM)

GCC2002 Presentation Lin Chen, CSIS, HKU (Dec. 26, 2002) 19 Conclusion a new middleware for the Grid with Java-MPI communication and transparent process migration features. write MPI-style programs in Java language Java process migration mechanism supports the development of any dynamic load balancing policy or fault tolerance mechanism

GCC2002 Presentation Lin Chen, CSIS, HKU (Dec. 26, 2002) 20 Future Plan Develop some scientific and engineering applications on top of this middleware Support of the transfer of other I/O (including file stage-in/out) Load balancing algorithm for the grid environment (both CPU and network load)

The End Thanks !