Partition and Isolate: Approaches for Consolidating HPC and Commodity Workloads Jack Lange Assistant Professor University of Pittsburgh.

Slides:



Advertisements
Similar presentations
Wei Lu 1, Kate Keahey 2, Tim Freeman 2, Frank Siebenlist 2 1 Indiana University, 2 Argonne National Lab
Advertisements

Content Overview Virtual Disk Port to Intel platform
Virtualization Dr. Michael L. Collard
Virtual Switching Without a Hypervisor for a More Secure Cloud Xin Jin Princeton University Joint work with Eric Keller(UPenn) and Jennifer Rexford(Princeton)
Using MapuSoft Instead of OS Vendor’s Simulators.
KAIST Computer Architecture Lab. The Effect of Multi-core on HPC Applications in Virtualized Systems Jaeung Han¹, Jeongseob Ahn¹, Changdae Kim¹, Youngjin.
Virtualisation From the Bottom Up From storage to application.
System Area Network Abhiram Shandilya 12/06/01. Overview Introduction to System Area Networks SAN Design and Examples SAN Applications.
Palacios and Kitten: New High Performance Operating Systems For Scalable Virtualized and Native Supercomputing John R. Lange and Kevin Pedretti Trammell.
Minimal-overhead Virtualization of a Large Scale Supercomputer John R. Lange and Kevin Pedretti, Peter Dinda, Chang Bae, Patrick Bridges, Philip Soltero,
HPMMAP: Lightweight Memory Management for Commodity Operating Systems
Virtual Machine Security Design of Secure Operating Systems Summer 2012 Presented By: Musaad Alzahrani.
Introduction to Operating Systems CS-2301 B-term Introduction to Operating Systems CS-2301, System Programming for Non-majors (Slides include materials.
G Robert Grimm New York University Disco.
Disco Running Commodity Operating Systems on Scalable Multiprocessors.
Chapter 13 Embedded Systems
A. Frank - P. Weisberg Operating Systems Structure of Operating Systems.
Virtual Machine approach to Security Gautam Prasad and Sudeep Pradhan 10/05/2010 CS 239 UCLA.
Virtualization for Cloud Computing
Virtual Machine Monitors CSE451 Andrew Whitaker. Hardware Virtualization Running multiple operating systems on a single physical machine Examples:  VMWare,
Deploying Moodle with Red Hat Enterprise Virtualization Brian McSpadden Director of Network Operations Remote-Learner.net.
Chapter 3 Operating Systems Introduction to CS 1 st Semester, 2015 Sanghyun Park.
SymCall: Symbiotic Virtualization Through VMM-to-Guest Upcalls John R. Lange and Peter Dinda University of Pittsburgh (CS) Northwestern University (EECS)
Computer System Architectures Computer System Software
Dual Stack Virtualization: Consolidating HPC and commodity workloads in the cloud Brian Kocoloski, Jiannan Ouyang, Jack Lange University of Pittsburgh.
Microkernels, virtualization, exokernels Tutorial 1 – CSC469.
Jakub Szefer, Eric Keller, Ruby B. Lee Jennifer Rexford Princeton University CCS October, 2011 報告人:張逸文.
A Cloud is a type of parallel and distributed system consisting of a collection of inter- connected and virtualized computers that are dynamically provisioned.
Achieving Isolation in Consolidated Environments Jack Lange Assistant Professor University of Pittsburgh.
Virtual Machine Course Rofideh Hadighi University of Science and Technology of Mazandaran, 31 Dec 2009.
LiNK: An Operating System Architecture for Network Processors Steve Muir, Jonathan Smith Princeton University, University of Pennsylvania
Eric Keller, Evan Green Princeton University PRESTO /22/08 Virtualizing the Data Plane Through Source Code Merging.
An architecture for space sharing HPC and commodity workloads in the cloud Jack Lange Assistant Professor University of Pittsburgh.
CSE 451: Operating Systems Section 10 Project 3 wrap-up, final exam review.
Virtualization: Not Just For Servers Hollis Blanchard PowerPC kernel hacker.
Our work on virtualization Chen Haogang, Wang Xiaolin {hchen, Institute of Network and Information Systems School of Electrical Engineering.
High Performance Computing on Virtualized Environments Ganesh Thiagarajan Fall 2014 Instructor: Yuzhe(Richard) Tang Syracuse University.
Computers Operating System Essentials. Operating Systems PROGRAM HARDWARE OPERATING SYSTEM.
Multi-stack System Software Jack Lange Assistant Professor University of Pittsburgh.
Headline in Arial Bold 30pt HPC User Forum, April 2008 John Hesterberg HPC OS Directions and Requirements.
Issues Autonomic operation (fault tolerance) Minimize interference to applications Hardware support for new operating systems Resource management (global.
 Virtual machine systems: simulators for multiple copies of a machine on itself.  Virtual machine (VM): the simulated machine.  Virtual machine monitor.
Processes Introduction to Operating Systems: Module 3.
The Role of Virtualization in Exascale Production Systems Jack Lange Assistant Professor University of Pittsburgh.
Introduction to virtualization
A. Frank - P. Weisberg Operating Systems Structure of Operating Systems.
Partitioned Multistack Evironments for Exascale Systems Jack Lange Assistant Professor University of Pittsburgh.
Full and Para Virtualization
Protection of Processes Security and privacy of data is challenging currently. Protecting information – Not limited to hardware. – Depends on innovation.
Disco: Running Commodity Operating Systems on Scalable Multiprocessors Presented by: Pierre LaBorde, Jordan Deveroux, Imran Ali, Yazen Ghannam, Tzu-Wei.
Background Computer System Architectures Computer System Software.
Unit 2 VIRTUALISATION. Unit 2 - Syllabus Basics of Virtualization Types of Virtualization Implementation Levels of Virtualization Virtualization Structures.
Architecture of a platform for innovation and research Erik Deumens – University of Florida SC15 – Austin – Nov 17, 2015.
Open Source Virtualization Andrey Meganov RHCA, RHCX Consultant / VDEL
Virtualization Neependra Khare
Virtualization for Cloud Computing
Virtual Machine Monitors
Is Virtualization ready for End-to-End Application Performance?
Presented by Yoon-Soo Lee
Current Generation Hypervisor Type 1 Type 2.
Operating System Structure
Group 8 Virtualization of the Cloud
Management of Virtual Execution Environments 3 June 2008
Ron Brightwell, R&D Manager Scalable System Software Department
CLUSTER COMPUTING.
Brian Kocoloski Jack Lange Department of Computer Science
Windows Virtual PC / Hyper-V
CSE 451: Operating Systems Autumn Module 24 Virtual Machine Monitors
Introduction to Virtual Machines
Introduction to Virtual Machines
Presentation transcript:

Partition and Isolate: Approaches for Consolidating HPC and Commodity Workloads Jack Lange Assistant Professor University of Pittsburgh

Summary Commodity and HPC systems have been converging – Commodity off the shelf components – Linux based HPC systems – Cloud computing Problem: Real HPC applications need HPC environments – Tightly coupled, massively parallel, and synchronized – Current services must provide dedicated HPC systems Can we co-host HPC applications on commodity systems? Dual Stack Approach – Provision the underlying software stack along with application – Commodity stack should handle commodity applications – HPC stack can provide HPC environment

Current systems do support this, but… Interference still exists inside the system software – Inherent feature of commodity systems Cores Socket 1 Memory Cores Socket Memory HPC Partition Commodity Partition User Space Partitioning

HPC vs. Commodity Systems Commodity systems have fundamentally different focus than HPC systems – Amdahl’s vs. Gustafson’s laws – Commodity: Optimized for common case HPC: Common case is not good enough – At large (tightly coupled) scales, percentiles lose meaning – Collective operations must wait for slowest node – 1% of nodes can make 99% suffer – HPC systems must optimize outliers (worst case)

5 High Performance Computing (HPC) Large scale simulations to solve Big Problems

Dual Stack Approach Partition – Segment the underlying hardware resources – Assign them to exclusively to specific workloads Isolate – Prevent interference from other workloads – Hardware: partitions must be course grained – Software: eliminate shared state Implementation – Independent system software running on isolated resources

HPC in the cloud Clouds are starting to look like supercomputers… – Are we seeing a convergence? Not yet – Noise issues – Poor isolation – Resource contention – Lack of control over topology Very bad for tightly coupled parallel apps – Require specialized environments that solve these problems Approaching convergence – Vision: Dynamically partition cloud resources into HPC and commodity zones – This talk: partitioning compute nodes with performance isolation

Commodity VMMs Virtualization is considered an “enterprise” technology – Designed for commodity environments – Fundamentally different, but not wrong! Example: KVM architecture issues – Userspace handlers – Fairly complex memory management – Locking and periodic optimizations – Presence of system noise

9 Palacios VMM OS-independent embeddable virtual machine monitor – Established compatibility with Linux, Kitten, and Minix Specifically targets HPC applications and environments – Consistent performance with very low variance Deployable on supercomputers, clusters (Infiniband/Ethernet), and servers – 0-3% overhead at large scales (thousands of nodes) VEE 2011, IPDPS 2010, ROSS Open source and freely available

Palacios/Linux Palacios/Linux provides lightweight and high performance virtualized environments – Internally manages dedicated resources Memory and CPU scheduling – Does not bother with “enterprise features” Page sharing/merging, swapping, overcommitting resources Palacios enables scalable HPC performance on commodity platforms

VMM Comparison Primary difference: Consistency – Requirement for tightly coupled performance at large scale Example: KVM nested paging architecture – Maintains free page caches to optimize performance Requires cache management – Shares page tables to optimize memory usage Requires synchronization VMM% of exitsMeanStd Dev# NPFS KVM52% ,265,156 Palacios50% ,872,017

Hardware Palacios VMM HPC Linux Linux Kernel HPC Application Palacios Resource Managers KVM Linux Module Interface Commodity Linux Commodity Application(s) Dual Stack Architecture Partitioning at the OS level Enable cloud to host both commodity and HPC apps – Each zone optimized for the target applications

Evaluation Goal: Measure VM isolation properties Partitioned a single node into HPC and commodity zones – Commodity Zone: Parallel Kernel compilation – HPC Zone: Set of standard HPC benchmarks – System: Dual 6-core AMD Opteron with NUMA topology Linux guest environments (HPC and commodity) Important: Local node only – Does not promise good performance at scale – But, poor performance will magnify at large scales

Results Palacios delivers consistent performance Commodity VMMs degrade with contention MiniFE: Unstructured implicit finite element solver Mantevo Project --

Discussion A dual stack approach can provide HPC environments on commodity clouds – HPC and commodity workloads can dynamically share resources – HPC requirements can be met without fully dedicated resources Networking is still an open issue – Need mechanisms for isolation and partitioning – Need high performance networking architectures 1Gbit is not good enough 10Gbit is good, Infiniband is better – Need control over placement and topologies

Multi-stack Operating Systems Future Exascale Systems are moving towards in situ organization Applications traditionally have utilized their own platforms Visualization, storage, analysis, etc Everything must now collapse onto a single platform

What this means for the OS At Petascale we could optimize each environment separately – Each had their own OS and hardware At Exascale workloads will be co-located – Can a single OS handle all workloads effectively? Probably Not – Each has different resource requirements and behaviors – Exascale will need to support multiple OS environments on the same hardware

Current Supercomputer OS architectures 18 Source: e:Operating_systems_used_on _top_500_supercomputers.svg LINUX UNIX

19 Will Linux continue to dominate? An open question at this point – Exascale systems may mark a radical departure from traditional architectures Kitten: Open-source Lightweight Kernel from Sandia – Minimal compute node OS Provides mostly Linux-compatible user environment – Supports unmodified compiler toolchains and ELF executables But doesn’t include the enterprise Linux features – Simple memory management, application managed I/O, etc

Hardware Palacios VMM Kitten Linux Kernel HPC Application Palacios Resource Managers Linux Linux Module Interface Commodity Application(s) Dual Stack Architecture Provide LWK environment on a commodity system – Each zone optimized for the target applications

Palacios/Kitten provides higher memory throughput than Linux – 400 MB/s (4.74%) Palacios/Kitten provides more consistent memory performance than Linux – 340 MB/s lower standard deviation Stream 21

Selfish Detour Virtualized Kitten 22 LinuxVirtual Kitten Palacios/Kitten can reduce noise from Linux Eliminates Periodic timer interrupts

Better than native? Results are preliminary – Followed best practices for configuring Linux – Didn’t try to optimize VMM performance Virtualization can improve system performance – when the system is running a commodity OS B. Kocoloski, J. Lange, Better than Native: Using Virtualization to Improve Compute Node Performance, (ROSS 2012)

Beyond Virtualization Virtualization imposes overhead – Power: requires transistors – Performance: small, but present – Interference: Still some dependencies on host OS Might not be available on exascale hardware Can we provide native partitioning? – We think so – Linux provides the ability to dynamically remove resources (CPUs, memory, etc) – These can be taken over by a second OS

Hardware Palacio VMM Kitten HPC Application Linux Commodity Application(s) Dual Stack Architecture Provide LWK environment on a commodity system – Each zone optimized for the target applications

Approach OS partition created via offlined resources – CPUs, memory, PCI devices Secondary OS “booted” on offline resources Issues: – OS initialization Boot process Resource discovery – Coordination and communication – Security and safety

Dual Stack Memory Maybe we don’t need to provide an entirely separate OS – Instead selectively manage some resources Dual stack memory – Provide a separate memory management layer to Linux Features – Selectively manage heap per application – Provide applications with direct control over memory layout – Transparently back memory using large pages – Without overhead added by Linux

Hardware HPC Application Linux Commodity Application(s) Dual Stack Architecture Provide LWK memory manager on a commodity OS Memory Management

Conclusion Commodity systems are not designed to support HPC workloads – Different requirements and behaviors than commodity applications A multi stack approach can provide HPC environments in commodity systems – HPC requirements can be met without separate physical systems – HPC and commodity workloads can dynamically share resources – Isolated system software environments

Thank you Jack Lange Assistant Professor University of Pittsburgh