OpenMosix, Open SSI, and LinuxPMI

Slides:



Advertisements
Similar presentations
What is an Operating System?
Advertisements

Multiple Processor Systems
Processes and Threads Chapter 3 and 4 Operating Systems: Internals and Design Principles, 6/E William Stallings Patricia Roy Manatee Community College,
Threads, SMP, and Microkernels
Threads, SMP, and Microkernels Chapter 4. Process Resource ownership - process is allocated a virtual address space to hold the process image Scheduling/execution-
Chapter 4 Threads, SMP, and Microkernels Patricia Roy Manatee Community College, Venice, FL ©2008, Prentice Hall Operating Systems: Internals and Design.
Threads Clients Servers Code Migration Software Agents Summary
Distributed Computing Software based solutions to Parallel Computing.
1 Introduction to Load Balancing: l Definition of Distributed systems. Collection of independent loosely coupled computing resources. l Load Balancing.
Object Based Operating Systems1 Learning Objectives Object Orientation and its benefits Controversy over object based operating systems Object based operating.
Introduction Operating Systems’ Concepts and Structure Lecture 1 ~ Spring, 2008 ~ Spring, 2008TUCN. Operating Systems. Lecture 1.
What is adaptive web technology?  There is an increasingly large demand for software systems which are able to operate effectively in dynamic environments.
PRASHANTHI NARAYAN NETTEM.
1 Distributed Systems: Distributed Process Management – Process Migration.
Linux Networking CIS Why Linux/Unix? Configurability ▫Customizable System to satisfy unique needs. Scalability ▫Able to serve an increasing number.
Design and Implementation of a Single System Image Operating System for High Performance Computing on Clusters Christine MORIN PARIS project-team, IRISA/INRIA.
Parallel Computing The Bad News –Hardware is not getting faster fast enough –Too many architectures –Existing architectures are too specific –Programs.
Multiple Processor Systems. Multiprocessor Systems Continuous need for faster and powerful computers –shared memory model ( access nsec) –message passing.
Chapter 6 Operating System Support. This chapter describes how middleware is supported by the operating system facilities at the nodes of a distributed.
Submitted by: Shailendra Kumar Sharma 06EYTCS049.
Socket Swapping for efficient distributed communication between migrating processes MS Final Defense Praveen Ramanan 12 th Dec 2002.
Chapter 4 Threads, SMP, and Microkernels Patricia Roy Manatee Community College, Venice, FL ©2008, Prentice Hall Operating Systems: Internals and Design.
Loosely Coupled Parallelism: Clusters. Context We have studied older archictures for loosely coupled parallelism, such as mesh’s, hypercubes etc, which.
Threads, SMP, and Microkernels Chapter 4. Process Resource ownership - process is allocated a virtual address space to hold the process image Scheduling/execution-
Multiple Processor Systems. Multiprocessor Systems Continuous need for faster computers –shared memory model ( access nsec) –message passing multiprocessor.
Issues Autonomic operation (fault tolerance) Minimize interference to applications Hardware support for new operating systems Resource management (global.
Scott Ferguson Section 1
M. Accetta, R. Baron, W. Bolosky, D. Golub, R. Rashid, A. Tevanian, and M. Young MACH: A New Kernel Foundation for UNIX Development Presenter: Wei-Lwun.
Globus and PlanetLab Resource Management Solutions Compared M. Ripeanu, M. Bowman, J. Chase, I. Foster, M. Milenkovic Presented by Dionysis Logothetis.
Background Computer System Architectures Computer System Software.
Towards a High Performance Extensible Grid Architecture Klaus Krauter Muthucumaru Maheswaran {krauter,
Chapter 2 Operating System Overview Dave Bremer Otago Polytechnic, N.Z. ©2008, Prentice Hall Operating Systems: Internals and Design Principles, 6/E William.
Processes and Threads Chapter 3 and 4 Operating Systems: Internals and Design Principles, 6/E William Stallings Patricia Roy Manatee Community College,
Introduction to Operating Systems Concepts
DISTRIBUTED SYSTEMS Principles and Paradigms Second Edition ANDREW S
Operating System Structures
Chapter 1: Introduction
Chapter 1: Introduction
Clouds , Grids and Clusters
Introduction to Load Balancing:
Chapter 1: Introduction
Chapter 1: Introduction
Chapter 1: Introduction
CHAPTER 3 Architectures for Distributed Systems
Chapter 1: Introduction
University of Technology
Chapter 1: Introduction
Advanced Operating Systems
Chapter 4 Multithreading programming
Threads, SMP, and Microkernels
Page Replacement.
Multiple Processor Systems
CLUSTER COMPUTING.
Chapter 1: Introduction
Lecture 4- Threads, SMP, and Microkernels
Introduction to Operating Systems
Language Processors Application Domain – ideas concerning the behavior of a software. Execution Domain – Ideas implemented in Computer System. Semantic.
Introduction to Operating Systems
Multithreaded Programming
Chapter 2: Operating-System Structures
Subject Name: Operating System Concepts Subject Number:
Chapter 1: Introduction
Chapter 1: Introduction
Chapter 1: Introduction
Outline Operating System Organization Operating System Examples
Chapter 1: Introduction
Chapter 2: Operating-System Structures
Client/Server Computing and Web Technologies
Chapter 1: Introduction
In Today’s Class.. General Kernel Responsibilities Kernel Organization
Presentation transcript:

OpenMosix, Open SSI, and LinuxPMI

64 Raspberry Pi’s in a Lego enclosure Clusters Constructed from standard computers (nodes) without any shared physical memory Single System Image (SSI) Distributed computing method SSI Cluster A collection of machines that make up the cluster and it appears as a single machine Linux Cluster Technologies High-availability (HA) High-performance (HP) Load-Leveling Web-Service Storage Database 64 Raspberry Pi’s in a Lego enclosure

Open SSI Project Brings open source cluster technologies together Addresses all cluster environments with 3 key goals in mind Availability Scalability Manageability Best of each cluster solution Modularity in mind

Open SSI Components NSC (NonStop Clusters for Unixware) CI (Cluster Infrastructure) GFS (Global File System) DLM (Distributed Lock Manager) LVS (Linux Virtual Server) Lustre Mosix Scyld / Beowulf HA (High Availability) UML (User Mode Linux)

OpenMosix A tool for a Unix-like kernel, such as Linux Goals Kernel extension for single-system image clustering (SSI) Goals To improve cluster-wide performance Create a convenient multiuser, time-sharing environment Run-time environment is a computing cluster Capable of utilizing both UP & SMP nodes

OpenMosix Implementation A Preemptive Process Migration (PPM) mechanism A set of algorithms for adaptive resource sharing Kernel level via a loaded module Kernel remains un-modified Transparent to application level No Master-Slave relationship between nodes Nodes make decisions independently Dynamic configuration

Preemptive Process Migration (PPM) Any process, anytime Migration is based on algorithms User is able to manually override Unique Home-Node (UHN) Migrating process is divided into two contexts: User context System context

PPM Implementation User Context (the remote) Process can migrate many times Contains: code, stack, data, memory-maps, and registers of the process System Context (the deputy) UHN dependent, doesn’t migrate Contains description of the resources and a kernel-stack for the execution of system code on behalf of the process The interface is well-defined Easily forward information regarding interactions Implemented at the Link Layer

Digging Deeper… Migrated process characteristics Location transparency System calls are executed synchronously Intercepted by remote site’s link layer Site Dependent / Independent Drawback of deputy approach Extra overhead in execution of system calls File & network access operations

Resource Sharing Algorithms Dynamic Load Balancing Memory Ushering Scheduling

Dynamic Load Balancing Continuously attempting to reduce load difference between nodes Algorithm is decentralized Key Algorithmic Data # of processors / speed Dynamically responses to changes in node loads Runtime characteristics of processes

Memory Ushering Place the maximum # of processes in the cluster-wide RAM Avoid thrashing and the swapping out of processes Triggered by excessive paging Shortage of free memory Overrides load-balancing algorithm Migrates a process to a node even if it creates uneven load distribution

Scheduling Algorithm Algorithm to select which node a given program should run Complication Resources available on a cluster are heterogenous Units of measure are incomparable Memory, CPU, process communication Solution Create a unified algorithm framework Convert total usage of heterogenous resources into a universal “cost” Jobs are assigned to a machine where the cost is lowest Market oriented economy

LinuxPMI Extended from the now closed, OpenMosix 2.6 branch Multi-System-Image software Works in clusters with diverse Linux distro’s CPU types & specific kernel features must remain the same Linux kernel patches implementing process migration Allows the movement of a program from one machine to another and return

The End Questions? Resources PDF provided by professor Fukuda IntroductionToOpenMosix.pdf LoadBalancingOpenMosix.pdf ssi-intro.pdf http://linuxpmi.org/trac/ http://openssi.org/cgi-bin/view?page=openssi.html https://en.wikipedia.org/wiki/OpenMosix http://makezine.com/2012/09/13/raspberry-pi-and-lego-supercomputing-cluster/