WING: A Consistent Computing Platform Yiwei Ci 22/02/2012

Slides:



Advertisements
Similar presentations
More on Processes Chapter 3. Process image _the physical representation of a process in the OS _an address space consisting of code, data and stack segments.
Advertisements

Operating System Structure
Distributed Processing, Client/Server, and Clusters
Copyright 2009 FUJITSU TECHNOLOGY SOLUTIONS PRIMERGY Servers and Windows Server® 2008 R2 Benefit from an efficient, high performance and flexible platform.
Towards High-Availability for IP Telephony using Virtual Machines Devdutt Patnaik, Ashish Bijlani and Vishal K Singh.
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.
DISTRIBUTED CONSISTENCY MANAGEMENT IN A SINGLE ADDRESS SPACE DISTRIBUTED OPERATING SYSTEM Sombrero.
INTRODUCTION OS/2 was initially designed to extend the capabilities of DOS by IBM and Microsoft Corporations. To create a single industry-standard operating.
Threads Clients Servers Code Migration Software Agents Summary
MobiDesk: Mobile Virtual Desktop Computing Ricardo A. Baratto, Shaya Potter, Gong Su, Jason Nieh Network Computing Laboratory Columbia University September.
MobiDesk: Mobile Virtual Desktop Computing Ricardo A. Baratto, Shaya Potter, Gong Su, Jason Nieh Network Computing Laboratory Columbia University.
Figure 1.1 Interaction between applications and the operating system.
Xuan Guo Chapter 1 What is UNIX? Graham Glass and King Ables, UNIX for Programmers and Users, Third Edition, Pearson Prentice Hall, 2003 Original Notes.
PRASHANTHI NARAYAN NETTEM.
Operating Systems.
1 MASTERING (VIRTUAL) NETWORKS A Case Study of Virtualizing Internet Lab Avin Chen Borokhovich Michael Goldfeld Arik.
Design and Implementation of a Single System Image Operating System for High Performance Computing on Clusters Christine MORIN PARIS project-team, IRISA/INRIA.
Chapter 51 Threads Chapter 5. 2 Process Characteristics  Concept of Process has two facets.  A Process is: A Unit of resource ownership:  a virtual.
Computer Organization
Chapter 8 Windows Outline Programming Windows 2000 System structure Processes and threads in Windows 2000 Memory management The Windows 2000 file.
Rensselaer Polytechnic Institute CSCI-4210 – Operating Systems David Goldschmidt, Ph.D.
SSI-OSCAR A Single System Image for OSCAR Clusters Geoffroy Vallée INRIA – PARIS project team COSET-1 June 26th, 2004.
Yavor Todorov. Introduction How it works OS level checkpointing Application level checkpointing CPR for parallel programing CPR functionality References.
1 Chapter Client-Server Interaction. 2 Functionality  Transport layer and layers below  Basic communication  Reliability  Application layer.
Silberschatz, Galvin and Gagne ©2009 Operating System Concepts – 8 th Edition, Chapter 2: System Structures.
Protection and the Kernel: Mode, Space, and Context.
Chapter 6 Operating System Support. This chapter describes how middleware is supported by the operating system facilities at the nodes of a distributed.
Chapter 8 Implementing Disaster Recovery and High Availability Hands-On Virtual Computing.
Appendix B Planning a Virtualization Strategy for Exchange Server 2010.
So, Jung-ki Distributed Computing System LAB School of Computer Science and Engineering Seoul National University Implementation of Package Management.
Windows Operating System Internals - by David A. Solomon and Mark E. Russinovich with Andreas Polze Unit OS6: Device Management 6.1. Principles of I/O.
Three fundamental concepts in computer security: Reference Monitors: An access control concept that refers to an abstract machine that mediates all accesses.
Presented by: Sanketh Beerabbi University of Central Florida COP Cloud Computing.
DCE (distributed computing environment) DCE (distributed computing environment)
4P13 Week 1 Talking Points. Kernel Organization Basic kernel facilities: timer and system-clock handling, descriptor management, and process Management.
Lecture 3 Process Concepts. What is a Process? A process is the dynamic execution context of an executing program. Several processes may run concurrently,
Windows NT Operating System. Windows NT Models Layered Model Client/Server Model Object Model Symmetric Multiprocessing.
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.
Comparison of Distributed Operating Systems. Systems Discussed ◦Plan 9 ◦AgentOS ◦Clouds ◦E1 ◦MOSIX.
Operating Systems David Goldschmidt, Ph.D. Computer Science The College of Saint Rose CIS 432.
1 Week #10Business Continuity Backing Up Data Configuring Shadow Copies Providing Server and Service Availability.
Ihr Logo Operating Systems Internals & Design Principles Fifth Edition William Stallings Chapter 2 (Part II) Operating System Overview.
PART II OPERATING SYSTEMS LECTURE 8 SO TAXONOMY Ştefan Stăncescu 1.
Issues Autonomic operation (fault tolerance) Minimize interference to applications Hardware support for new operating systems Resource management (global.
Scott Ferguson Section 1
CS533 - Concepts of Operating Systems 1 The Mach System Presented by Catherine Vilhauer.
Types of Operating Systems 1 Computer Engineering Department Distributed Systems Course Assoc. Prof. Dr. Ahmet Sayar Kocaeli University - Fall 2015.
20409A 7: Installing and Configuring System Center 2012 R2 Virtual Machine Manager Module 7 Installing and Configuring System Center 2012 R2 Virtual.
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.
Chapter 2 Operating System Overview Patricia Roy Manatee Community College, Venice, FL ©2008, Prentice Hall Operating Systems: Internals and Design Principles,
Distributed Computing Systems CSCI 6900/4900. Review Definition & characteristics of distributed systems Distributed system organization Design goals.
Running Commodity Operating Systems on Scalable Multiprocessors Edouard Bugnion, Scott Devine and Mendel Rosenblum Presentation by Mark Smith.
IBM’s OS/2 by Chris Axford Chris Evans Elizabeth McGinnis Erik Swensson.
Containers as a Service with Docker to Extend an Open Platform
Netscape Application Server
OpenMosix, Open SSI, and LinuxPMI
The Mach System Sri Ramkrishna.
Heterogeneous Computation Team HybriLIT
Introduction to Operating Systems
20409A 7: Installing and Configuring System Center 2012 R2 Virtual Machine Manager Module 7 Installing and Configuring System Center 2012 R2 Virtual.
Operating Systems : Overview
Operating Systems : Overview
Operating Systems : Overview
SCONE: Secure Linux Containers Environments with Intel SGX
Operating Systems : Overview
Outline Operating System Organization Operating System Examples
Chapter 2 Operating System Overview
A Virtual Machine Monitor for Utilizing Non-dedicated Clusters
Threads: Light-Weight Processes
Presentation transcript:

WING: A Consistent Computing Platform Yiwei Ci 22/02/2012

Goals Give processes suitable places for computing. Take processes to the place suitable. Transparency – OS abstraction (SSI). – Hardware abstraction supports heterogeneous system Seamless – Dynamically switch workplace.

Challenges Security – Prevent malicious software? Availability – The availability of each computer is high today. How about the whole distributed system? Scalability – Provide just-in-time scalability?

Application scenarios Build your data center. – Exchange between data migration and computation migration. Build your virtual cluster. – PC + PC – PC + Mobi – Mobi + Mobi Build your test bed. – Easy deployment

Related works XtreemOS – Grid operating system supporting virtual organizations. – Latest version: 3.0 (2012/02/10) OpenSSI – Provide single process space, single I/O space, single IPC space, and single root for the cluster. – Latest version: (2010/02/18) OpenMosix – A Linux kernel extension for single-system image clustering – Latest version: (closed)

Related works OpenSSIOpenMosixKerrighed Single Administrative DomainYesNoYes Cluster Membership GuaranteesYesNo High-Availability (HA) ClusteringYesNo Single Process Management SpaceYesNoYes Process MigrationFullPartial Process Load BalancingYes Process Migration is HAYesNo Migrate Processes Using SemaphoresYes Migrate Processes Using Shared MemoryYesNoYes Single Thread MigrationOnly thread groupNo Process Checkpointing3rd party Yes Single IPC NamespaceYesNoYes

Related works OpenSSIOpenMosixKerrighed Distributed Shared MemoryMigratesNoYes Single PTY NamespaceYesNo Single-Site File NamingYesNo ? Coherent Cache / File AccessYes ? ? Migrate Active FilesystemExperimentalNo HA Cluster Filesystem (CFS)YesNo HA Single Cluster Name/AddressYesNo HA Network Load Balancer (LB)YesNo LB Auto Detects TCP/UDP IP ServicesYes (UDP 1.9.1)N/A Transparent Socket MigrationNot yetNoYes Automatic Service FailoverYesNo Diskless Nodes via Network BootYes (PXE/EtherBoot)NoYes

Outline Design Implementation Results Conclusions

Design Virtualization (1)

Design Virtualization (2)

Design Virtualization (3)

Design Virtualization (4)

Design Virtualization (5)

Design Basic Architecture

Design Metaphor Object Operation System callPathFile operation …/class_key_entry op id flags Metaphor: everything is a file Subject object subject

Design Resource – Computation resource Process – Data resource File Memory – Common resource IPC: msg, sem, shm …

Design Area Basically, an operating system has two areas for different processes. – Local area: local computing. – Global area: distributed computing. /mnt/repo The resources in local area are invisible to the processes in global area. The resources in global area are consistent.

Design Isolation – Process Isolation Processes in WING are “invisible” to the world outside. – Data Isolation Data in WING is “invisible” to the world outside. The private data of one user is “invisible” to other users. – Private files. – The private data inside a file.

Implementation Components WTRANS: kernel translator WLN: linker WRES: common resource WCR: checkpoint kernel module CFS: checkpoint file system WMAN: process manager LDFS: lightweight distributed file system IFS: image file system

Implementation Checkpoint Record the status of a process (transparent to the programmer) – Registers – Opened files – Signals – Credentials – Memory – IPC

Implementation Checkpoint – Incremental saving – Dynamic recovery – Dedicated file system

Implementation Distributed IPC message 、 semaphore 、 shared memory – System V IPC does not support distributed communication. – It is complex to dump and to restore the IPC status in kernel.

Implementation Distributed IPC – Coexist of conventional System V IPC and distributed IPC (the same interface). – Ensure the consistency of IPC resources in the distributed environment. – Stateless in kernel (for process migration) Re-implement IPC in user-space. provide a pseudo file system to store the status of the IPC resource (RAM based). – High availability

Implementation Distributed IPC – Event Driven Event-Flow

Implementation Msg: Requirements: 1) msgtyp = 0 : the first message on the queue is received. 2) msgtyp > 0 : the first message of type msgtyp is received. 3) msgtyp < 0 : the first message of the lowest type that is less than or equal to the absolute value of msgtyp is received. Sem Requirements: 1) RPC has a time-out mechanism (for semtimedop). 2) RPC has an undo mechanism (for exit_sem).

Implementation Shared memory Problems: – Find (key, value) pair – Frequently update of (key, value) Consistency model: – Sequential consistency Features: – Multi-owner – Versioning – Write invalidation

Implementation Shared memory Handle shm_fault

Implementation Shared memory Handle shm_fault

Implementation Image File System (IFS) Data can be shared, but the data for each user needs to be protected. – Each user can have a different view of a file. – The processes of the same user have the same view of a file.

Implementation Image File System

Results Environment: – VM (x2): 512MB RAM, 2 processors, NAT – OS: Based on kernel – Host: 2048MB RAM, Intel Core 2 Duo CPU T6570 Experiments: – Msg – Sem

Results Msg Leader: 1.Use msg( key 0 ) to collect start requests from members; 2.If all start requests are received then 3. Use msg( key i ) (i > 0) to send start i ; 4. Use msg( key N+1 ) to collect stop requests; 5. if all stop requests are received then 6. return success; 7.return fail; Member i: 1.Use msg( key 0 ) to send start request to leader; 2.If start i is successfully received by msg( key i ) then 3. create_process(msg_snd); 4. create_process(msg_rcv); 5. if msg_snd and msg_rcv are finished then 6. Use msg( key N+1 ) to send stop request to leader; Process msg_snd 1.for n = 1 to ROUNDS do 2. Use msg( key 0 ) to receive req; 3. Build mtext (|mtext| = req.msgsz); 4. i := req.src; 5. Use msg( key i ) to send mtext; Process msg_rcv at member i 1.for n = 1 to ROUNDS do 2. req.msgsz := rand() % MSG_SIZE + 1; 3. req.src := i; 4. Use msg( key 0 ) to send req; 5. Use msg( key i ) to receive mtext; 1 leader, 1 member, ROUNDS = 1000, MSG_SIZE = 128, time = sec

Results sem 1 leader, 1 member, ROUNDS = 1000, time = sec Leader: 1.Create sem( key 0 ) (sem( key 0 ) has N items); 2.Assign each item of sem( key 0 ) to 0; 3.If all items of sem( key 0 ) are not 0 then 4. for i = 1 to N do 5. remove sem( key i ); Member i: 1.Create sem( key i ); 2.If all sem( key j ) (j ≠ i) are created then 3. for n = 1 to ROUNDS do 4. k := rand() % N + 1; 5. down(sem( key k )); 6. up(sem( key k )); 7. endfor 8. sem( key 0 ).item i := 1;

Conclusions By operating system virtualization, WING provides processes in different nodes with consistent views of the distributed resources. There are no additional libraries required. Conventional multi-task applications can be used for distributed computing.

Future work Components – WMAN: process manager – LDFS: lightweight distributed file system Tools: – Profiler – Test suits Stability Security

Thanks

Q&A