Infrastructure and Tools

Slides:



Advertisements
Similar presentations
Clustering Technology For Scaleability Jim Gray Microsoft Research
Advertisements

Threads, SMP, and Microkernels
System Area Network Abhiram Shandilya 12/06/01. Overview Introduction to System Area Networks SAN Design and Examples SAN Applications.
Database Architectures and the Web
High Performance Cluster Computing Architectures and Systems Hai Jin Internet and Cluster Computing Center.
2. Computer Clusters for Scalable Parallel Computing
Chapter 7 LAN Operating Systems LAN Software Software Compatibility Network Operating System (NOP) Architecture NOP Functions NOP Trends.
Threads, SMP, and Microkernels Chapter 4. Process Resource ownership - process is allocated a virtual address space to hold the process image Scheduling/execution-
Using DSVM to Implement a Distributed File System Ramon Lawrence Dept. of Computer Science
Objektorienteret Middleware Presentation 2: Distributed Systems – A brush up, and relations to Middleware, Heterogeneity & Transparency.
 Introduction Originally developed by Open Software Foundation (OSF), which is now called The Open Group ( Provides a set of tools and.
Distributed Processing, Client/Server, and Clusters
Distributed components
Chapter 16 Client/Server Computing Patricia Roy Manatee Community College, Venice, FL ©2008, Prentice Hall Operating Systems: Internals and Design Principles,
City University London
Distributed Hardware How are computers interconnected ? –via a bus-based –via a switch How are processors and memories interconnected ? –Private –shared.
金仲達 國立清華大學資訊工程學系 Cluster Computing: An Introduction.
OCT1 Principles From Chapter One of “Distributed Systems Concepts and Design”
1 Providing a Single System Image: The GENESIS Approach Andrzej M. Goscinski School of Information Technology Deakin University.
Figure 1.1 Interaction between applications and the operating system.
Object Based Operating Systems1 Learning Objectives Object Orientation and its benefits Controversy over object based operating systems Object based operating.
Silberschatz, Galvin and Gagne ©2009 Operating System Concepts – 8 th Edition Chapter 2: Operating-System Structures Modified from the text book.
NPACI: National Partnership for Advanced Computational Infrastructure August 17-21, 1998 NPACI Parallel Computing Institute 1 Cluster Archtectures and.
Copyright Arshi Khan1 System Programming Instructor Arshi Khan.
Design and Implementation of a Single System Image Operating System for High Performance Computing on Clusters Christine MORIN PARIS project-team, IRISA/INRIA.
CLUSTER COMPUTING Prepared by: Kalpesh Sindha (ITSNS)
1 In Summary Need more computing power Improve the operating speed of processors & other components constrained by the speed of light, thermodynamic laws,
Computer System Architectures Computer System Software
SSI-OSCAR A Single System Image for OSCAR Clusters Geoffroy Vallée INRIA – PARIS project team COSET-1 June 26th, 2004.
Silberschatz, Galvin and Gagne ©2009 Operating System Concepts – 8 th Edition, Chapter 2: System Structures.
Operating Systems CS3502 Fall 2014 Dr. Jose M. Garrido
Distributed Systems. Interprocess Communication (IPC) Processes are either independent or cooperating – Threads provide a gray area – Cooperating processes.
Chapter 4 Threads, SMP, and Microkernels Patricia Roy Manatee Community College, Venice, FL ©2008, Prentice Hall Operating Systems: Internals and Design.
What is a Distributed File System?? Allows transparent access to remote files over a network. Examples: Network File System (NFS) by Sun Microsystems.
Chapter 2 Operating System Overview
Types of Operating Systems
Threads, SMP, and Microkernels Chapter 4. Process Resource ownership - process is allocated a virtual address space to hold the process image Scheduling/execution-
N. GSU Slide 1 Chapter 05 Clustered Systems for Massive Parallelism N. Xiong Georgia State University.
DISTRIBUTED COMPUTING Introduction Dr. Yingwu Zhu.
Issues Autonomic operation (fault tolerance) Minimize interference to applications Hardware support for new operating systems Resource management (global.
PARALLEL COMPUTING overview What is Parallel Computing? Traditionally, software has been written for serial computation: To be run on a single computer.
Definition of a Distributed System (1) A distributed system is: A collection of independent computers that appears to its users as a single coherent system.
Types of Operating Systems 1 Computer Engineering Department Distributed Systems Course Assoc. Prof. Dr. Ahmet Sayar Kocaeli University - Fall 2015.
COMP381 by M. Hamdi 1 Clusters: Networks of WS/PC.
Chapter 1 Basic Concepts of Operating Systems Introduction Software A program is a sequence of instructions that enables the computer to carry.
FTOP: A library for fault tolerance in a cluster R. Badrinath Rakesh Gupta Nisheeth Shrivastava.
Cluster computing. 1.What is cluster computing? 2.Need of cluster computing. 3.Architecture 4.Applications of cluster computing 5.Advantages of cluster.
Background Computer System Architectures Computer System Software.
Intro to Distributed Systems Hank Levy. 23/20/2016 Distributed Systems Nearly all systems today are distributed in some way, e.g.: –they use –they.
SYSTEM MODELS FOR ADVANCED COMPUTING Jhashuva. U 1 Asst. Prof CSE
Threads, SMP, and Microkernels Chapter 4. Processes and Threads Operating systems use processes for two purposes - Resource allocation and resource ownership.
1 Chapter 2: Operating-System Structures Services Interface provided to users & programmers –System calls (programmer access) –User level access to system.
An Introduction to GPFS
Chapter 16 Client/Server Computing Dave Bremer Otago Polytechnic, N.Z. ©2008, Prentice Hall Operating Systems: Internals and Design Principles, 6/E William.
1 Classification of Cluster Computer. 2 Clusters Classification..1 c Based on Focus (in Market) –High Performance (HP) Clusters Grand Challenging Applications.
Distributed Operating Systems Spring 2004
2. OPERATING SYSTEM 2.1 Operating System Function
OpenMosix, Open SSI, and LinuxPMI
Distributed Operating Systems
Operating System Structure
Architecture Alternatives for Scalable Single System Image Clusters
Threads, SMP, and Microkernels
Chapter 2: System Structures
Single System Image and Cluster Middleware
Multiple Processor Systems
Lecture 4- Threads, SMP, and Microkernels
Multiple Processor and Distributed Systems
Introduction To Distributed Systems
A Virtual Machine Monitor for Utilizing Non-dedicated Clusters
Presentation transcript:

Infrastructure and Tools Single System Image Infrastructure and Tools

Cluster Computer Architecture Parallel Applications Parallel Applications Parallel Applications Sequential Applications Sequential Applications Sequential Applications Parallel Programming Environment Cluster Middleware (Single System Image and Availability Infrastructure) PC/Workstation Network Interface Hardware Communications Software PC/Workstation Network Interface Hardware Communications Software PC/Workstation Network Interface Hardware Communications Software PC/Workstation Network Interface Hardware Communications Software Cluster Interconnection Network/Switch

A major issues in Cluster design Enhanced Performance (performance @ low cost) Enhanced Availability (failure management) Single System Image (look-and-feel of one system) Size Scalability (physical & application) Fast Communication (networks & protocols) Load Balancing (CPU, Net, Memory, Disk) Security and Encryption (clusters of clusters) Distributed Environment (Social issues) Manageability (admin. And control) Programmability (simple API if required) Applicability (cluster-aware and non-aware app.)

A typical Cluster Computing Environment Applications PVM / MPI/ RSH ??? Hardware/OS

The missing link is provide by cluster middleware/underware PVM / MPI/ RSH Applications Hardware/OS Middleware or Underware PVM / MPI/ RSH

Middleware Design Goals Complete Transparency (Manageability): Lets the see a single cluster system.. Single entry point, ftp, telnet, software loading... Scalable Performance: Easy growth of cluster no change of API & automatic load distribution. Enhanced Availability: Automatic Recovery from failures Employ checkpointing & fault tolerant technologies Handle consistency of data when replicated..

What is Single System Image (SSI)? SSI is the illusion, created by software or hardware, that presents a collection of computing resources as one, more whole resource. SSI makes the cluster appear like a single machine to the user, to applications, and to the network.

Benefits of SSI Use of system resources transparent. Transparent process migration and load balancing across nodes. Improved reliability and higher availability. Improved system response time and performance Simplified system management. Reduction in the risk of operator errors. No need to be aware of the underlying system architecture to use these machines effectively.

Desired SSI Services Single Entry Point: telnet cluster.my_institute.edu telnet node1.cluster. institute.edu Single File Hierarchy: /Proc, NFS, xFS, AFS, etc. Single Control Point: Management GUI Single virtual networking Single memory space - Network RAM/DSM Single Job Management: Glunix, Codine, LSF Single GUI: Like workstation/PC windowing environment – it may be Web technology

Availability Support Functions Single I/O space: Any node can access any peripheral or disk devices without the knowledge of physical location. Single process Space: Any process on any node create process with cluster wide process wide and they communicate through signal, pipes, etc, as if they are one a single node. Checkpointing and process migration: Can saves the process state and intermediate results in memory to disk to support rollback recovery when node fails. RMS Load balancing...

SSI Levels SSI levels of abstractions: Application and Subsystem Level Operating System Kernel Level Hardware Level

SSI at Application and Sub-system Levels Examples Boundary Importance Application batch system and system management Sub-system File system Distributed DB, OSF DME, Lotus Notes, MPI, PVM An application What a user wants Sun NFS, OSF, DFS, NetWare, and so on A sub-system SSI for all applications of the sub-system Implicitly supports many applications and subsystems Shared portion of the file system Toolkit OSF DCE, Sun ONC+, Apollo Domain Best level of support for heterogeneous system Explicit toolkit facilities: user, service name, time (c) In search of clusters

SSI at OS Kernel Level Level Examples Boundary Importance Kernel/ OS Layer Solaris MC, Unixware MOSIX, Sprite, Amoeba /GLunix Kernel interfaces Virtual memory UNIX (Sun) vnode, Locus (IBM) vproc Each name space: files, processes, pipes, devices, etc. Kernel support for applications, adm subsystems None supporting OS kernel Type of kernel objects: files, processes, etc. Modularises SSI code within kernel May simplify implementation of kernel objects Each distributed virtual memory space Microkernel Mach, PARAS, Chorus, OSF/1AD, Amoeba Implicit SSI for all system services Each service outside the microkernel (c) In search of clusters

SSI at Hardware Level memory and I/O Level Examples Boundary Importance memory SCI, DASH better communication and synchronization memory space SCI, SMP techniques lower overhead cluster I/O memory and I/O device space Application and Subsystem Level Operating System Kernel Level memory and I/O (c) In search of clusters

SSI Characteristics Every SSI has a boundary. Single system support can exist at different levels within a system, one able to be build on another.

SSI Boundaries Batch System SSI Boundary (c) In search of clusters

Relationship Among Middleware Modules

SSI via OS path! 1. Build as a layer on top of the existing OS Benefits: makes the system quickly portable, tracks vendor software upgrades, and reduces development time. i.e. new systems can be built quickly by mapping new services onto the functionality provided by the layer beneath. e.g.: Glunix. 2. Build SSI at kernel level, True Cluster OS Good, but Can’t leverage of OS improvements by vendor. E.g. Unixware, Solaris-MC, and MOSIX.

SSI Systems & Tools OS level SSI: Middleware level SSI: SCO NSC UnixWare; Solaris-MC; MOSIX, …. Middleware level SSI: PVM, TreadMarks (DSM), Glunix, Condor, Codine, Nimrod, …. Application level SSI: PARMON, Parallel Oracle, ...

SCO Non-stop Cluster for UnixWare http://www.sco.com/products/clustering/ Users, applications, and systems management Standard OS kernel calls Modular kernel extensions Extensions UP or SMP node Devices ServerNet Standard SCO UnixWare with clustering hooks Other nodes 8

How does NonStop Clusters Work? Modular Extensions and Hooks to Provide: Single Clusterwide Filesystem view; Transparent Clusterwide device access; Transparent swap space sharing; Transparent Clusterwide IPC; High Performance Internode Communications; Transparent Clusterwide Processes, migration,etc.; Node down cleanup and resource failover; Transparent Clusterwide parallel TCP/IP networking; Application Availability; Clusterwide Membership and Cluster timesync; Cluster System Administration; Load Leveling. 9

Sun Solaris MC Solaris MC: A High Performance Operating System for Clusters A distributed OS for a multicomputer, a cluster of computing nodes connected by a high-speed interconnect Provide a single system image, making the cluster appear like a single machine to the user, to applications, and the the network Built as a globalization layer on top of the existing Solaris kernel Interesting features extends existing Solaris OS preserves the existing Solaris ABI/API compliance provides support for high availability uses C++, IDL, CORBA in the kernel leverages spring technology

Solaris-MC: Solaris for MultiComputers global file system globalized process management globalized networking and I/O http://www.sun.com/research/solaris-mc/

Solaris MC components Object and communication support High availability support PXFS global distributed file system Process management Networking

MOSIX: Multicomputer OS for UNIX http://www.mosix.cs.huji.ac.il/ || mosix.org An OS module (layer) that provides the applications with the illusion of working on a single system. Remote operations are performed like local operations. Transparent to the application - user interface unchanged. Application PVM / MPI / RSH MOSIX Hardware/OS

Main tool Preemptive process migration that can migrate  any process, anywhere, anytime Supervised by distributed algorithms that respond on-line to global resource availability – transparently. Load-balancing - migrate process from over-loaded to under-loaded nodes. Memory ushering - migrate processes from a node that has exhausted its memory, to prevent paging/swapping.

MOSIX for Linux at HUJI A scalable cluster configuration: 50 Pentium-II 300 MHz 38 Pentium-Pro 200 MHz (some are SMPs) 16 Pentium-II 400 MHz (some are SMPs) Over 12 GB cluster-wide RAM Connected by the Myrinet 2.56 G.b/s LAN Runs Red-Hat 6.0, based on Kernel 2.2.7 Upgrade: HW with Intel, SW with Linux Download MOSIX: http://www.mosix.cs.huji.ac.il/