Code and Process Migration! Motivation!



Similar documents
How To Write A Network Operating System For A Network (Networking) System (Netware)

A distributed system is defined as

Virtualization. Types of Interfaces

Data Centers and Cloud Computing

ΗΜΥ 656 ΠΡΟΧΩΡΗΜΕΝΗ ΑΡΧΙΤΕΚΤΟΝΙΚΗ ΗΛΕΚΤΡΟΝΙΚΩΝ ΥΠΟΛΟΓΙΣΤΩΝ Εαρινό Εξάμηνο 2007

Data Centers and Cloud Computing. Data Centers. MGHPCC Data Center. Inside a Data Center

Data Centers and Cloud Computing. Data Centers

Virtual Machines.

Tier Architectures. Kathleen Durant CS 3200

Chapter 4 Cloud Computing Applications and Paradigms. Cloud Computing: Theory and Practice. 1

Data Centers and Cloud Computing. Data Centers

Automatic load balancing and transparent process migration

Volunteer Computing, Grid Computing and Cloud Computing: Opportunities for Synergy. Derrick Kondo INRIA, France

Distribution transparency. Degree of transparency. Openness of distributed systems

Distributed File Systems

Web Server Software Architectures

Intro to Virtualization

Open Cloud System. (Integration of Eucalyptus, Hadoop and AppScale into deployment of University Private Cloud)

CUMULUX WHICH CLOUD PLATFORM IS RIGHT FOR YOU? COMPARING CLOUD PLATFORMS. Review Business and Technology Series

Jeffrey D. Ullman slides. MapReduce for data intensive computing

CS550. Distributed Operating Systems (Advanced Operating Systems) Instructor: Xian-He Sun

wu.cloud: Insights Gained from Operating a Private Cloud System

Cloud Server. Parallels. Key Features and Benefits. White Paper.

Cloud Computing with xcat on z/vm 6.3

Exploring Oracle E-Business Suite Load Balancing Options. Venkat Perumal IT Convergence

Cloud Computing with Red Hat Solutions. Sivaram Shunmugam Red Hat Asia Pacific Pte Ltd.

Red Hat Network Satellite Management and automation of your Red Hat Enterprise Linux environment

Large-Scale Web Applications

Architecting ColdFusion For Scalability And High Availability. Ryan Stewart Platform Evangelist

Computer Virtualization in Practice

Oracle9i Release 2 Database Architecture on Windows. An Oracle Technical White Paper April 2003

ELEC 377. Operating Systems. Week 1 Class 3

Globus Striped GridFTP Framework and Server. Raj Kettimuthu, ANL and U. Chicago

Deploying Business Virtual Appliances on Open Source Cloud Computing

Client/server and peer-to-peer models: basic concepts

SNMP and Web-based Load Cluster Management System

2) Xen Hypervisor 3) UEC

13.1 Backup virtual machines running on VMware ESXi / ESX Server

Week Overview. Installing Linux Linux on your Desktop Virtualization Basic Linux system administration

CS 188/219. Scalable Internet Services Andrew Mutz October 8, 2015

Migrating from Unix to Oracle on Linux. Sponsored by Red Hat. An Oracle and Red Hat White Paper September 2003

Plug-and-play Virtual Appliance Clusters Running Hadoop. Dr. Renato Figueiredo ACIS Lab - University of Florida

A Comparison of Distributed Systems: ChorusOS and Amoeba

Apache Hadoop. Alexandru Costan

Group Based Load Balancing Algorithm in Cloud Computing Virtualization

Virtual machine interface. Operating system. Physical machine interface

Protecting your SQL database with Hybrid Cloud Backup and Recovery. Session Code CL02

JOB ORIENTED VMWARE TRAINING INSTITUTE IN CHENNAI

Lecture 2 Cloud Computing & Virtualization. Cloud Application Development (SE808, School of Software, Sun Yat-Sen University) Yabo (Arber) Xu

Virtualization Technologies and Blackboard: The Future of Blackboard Software on Multi-Core Technologies

Mark Bennett. Search and the Virtual Machine

HDFS Cluster Installation Automation for TupleWare

SCALABILITY AND AVAILABILITY

U-LITE Network Infrastructure

Red Hat Satellite Management and automation of your Red Hat Enterprise Linux environment

Zadara Storage Cloud A

Session Storage in Zend Server Cluster Manager

CHAPTER 2 MODELLING FOR DISTRIBUTED NETWORK SYSTEMS: THE CLIENT- SERVER MODEL

International Journal of Engineering Research & Management Technology

Chapter 18: Database System Architectures. Centralized Systems

How To Use Arcgis For Free On A Gdb (For A Gis Server) For A Small Business

VMware vsphere 5.1 Advanced Administration

A REVIEW PAPER ON THE HADOOP DISTRIBUTED FILE SYSTEM

Web DNS Peer-to-peer systems (file sharing, CDNs, cycle sharing)

Distributed Systems. REK s adaptation of Prof. Claypool s adaptation of Tanenbaum s Distributed Systems Chapter 1

Cloud Computing for Control Systems CERN Openlab Summer Student Program 9/9/2011 ARSALAAN AHMED SHAIKH

References. Introduction to Database Systems CSE 444. Motivation. Basic Features. Outline: Database in the Cloud. Outline

Introduction to Database Systems CSE 444

Client/Server Computing Distributed Processing, Client/Server, and Clusters

IMCM: A Flexible Fine-Grained Adaptive Framework for Parallel Mobile Hybrid Cloud Applications

Project Manager 1 Post == Experience years in Project Management in reputed company, Salary Rs.1,20,000/-

Exhibit B5b South Dakota. Vendor Questions COTS Software Set

RAMCloud and the Low- Latency Datacenter. John Ousterhout Stanford University

Network Attached Storage. Jinfeng Yang Oct/19/2015

Introducing FUJITSU Software Systemwalker Centric Manager V15.1.1

Chapter 1 - Web Server Management and Cluster Topology

CSE-E5430 Scalable Cloud Computing Lecture 2

OGF25/EGEE User Forum Catania, Italy 2 March 2009

Distributed Systems LEEC (2005/06 2º Sem.)

Dynamic Resource allocation in Cloud

Cloud Computing Trends

Scaling Objectivity Database Performance with Panasas Scale-Out NAS Storage

Distributed Systems Lecture 1 1

Table of Contents Introduction and System Requirements 9 Installing VMware Server 35

Getting Started Hacking on OpenNebula

virtualization.info Review Center SWsoft Virtuozzo (for Windows) //

Making a Smooth Transition to a Hybrid Cloud with Microsoft Cloud OS

Gildart Haase School of Computer Sciences and Engineering

An Oracle White Paper September Oracle WebLogic Server 12c on Microsoft Windows Azure

DB2 Connect for NT and the Microsoft Windows NT Load Balancing Service

SAS 9.4 Intelligence Platform

CHAPTER 8 CLOUD COMPUTING

Manjrasoft Market Oriented Cloud Computing Platform

Workflow Templates Library

Amoeba Distributed Operating System

Towards Elastic Application Model for Augmenting Computing Capabilities of Mobile Platforms. Mobilware 2010

NetIQ Access Manager 4.1

Transcription:

Code and Process Migration! Motivation How does migration occur? Resource migration Agent-based system Details of process migration Lecture 6, page 1 Motivation! Key reasons: performance and flexibility Process migration (aka strong mobility) Improved system-wide performance better utilization of system-wide resources Examples: Condor, DQS Code migration (aka weak mobility) Shipment of server code to client filling forms (reduce communication, no need to pre-link stubs with client) Ship parts of client application to server instead of data from server to client (e.g., databases) Improve parallelism agent-based web searches Lecture 6, page 2

Motivation! Flexibility Dynamic configuration of distributed system Clients don t need preinstalled software download on demand Lecture 6, page 3 Migration models! Process = code seg + resource seg + execution seg Weak versus strong mobility Weak => transferred program starts from initial state Sender-initiated versus receiver-initiated Sender-initiated (code is with sender) Client sending a query to database server Client should be pre-registered Receiver-initiated Java applets Receiver can be anonymous Lecture 6, page 4

Who executes migrated entity?! Code migration: Execute in a separate process [Applets] Execute in target process Process migration Remote cloning Migrate the process Lecture 6, page 5 Models for Code Migration! Alternatives for code migration. Lecture 6, page 6

Do Resources Migrate?! Depends on resource to process binding By identifier: specific web site, ftp server By value: Java libraries By type: printers, local devices Depends on type of attachments Unattached to any node: data files Fastened resources (can be moved only at high cost) Database, web sites Fixed resources Local devices, communication end points Lecture 6, page 7 Resource Migration Actions! Resource-to machine binding Unattached Fastened Fixed Process-toresource binding By identifier By value By type MV (or GR) CP ( or MV, GR) RB (or GR, CP) GR (or MV) GR (or CP) RB (or GR, CP) GR GR RB (or GR) Actions to be taken with respect to the references to local resources when migrating code to another machine. GR: establish global system-wide reference MV: move the resources CP: copy the resource RB: rebind process to locally available resource Lecture 6, page 8

Migration in Heterogeneous Systems! Systems can be heterogeneous (different architecture, OS) Support only weak mobility: recompile code, no run time information Strong mobility: recompile code segment, transfer execution segment [migration stack] Virtual machines - interpret source (scripts) or intermediate code [Java] Lecture 6, page 9 Machine Migration! Rather than migrating code or process, migrate an entire machine (OS + all processes) Feasible if virtual machines are used Entire VM is migrated Can handle small differences in architecture (Intel-AMD) Live VM Migration: migrate while executing Assume shared disk (no need to migrate disk state) Iteratively copy memory pages (memory state) Subsequent rounds: send only pages dirtied in prior round Final round: Pause and switch to new machine Lecture 6, page 10

Case Study: BOINC! Internet scale operating system Harness compute cycles of thousands of PCs on the Internet PCs owned by different individuals Donate CPU cycles/storage when not in use (pool resouces) Contact coordinator for work Coodinator: partition large parallel app into small tasks Assign compute/storage tasks to PCs Examples: Seti@home, P2P backups Lecture 6, page 11 Case study: Condor! Condor: use idle cycles on workstations in a LAN Used to run large batch jobs, long simulations Idle machines contact condor for work Condor assigns a waiting job User returns to workstation => suspend job, migrate Flexible job scheduling policies Lecture 6, page 12

Case Study: Amazon EC2! Cloud computing platform Users rent servers by the hour Can also rent storage Uses virtual machines New user request for a EC2 server Central coordinator allocates physical server Create a new VM, copy user-specified image to machine User gets root-level access to the machine (via ssh) Can allocate new serveror terminate as needed Distributed scheduling on a cluster of servers for rent Lecture 6, page 13 Server Design Issues! Server Design Iterative versus concurrent How to locate an end-point (port #)? Well known port # Directory service (port mapper in Unix) Super server (inetd in Unix) Lecture 6, page 14

Stateful or Stateless?! Stateful server Maintain state of connected clients Sessions in web servers Stateless server No state for clients Soft state Maintain state for a limited time; discarding state does not impact correctness Lecture 6, page 15 Server Clusters! Web applications use tiered architecture Each tier may be optionally replicated; uses a dispatcher Use TCP splicing or handoffs Lecture 6, page 16

Case Study: PlanetLab! Distributed cluster across universities Used for experimental research by students and faculty in networking and distributed systems Uses a virtualized architecture Linux Vservers Node manager per machine Obtain a slice for an experiment: slice creation service Lecture 6, page 17 Server Architecture! Sequential Serve one request at a time Can service multiple requests by employing events and asynchronous communication Concurrent Server spawns a process or thread to service each request Can also use a pre-spawned pool of threads/processes (apache) Thus servers could be Pure-sequential, event-based, thread-based, process-based Discussion: which architecture is most efficient? Lecture 6, page 18

Scalability! Question:How can you scale the server capacity? Buy bigger machine! Replicate Distribute data and/or algorithms Ship code instead of data Cache Lecture 6, page 19