1 / 25

Socket Swapping for efficient distributed communication between migrating processes

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?

Download Presentation

Socket Swapping for efficient distributed communication between migrating processes

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


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

  2. 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

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

  4. 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

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

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

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

  8. 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

  9. 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

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

  11. 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; }

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

  13. 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

  14. 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

  15. 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

  16. 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

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

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

  19. Results (Data Size:400MB)

  20. Questions?

  21. Acknowledgements • Dr Daniel Andresen • Dr Gurdip Singh • Dr Mitchell Neilsen

More Related