Socket Swapping for efficient distributed communication between migrating processes MS Final Defense Praveen Ramanan 12 th Dec 2002.

Slides:



Advertisements
Similar presentations
Mobile Agents Mouse House Creative Technologies Mike OBrien.
Advertisements

PlanetLab: An Overlay Testbed for Broad-Coverage Services Bavier, Bowman, Chun, Culler, Peterson, Roscoe, Wawrzoniak Presented by Jason Waddle.
Threads, SMP, and Microkernels
Operating System.
System Area Network Abhiram Shandilya 12/06/01. Overview Introduction to System Area Networks SAN Design and Examples SAN Applications.
User-Mode Linux Ken C.K. Lee
© Janice Regan, CMPT 128, CMPT 371 Data Communications and Networking Socket Programming 0.
Operating System Structure
PlanetLab Operating System support* *a work in progress.
Threads, SMP, and Microkernels Chapter 4. Process Resource ownership - process is allocated a virtual address space to hold the process image Scheduling/execution-
Fundamentals of Computer Security Geetika Sharma Fall 2008.
Network and Server Basics. 6/1/20152 Learning Objectives After viewing this presentation, you will be able to: Understand the benefits of a client/server.
VIA and Its Extension To TCP/IP Network Yingping Lu Based on Paper “Queue Pair IP, …” by Philip Buonadonna.
MIGSOCK Migratable TCP Socket in Linux Demonstration of Functionality Karthik Rajan Bryan Kuntz.
Socket Programming.
Tanenbaum & Van Steen, Distributed Systems: Principles and Paradigms, 2e, (c) 2007 Prentice-Hall, Inc. All rights reserved DISTRIBUTED SYSTEMS.
Linux Networking Overview COMS W Spring 2010.
© 2007 Pearson Education Inc., Upper Saddle River, NJ. All rights reserved.1 Computer Networks and Internets with Internet Applications, 4e By Douglas.
Figure 1.1 Interaction between applications and the operating system.
1 What is an operating system? CSC330Patricia Van Hise.
Chapter 6 - Implementing Processes, Threads and Resources Kris Hansen Shelby Davis Jeffery Brass 3/7/05 & 3/9/05 Kris Hansen Shelby Davis Jeffery Brass.
I NTRODUCTION OF S OCKET P ROGRAMMING L.Aseel AlTurki King Saud University.
1 Networking (Stack and Sockets API). 2 Topic Overview Introduction –Protocol Models –Linux Kernel Support TCP/IP Sockets –Usage –Attributes –Example.
Chapter 17 Networking Dave Bremer Otago Polytechnic, N.Z. ©2008, Prentice Hall Operating Systems: Internals and Design Principles, 6/E William Stallings.
Tanenbaum & Van Steen, Distributed Systems: Principles and Paradigms, 2e, (c) 2007 Prentice-Hall, Inc. All rights reserved DISTRIBUTED.
1 Chapter Client-Server Interaction. 2 Functionality  Transport layer and layers below  Basic communication  Reliability  Application layer.
UNIX SVR4 COSC513 Zhaohui Chen Jiefei Huang. UNIX SVR4 UNIX system V release 4 is a major new release of the UNIX operating system, developed by AT&T.
Chapter 6 Operating System Support. This chapter describes how middleware is supported by the operating system facilities at the nodes of a distributed.
OS provide a user-friendly environment and manage resources of the computer system. Operating systems manage: –Processes –Memory –Storage –I/O subsystem.
LWIP TCP/IP Stack 김백규.
Chapter 2: Operating-System Structures. 2.2 Silberschatz, Galvin and Gagne ©2005 Operating System Concepts Chapter 2: Operating-System Structures Operating.
CSP Implementing a network 1 Implementing a network Lecturer: Smilen Dimitrov Cross-sensorial processing – MED7.
1.4 Open source implement. Open source implement Open vs. Closed Software Architecture in Linux Systems Linux Kernel Clients and Daemon Servers Interface.
Tanenbaum & Van Steen, Distributed Systems: Principles and Paradigms, 2e, (c) 2007 Prentice-Hall, Inc. All rights reserved DISTRIBUTED SYSTEMS.
Copyright © George Coulouris, Jean Dollimore, Tim Kindberg This material is made available for private study and for direct.
---- IT Acumens. COM IT Acumens. COMIT Acumens. COM.
Comparison of Distributed Operating Systems. Systems Discussed ◦Plan 9 ◦AgentOS ◦Clouds ◦E1 ◦MOSIX.
Threads, SMP, and Microkernels Chapter 4. Process Resource ownership - process is allocated a virtual address space to hold the process image Scheduling/execution-
Operating Systems David Goldschmidt, Ph.D. Computer Science The College of Saint Rose CIS 432.
DISTRIBUTED SYSTEMS Principles and Paradigms Second Edition ANDREW S
Android Security Model that Provide a Base Operating System Presented: Hayder Abdulhameed.
Issues Autonomic operation (fault tolerance) Minimize interference to applications Hardware support for new operating systems Resource management (global.
Copyright © cs-tutorial.com. Overview Introduction Architecture Implementation Evaluation.
OPERATING SYSTEM SUPPORT DISTRIBUTED SYSTEMS CHAPTER 6 Lawrence Heyman July 8, 2002.
Scott Ferguson Section 1
FALL 2005CSI 4118 – UNIVERSITY OF OTTAWA1 Part 3.1 Internet Applications Ch. 28,… (Client-Server Concept, Use of Protocol Ports, Socket API)
Processes CSCI 4534 Chapter 4. Introduction Early computer systems allowed one program to be executed at a time –The program had complete control of the.
Intel Research & Development ETA: Experience with an IA processor as a Packet Processing Engine HP Labs Computer Systems Colloquium August 2003 Greg Regnier.
Tanenbaum & Van Steen, Distributed Systems: Principles and Paradigms, 2e, (c) 2007 Prentice-Hall, Inc. All rights reserved DISTRIBUTED SYSTEMS.
CS 6401 Introduction to Computer Networks 09/21/2010 Outline - UNIX sockets - A simple client-server program - Project 1 - LAN bridges and learning.
Part 4: Network Applications Client-server interaction, example applications.
Socket Programming.
1.4 Open source implement. Open source implement Open vs. Closed Software Architecture in Linux Systems Linux Kernel Clients and Daemon Servers Interface.
VMM Based Rootkit Detection on Android
Introduction Contain two or more CPU share common memory and peripherals. Provide greater system throughput. Multiple processor executing simultaneous.
FSU CIS 5930 Internet Protocols
Major OS Components CS 416: Operating Systems Design, Spring 2001 Department of Computer Science Rutgers University
Software Defined Networking and OpenFlow Geddings Barrineau Ryan Izard.
Client-server communication Prof. Wenwen Li School of Geographical Sciences and Urban Planning 5644 Coor Hall
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.
SERVERS. General Design Issues  Server Definition  Type of server organizing  Contacting to a server Iterative Concurrent Globally assign end points.
Introduction to Operating Systems Concepts
DISTRIBUTED SYSTEMS Principles and Paradigms Second Edition ANDREW S
OpenMosix, Open SSI, and LinuxPMI
Sockets and Beginning Network Programming
CASE STUDY 1: Linux and Android
Chapter 2: System Structures
Chapter 3: Windows7 Part 1.
Interacting With Protocol Software
Presentation transcript:

Socket Swapping for efficient distributed communication between migrating processes MS Final Defense Praveen Ramanan 12 th Dec 2002

Introduction What is Process Migration? The mechanism of transferring a process between two machines during its execution What is Socket Migration? The mechanism of transferring one end of a live connection from one host to another without loss or interruption to the packet flow

Need for Socket Migration Lack of Network Socket Migration at the Operating System Level MOSIX, its importance with socket migration

MOSIX and its characteristics Software that can transform a Linux cluster of x86 based workstations and servers to run almost like an SMP Has the ability to distribute and redistribute the processes among the nodes

Process Migration in MOSIX User-level Kernel Link Layer User-level Kernel Link Layer Deputy Remote Local process A local process and a migrated process

Solution: Kernel Socket Swapping Processes in machine A and B Communicate through Sockets Process migrates to Machine C Process then communicates through C library SocketSwap is called After communication Communication is re-established between the processes A B C

Technologies/Tools Used User Mode Linux (UML) Aglets JNI (Java Native Interface)

Sockets OS interface that allow communication between two different processes on same or different machines Behaves much like a low-level file descriptor Identified by a host.port pair

System calls Entry points through which an active process obtain services from the kernel Distinction between user mode and kernel mode Context switch done by generating a software interrupt

Socket related System Calls Socket() Bind() Listen() Connect() Accept() Read() and Write() Close()

Socket Strucuture struct socket { socket_state state; unsigned long flags; struct proto_ops *ops; struct inode *inode; struct fasync_list *fasync_list; struct file *file; struct sock *sk; wait_queue_head_t wait; short type; unsigned char passcred; }

Writing the System Call Implemented in User Mode Linux, a safe secure way of running linux versions and linux processes

Why UML? UML is a virtual machine which runs linux inside linux Debugging and testing becomes easy Protects the main linux machine from abnormal crashes

Features of UML It has a fully functional kernel It has hardware support It has access to host file system It is completely configurable, allowing its memory, available devices to be specified

Mobile agents and aglets Have unique ability to transport themselves from one system to another Aglets are java objects that can move from one host to the other Aglets takes the program code as well as data during its movement

Testing the System Call through aglets and JNI Aglets are made to communicate through a C library (C library uses sockets) through JNI During communication, aglets are made to move from one machine to another System call is called and the socket is swapped The communication of the moved aglet is then established with the swapped socket

4.Local C library communicates with C library of the remote machine. 4 2.Aglet B moves from one machine to another. 2 3.AgletB Contacts the HaveMoved() of the local C library 3 1. Aglets A and B are communicating within the same machine thru Send and Recv Fns of C library API 1 5.system call swaps the socket 5

6.New Communication is established between the processes after socket swap. 6

Results (Data Size:400MB) Latency(sec)BandWidth(Mbps) Mosix Normal Linux TCP UserModeLinux SocketSwap

Questions?

Acknowledgements Dr Daniel Andresen Dr Gurdip Singh Dr Mitchell Neilsen