ch9. Multiprocessor Virtualization
Upcoming SlideShare
Loading in...5

ch9. Multiprocessor Virtualization






Total Views
Views on SlideShare
Embed Views



0 Embeds 0

No embeds



Upload Details

Uploaded via as Microsoft PowerPoint

Usage Rights

© All Rights Reserved

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
Post Comment
Edit your comment

    ch9. Multiprocessor Virtualization ch9. Multiprocessor Virtualization Presentation Transcript

    • Chapter 9. Multiprocessor Virtualization Mobile Embedded System Lab. Ki Seok Choi ( 최기석 )
    • Contents
      • Introduction to Multiprocessor Systems
      • Multiprocessor Architecture
        • Types of multiprocessing
        • Clustered Systems
        • Shared-Memory Systems
      • Partitioning of Multiprocessor Systems
        • Motivation
        • Mechanisms to Support Partitioning
        • Types of Partitioning Techniques
      • Physical Partitioning
    • Introduction to Multiprocessor Systems
      • What is a Multiprocessor System?
        • A single system that has multiple processors []
      • What is the goal?
        • To solve compute-intensive problems faster [Michael J. Quinn]
        • To solve larger problems in same amount of time [Michael J. Quinn]
    • Multiprocessor Architecture
      • Types of multiprocessing system
        • Clustered system
        • Shared-memory processing system (SMP)
        • Hybrids of clustered and SMP system
          • Distributed shared memory system (DSM)
          • SMP clusters system
    • Clustered system
      • A system that has multiple nodes
      • Each node has
        • a processor
        • a memory
        • I/O devices
        • an operating system
      • Good for independent workloads
      P M I/O P M I/O P M I/O P M I/O Network connection for message passing
    • Shared-memory processing system (SMP)
      • A system that has
        • multiple processors
        • a memory
        • I/O devices
        • an operating system
      • Good for applications with shared data
      P M I/O P P
    • Hybrids of clustered and shared-memory
      • Distributed shared memory system (DSM)
        • Clustered system supporting a single OS image across the multiple processors
        • Not popular because of the high sensitivity of the performance of applications to the algorithms and data structures
      • SMP clusters system
        • Clustered system of nodes
        • Each node is a small SMP
    • Clustered Systems (1/2)
      • Cluster = terminal node + server nodes + network
        • Terminal node – allows the user to access cluster
        • Server node – executes specific service routines
        • Network – connects nodes for communication
      • Example
        • IBM Parallel Sysplex system
        • HP Superdome Hyperplex system
    • Clustered Systems (2/2)
      • Beowulf cluster system (1997)
        • Inexpensive commodity CPU
        • Inexpensive commodity disk
        • Inexpensive 100Mbps ethernet network
        • Free OS (Linux)
      • Blade server – denser form of Beowulf cluster
        • Unnecessary I/O devices are eliminated in each node.
        • Tight form of node in a thin package is called blade.
    • Shared-memory systems
      • Many commercial applications are based on shared-memory paradigm.
        • More convenient to write programs than message-passing paradigm
      • But, hardware needed to support these systems is more complex than those for message-passing systems.
        • To maintain coherence in memory locations
    • Memory coherence models
      • Memory coherence refers to the visibility of a write to a given memory location by all other processors in the system.
      • Memory coherence is satisfied if the order of writes to a given location by one processor is maintained when observed by any other processor in the system.
    • Memory coherence models 0 1 2 P1 sees the order “0-1-1-2”, while P2 sees “0-2-1-2” : violation of memory coherency Assumption : write-through caches and longer delay to P2 cache than P1 cache P2 requests write 2@50 P1 requests write 1@50 P1 reads 1 @cached 50 P2 reads 2 @cached 50 50 gets evicted from P2 cache P1’s write request arrived P2 reads 1 @50 P1 reads 1 @50 P2’s write request arrived 50 gets evicted from P1 cache 50 gets evicted from P2 cache P1 reads 2 @50 P2 reads 2 @50
    • Memory coherence models
      • Write Invalidate Protocol
        • Write to shared data  an invalidate is sent to all caches which snoop and invalidate any copies
      • Write Broadcast Protocol
        • Write to shared data  broadcast on bus, processors snoop, and update copies
    • Memory coherence models
    • MPI vs. OpenMP
      • MPI = “Message Passing Interface”
        • Standard specification for message-passing libraries
        • Libraries available on virtually all parallel computers
        • Free libraries also available for networks of workstations or commodity clusters
      • OpenMP = “Open Multi Processing”
        • OpenMP an application programming interface (API) for shared-memory systems
        • Supports higher performance parallel programming of symmetrical multiprocessors
    • Multiple Processors Applications
      • Used in servers and high-end desktop systems
      • Have large amounts of memory and I/O devices
      • Web servers : manage huge databases and service requests simultaneously
      • Computational servers : used for large scientific calculations with huge amount of memory and d isk capacity
    • Utilization of Multiprocessors
      • Actual number of physical processors > ideal number of processors needed
        • Cause 1: limitations of parallelism available in the programs
        • Cause 2: limitations in the scalability of applications due to the overhead of communication between processors
      • Multiprocessor system needs to be partitioned to utilize system resources.
    • Partitioning
      • Two dimensions of partitioning
        • In time domain
        • In space domain
        • Can be mixed together
      • We can partition the multiprocessing system to several virtual multiprocessing systems.
        • Virtual architectures are independent to actual platforms.
        • We focus on several virtual shared-memory systems operating simultaneously on a single shared -memory host system
    • Partitioning of SMP system P P P P P P P P P Virtual Machine Monitor Memory I/O Memory Memory Memory I/O I/O I/O P P P P P P P P Virtual Machine 1 Virtual Machine 2 Virtual Machine 3 Actual SMP hardware
    • Motivation : Workload consolidation
      • SMP system is widely used.
        • Advanced cache coherence technology
        • Ease of programming
      • But it is very expensive.
        • Large number of disks
        • Requirement for high reliability
        • Need for special environment (by cooling and security)
      • So functions are distributed to several systems.
        • Ex) three-tier model (ref. next page)
    • Motivation : Workload consolidation
      • Three-tier model
      Database server Application server Application server Application server User PC User PC User PC User PC User PC User PC
    • Motivation : Workload consolidation
      • Recently, administrative costs of computer centers are critical.
        • They are dependent on the number of systems.
      • These cost are lowered by reducing the different types of systems in the center.
      • So the small systems are integrated to a single large system.
    • Motivation : Workload consolidation
      • Consolidation model
      User PC User PC User PC User PC User PC User PC Database server Virtualized App. Server Virtualized App. Server Virtualized App. Server
    • Motivation : Workload consolidation
      • The consolidation of multiple workstation users on a large remote server
        • Problem : Need to address the problems of privacy protection and flexibility requirement
        • Solution : Virtualization of large servers through partitioning of physical resources
    • Motivation : Cluster-based programming model
      • Recently, inexpensive blade servers are increasing.
      • Programming tools and applications for clustered platform are rapidly increasing.
      • SMP system needs to have ability to run cluster-based applications (written with MPI).
      • The Program using MPI can run unchanged on a partitioned system.
    • Motivation : System Migration
      • New version of application should be tested before migration.
    • Motivation : Reduction of System Downtime
      • Upgrade of existing OS requires system to shutdown.
      • This can be done in a spare partition.
    • Motivation : Heterogeneous Systems
      • Sometimes the old OS should run while the new one is running.
    • Motivation : Improving System Utilization
      • The system can be configured according to the changing workload
        • Configured as a single system image of the whole system for peak workload
        • Configured as multiple partitions running separate OS for average workload
      • Capacity planning help s to determine the partition scheme and keep the compute requirement closer to the average workload
      • Dynamic migration of resources fr o m one partition to another help s improving the utilization of resources
    • Motivation : Multiple Time-zone requirements
      • It is common for some international company to have geographically distributed branches
      • It is necessary to bring down the system for maintenance or upgrade at a convenient local time especially at night.
      • Partition system can make decisions independent of the other regions
    • Motivation : Failure Isolation
      • Most important feature of partitioning
      • There are many failures that can be occurred.
        • A ttacks over the network
        • Malfunctions of software
        • Hardware failures
      • Partitioning helps isolate the effects of failure .
      • H ardware fa ilure s may or may not be local to a partition
        • Depend on the nature of partitioning
          • T ime multiplexed partitioning scheme – not local
          • P hysically partitioning scheme – local
    • Mechanisms to Support Partitioning
      • VMM is the key part to perform partitioning and can be implemented in different ways
        • Completely in hardware
        • Microcode supported by hardware
        • Software supported by hardware
      • Make hardware modifications to support virtualization
      • => VMM can operate in a new privilege mode
        • Advantage: avoid the need to run a guest OS in user mode which will cause performance degradation
        • Disadvantage: u nable to virtualize in a recursive manner
    • Types of Partitioning Techniques
      • Spectrum of partitioning (N: # of processors)
      • Types of partitioning are classified according to implementation of VMM
        • Those with hardware support
        • Those without hardware support
      N nodes Clustered N-way SMP
    • Types of Partitioning Techniques With hardware support Without hardware support Physical Partitioning Logical Partitioning SVM-Based Approaches OS-Based Approaches Microprogram Based Hypervisor Based Same ISA Different ISA Partitioning Techniques
    • Types of Partitioning Techniques With hardware support Without hardware support Physical Partitioning Logical Partitioning SVM-Based Approaches OS-Based Approaches Microprogram Based Hypervisor Based Same ISA Different ISA Partitioning Techniques
    • Types of Partitioning Techniques
      • Physical partitioning
        • Each OS image uses resources distinct from the ones used by the other OS image.
        • # of partitions is limited to # of processors
      • Logical partitioning
        • OS images share some of the physical resources in a time-multiplexed manner.
        • # of partitions is not limited to # of processors
        • Two implementations
          • VMM in microcode (firmware)
          • VMM as a codesigned firmware-software layer (hypervisor)
    • Types of Partitioning Techniques With hardware support Without hardware support Physical Partitioning Logical Partitioning SVM-Based Approaches OS-Based Approaches Microprogram Based Hypervisor Based Same ISA Different ISA Partitioning Techniques
    • Types of Partitioning Techniques
      • System VM-based approach
        • Multiple OS images on a single system
        •  multiple virtual SMP systems on a single SMP system
        • The only way to provide a virtual multiprocessing system whose ISA is different from the ISA of the host system
      • OS based approach
        • Partitioning of resources among processes (OS function)
        • Do not provide VM  different OS can not run additionally.
    • Physical Partitioning
      • Simplest, easiest to implement
      • Imposes little overhead on an executing application
      • Allows a partition to own its resources physically
      • Control of the configuration of each partition is mostly in hardware
      Central Control Unit Console of system administrator HW resource HW resource HW resource Receive command Send commands
    • Physical Partitioning : Advantages
      • Failure isolation
        • Isolation of S W failure
          • The control unit can reset the partition and reboot the OS for that partition without other partitions affected.
        • Isolation of H W failure
          • O ne physical unit is associated with only one partition.
          • Can not eliminate single points of failure
            • C ontrol unit failure  make it smaller and simpler
            • The crossbar switch connecting different boards  make communication paths robust, add redundancy
    • Physical Partitioning : Advantages
      • Better security isolation
        • Each partition is protected from the DoS attacks by other partitions
        • System administrator of one partition can not take unauthorized action in other partition s
    • Physical Partitioning : Advantages
      • Better ability to meet system-level objectives
        • System-level objectives – results from contracts between system owners and users.
        • Physical partitioning creates partitions that are fixed and guaranteed independent of time.
    • Physical partitioning : Limitations
      • System utilization is bad.
      • Dynamic workload balancing is difficult because of physical constraints placed by fault isolation requirements.
      • Flexibility in allocating resources to partitions is not good.