High Performance Cluster Computing Architectures and Systems Hai Jin Internet and Cluster Computing Center.

Slides:



Advertisements
Similar presentations
Categories of I/O Devices
Advertisements

Distributed Processing, Client/Server and Clusters
Introduction CSCI 444/544 Operating Systems Fall 2008.
Introduction to Operating Systems CS-2301 B-term Introduction to Operating Systems CS-2301, System Programming for Non-majors (Slides include materials.
Technical Architectures
Lecture 1: History of Operating System
Resource Management and Balancing ECI, July 2005.
Understanding Operating Systems 1 Overview Introduction Operating System Components Machine Hardware Types of Operating Systems Brief History of Operating.
Chapter 12 Distributed Database Management Systems
1 Operating Systems Ch An Overview. Architecture of Computer Hardware and Systems Software Irv Englander, John Wiley, Bare Bones Computer.
70-290: MCSE Guide to Managing a Microsoft Windows Server 2003 Environment Chapter 8: Implementing and Managing Printers.
Systems Architecture, Fourth Edition1 Internet and Distributed Application Services Chapter 13.
70-290: MCSE Guide to Managing a Microsoft Windows Server 2003 Environment, Enhanced Chapter 8: Implementing and Managing Printers.
70-290: MCSE Guide to Managing a Microsoft Windows Server 2003 Environment Chapter 8: Implementing and Managing Printers.
Chapter 8: Network Operating Systems and Windows Server 2003-Based Networking Network+ Guide to Networks Third Edition.
Introduction. Why Study OS? Understand model of operation –Easier to see how to use the system –Enables you to write efficient code Learn to design an.
Operating Systems.
An Introduction to Operating Systems. Definition  An Operating System, or OS, is low-level software that enables a user and higher-level application.
Resource Management Reading: “A Resource Management Architecture for Metacomputing Systems”
SOFTWARE.
Introduction to the new mainframe © Copyright IBM Corp., All rights reserved. Chapter 5: Batch processing and the Job Entry Subsystem (JES) Batch.
What is Concurrent Programming? Maram Bani Younes.
Chapter 3 Operating Systems Introduction to CS 1 st Semester, 2015 Sanghyun Park.
Distributed Systems Early Examples. Projects NOW – a Network Of Workstations University of California, Berkely Terminated about 1997 after demonstrating.
System Software System software deals with the physical complexities of how the hardware works. System software generally consists of four kinds of programs:
Parallel Computing The Bad News –Hardware is not getting faster fast enough –Too many architectures –Existing architectures are too specific –Programs.
STRATEGIES INVOLVED IN REMOTE COMPUTATION
Silberschatz, Galvin and Gagne ©2009 Operating System Concepts – 8 th Edition, Chapter 2: System Structures.
Introduction and Overview Questions answered in this lecture: What is an operating system? How have operating systems evolved? Why study operating systems?
 What is OS? What is OS?  What OS does? What OS does?  Structure of Operating System: Structure of Operating System:  Evolution of OS Evolution of.
Chapter 6 Operating System Support. This chapter describes how middleware is supported by the operating system facilities at the nodes of a distributed.
 Introduction to Operating System Introduction to Operating System  Types Of An Operating System Types Of An Operating System  Single User Single User.
Silberschatz, Galvin and Gagne  2002 Modified for CSCI 399, Royden, Operating System Concepts Operating Systems Lecture 1 Introduction Read:
Composition and Evolution of Operating Systems Introduction to Operating Systems: Module 2.
Grid Computing I CONDOR.
Unit – I CLIENT / SERVER ARCHITECTURE. Unit Structure  Evolution of Client/Server Architecture  Client/Server Model  Characteristics of Client/Server.
Week 5 Lecture Distributed Database Management Systems Samuel ConnSamuel Conn, Asst Professor Suggestions for using the Lecture Slides.
CS 390 Unix Programming Summer Unix Programming - CS 3902 Course Details Online Information Please check.
INVITATION TO COMPUTER SCIENCE, JAVA VERSION, THIRD EDITION Chapter 6: An Introduction to System Software and Virtual Machines.
1 Multiprocessor and Real-Time Scheduling Chapter 10 Real-Time scheduling will be covered in SYSC3303.
Component Technology. Challenges Facing the Software Industry Today’s applications are large & complex – time consuming to develop, difficult and costly.
Operating Systems David Goldschmidt, Ph.D. Computer Science The College of Saint Rose CIS 432.
Distributed System Concepts and Architectures 2.3 Services Fall 2011 Student: Fan Bai
INFORMATION SYSTEM-SOFTWARE Topic: OPERATING SYSTEM CONCEPTS.
Operating Systems Objective n The historic background n What the OS means? n Characteristics and types of OS n General Concept of Computer System.
Em Spatiotemporal Database Laboratory Pusan National University File Processing : Database Management System Architecture 2004, Spring Pusan National University.
Copyright © Curt Hill More on Operating Systems Continuation of Introduction.
OPERATING SYSTEM REVIEW. System Software The programs that control and maintain the operation of the computer and its devices The two parts of system.
1 Chapter 2: Operating-System Structures Services Interface provided to users & programmers –System calls (programmer access) –User level access to system.
1.3 Operating system services An operating system provide services to programs and to the users of the program. It provides an environment for the execution.
Lecture 1: Network Operating Systems (NOS)
CT101: Computing Systems Introduction to Operating Systems.
System SOFTWARE.
CT1503 Network Operating System
2. OPERATING SYSTEM 2.1 Operating System Function
Chapter 2: System Structures
Where are being used the OS?
Grid Computing.
Introduction to Operating System (OS)
Quick Introduction to OS
Chapter 16: Distributed System Structures
Copyright © 2011 Pearson Education, Inc. Publishing as Pearson Addison-Wesley Chapter 2 Database System Concepts and Architecture.
An Introduction to Computer Networking
Chapter 2: System Structures
Operating Systems Bina Ramamurthy CSE421 11/27/2018 B.Ramamurthy.
Subject Name: Operating System Concepts Subject Number:
Introduction to OS (concept, evolution, some keywords)
Chapter-1 Computer is an advanced electronic device that takes raw data as an input from the user and processes it under the control of a set of instructions.
Introduction to OS (concept, evolution, some keywords)
Operating System Overview
Presentation transcript:

High Performance Cluster Computing Architectures and Systems Hai Jin Internet and Cluster Computing Center

2 Job and Resource Management Systems Motivation and Historical Systems Components and Architecture of Job- and Resource Management The State-of-the-Art in RMS Challenges for the Present and the Future Summary

3 Motivation and Historical Evolution A Need for Job Management Operating system offers job and resource management service for a single computer The batch job control on multi-user mainframes was performed outside the operating system Main advantages are Allow for a structured resource utilization planning and control by the administration Offer the resources of a compute center to a user in an abstract, transparent, easy-to-understand and easy-to-use fashion Provide a vendor independent user interface The first RMS of this type was NQS (Network Queuing System)

4 Job Management Systems on Workstation Clusters Using workstation clusters imposes specific requirements on job management systems A typical job management system usually offers Heterogeneous Support Batch Support Parallel Support Interactive Support Check-pointing and Process Migration Load Balancing Job Run-Time Limits GUI Primary application field Checkpointing and migrating jobs Parallel programs or I/O intensive jobs

5 Components and Architecture of Job and Resource Management Systems (I) Prerequisites Basic prerequisites The computers are interconnected by a network The computers provide multi-user as well as multi-tasking capabilities Homogeneous operating system architectures are not a restriction In practice, the following situation occurs frequently “ Similar ” operating systems run on all machines UNIX (in all variants) is very customary in the context of using RMS Microsoft ’ s Windows NT introduced the interest in the usage of relatively cheap PC hardware for clustered batch processing

6 Components and Architecture of Job and Resource Management Systems (II) User interface RMS at least provides a command line user interface Typical commands A job submission command to register jobs for execution with the RMS A status display command to monitor progress or failure of a job A job deletion command to cancel jobs no longer needed Some of the popular RMS also offer a GUI

7 Components and Architecture of Job and Resource Management Systems (III) Administrative environment Specify machine characteristics for the hosts in the RMS pool Define feasible job classes and the appropriate hosts for the job classes Define user access permissions Specify resource limitations for users and jobs Specify policies for the assignment of jobs according to load or other site specific preferences Control and ensure proper operation of the RMS Analyze accounting data to tune the system A command line interface needs to be available An administrative GUI is offered in some RMS

8 Managed Objects: Queues The concept of queues refers to the standard computer science first-in- first-out queue Mechanism A job is assigned to a queue and processed on a host bound to the queue If all queues are busy with a job when a new job is submitted, the new job waits until a queue becomes available

9 Managed Objects: Hosts Server nodes Compute services: consists of executing jobs RMS management services: covers all types of tasks to guarantee the operability of the RMS (network communication, scheduling, RMS configuration, etc.) Submit/control hosts To pass jobs to the RMS for execution and to control jobs respectively

10 Managed Objects: Jobs A job in the context of a RMS is any agglomeration of computational tasks usually solving a complex problem A job May consist of a single program, of several interacting programs May also utilize operating system commands There are four types of jobs in the context of RMS Batch Jobs: require no manual interaction as soon as started Interactive Jobs: require input during runtime Parallel Jobs: subtasks spread across several hosts in a cluster Check-pointing Jobs: periodically save status to the file system and can be aborted anytime

11 Managed Objects: Resources The term resources Often called attributes Refers to the available memory, CPU time, and peripheral devices A job is accompanied by its resource requirements An RMS should ensure that resources are not oversubscribed by running jobs This can be performed by comparing resource utilization information with the thresholds defined by the cluster administration

12 Managed Objects: Policies To manage the computational resources of a cluster, categorizing classes of jobs in terms of queues is used A RMS may offer more abstract and advanced mechanisms to automate control of utilization of a compute server environment Two types of policies Resource Utilization Policies Scheduling Policies

13 Resource Utilization Policies (I) Share based Resource utilization entitlements with respect to the whole cluster are assigned to organization entities such as users, departments or projects Advanced RMS allow the definition of resource shares by means of a hierarchical share tree An attribute of share based utilization policies is that they attempt to establish the defined resource entitlements within a time window Functional Like share based policies, they also define resource entitlement Past usage is not taken into account in functional policies The resource entitlements maintained as fixed level of importance

14 Resource Utilization Policies (II) Deadline Time critical applications which are required to finish before a given dead-line represent a problem Manual override An administrator may raise the resource entitlement of a certain job or of all jobs of a user, department, project and job class by a certain and well-interpretable quantity

15 Scheduling Policies Apply only to the process of dispatching jobs A RMS may provide a variety of scheduling policies First-Come-First-Served Select-Least-Loaded Select-Fixed-Sequence Combinations above

16 A Modern Architectural Approach A structured design is vital for the quality of service that a RMS provides The central CODINE/GRD functionality is provided by three types of daemons cod_qmaster: master daemon cod_schedd: scheduler is implemented in cod_schedd cod_execd: execution daemon The three daemons communicate over a communication system based upon TCP and provided by the CODINE/GRD communication daemon cod_commd

17 Automated Policy Based Resource Management (I) Requirements and Goals Goal Maximally achieve the performance goals of the enterprise This is accomplished through resource management polices Weaknesses in mediating the sharing of resources Applications will rarely perform at the optimum performance because imbalanced load is the common situation in multiprocessing environments Important/urgent work may be deferred or starved for resources while other work is initiated and processed Unauthorized users may inadvertently dominate shared resources by simply submitting the largest amount of work A user may grossly exceed her/his desired resource utilization level over time Requirement Dynamic reallocation of resources is a prerequisite to optimal workload management

18 Automated Policy Based Resource Management (II) Quantifying Availability and Usage of Resources GRD performs resource tasking based upon the utilization and collective capabilities of an entire system of resources In order to avoid improper dispatching of jobs GRD continuously maintains alignment of resource utilization with policies, using a dynamic workload regulation scheme GRD monitors and adjusts resource usage correlated to all processes of a job

19 Automated Policy Based Resource Management (III) Policy Models Shared based Supports hierarchical allocation of resources Functional Supports relative weighting among users, projects, departments, and job classes during execution Initiation deadline Automatically escalates a job ’ s resource entitlement over time as it approaches its deadline Override Adjusts resource entitlements at the job, job class, user, project, or department levels

20 GRD Policy Integration

21 Automated Policy Based Resource Management (IV) Policy Enforcement GRD is implemented by a dynamic scheduling facility Multiple feed-back loops to adjust CPU shares of concurrently executing jobs toward dynamically changing requirements

22 Static Scheduling Scheme

23 GRD ’ s Dynamic Scheduling Scheme

24 The State-of-the-Art of Job Support (I) Serial Batch Jobs All RMS allow to submit batch jobs The ability to suspend and resume execution of batch jobs and to restart batch jobs after system crashes is a standard today Interactive Support Interactive job need to maintain a terminal connection When the interactive user suffers from background RMS jobs, “ watchdog ” program withdraw such machines from the RMS pool subsequently

25 The State-of-the-Art of Job Support (II) Parallel Support Not all RMS provide parallel support The kind of support provided differs considerably Support of Arbitrary or Particular PPEs Fixed integrated parallel support (e.g.. Condor) providing an interfaces to PVM only CODINE/GRD offers freely configurable start-and-stop procedures for each PPE to be supported

26 The State-of-the-Art of Job Support (III) Level of Control for Parallel Processes A simple way to provide an interface between a RMS and PPEs consists of submitting a start-up procedure/script for the run-time environment of PPEs to the RMS instead of a simple job script An approach proposed by the psched initiative APIs linking a RMS and PPEs to exchange information

27 The State-of-the-Art of Job Support (IV) Mechanisms for dealing with the checkpointing of a job are provided LSF and CODINE/GRD provide interfaces for so-called kernel level, application level and library based checkpointing LoadLeveler and Condor provide checkpointing only for applications linked with operating specific libraries enabling the facility

28 Challenges for the Present and the Future (I) Open Interfaces Advanced APIs are needed Developers might want to use a RMS ’ s load balancing and load distribution capabilities to distribute computational subtasks across a network of compute hosts For various reasons it is necessary to retrieve the following kind of information from inside RMS related applications The overall load situation The status of jobs The status of queues A software developer might want to pass information to a RMS system to support the scheduler Especially for the purpose of low-level integration of RMS with other software systems An RMS ’ s graphical user ’ s and administrator ’ s interface should use API to configure RMS objects or to submit and monitor batch requests RMS administrators might wish to write special-purpose RMS commands in case the site ’ s users expect a very special behavior

29 Challenges for the Present and the Future (II) Open Interfaces Advance RMS API must satisfy following requests API must be easy to use API need to be usable from any programming language API must hide RMS implementation details from the application developer Internal RMS changes should not necessarily require software built upon the API to be changed CODINE/GRD API already meets these requirements is a applicable for any client/server in CODINE/GRD is extensible without requiring recompilation for every API- based program has a SQL inspired interface

30 Challenges for the Present and the Future (III) Resource Control and Mainframe-Like Batch Processing RMS controls the following resources Compute cycles Main memory Disk space Peripheral devices such as printer, tape drives Different operating system and hardware architectures Licenses for the installed base and application software Network interconnect and its bandwidth

31 Challenges for the Present and the Future (IV) Heterogeneous Parallel Environments Shared Memory Parallel Machines Processor affinity is one of the common requirements that are demanded by users of shared memory parallel machines Dedicated Distributed Memory Parallel Machines The problem is that there are several types of machines available from several vendors showing strongly different characteristics Cluster Based Distributed Memory Parallel Machines Using clusters as distributed memory parallel machines brings in several complications The most important are difficulties in interfacing parallel programming environments Problems caused by the multi-user and multitasking nature of cluster computers

32 Challenges for the Present and the Future (V) RMS in a WAN Environment Many large industrial and research organizations operate with several branches being separated by long distances Applying a RMS to a WAN yields a number of problems related to Security Remote file access Accounting Network bandwidth

33 Summary Today ’ s RMS offer good utilization of compute resources for a wide variety of applications They have proven their usefulness in production environments and still extend their application area Need to evolve and integrate with other client/server software CODINE/GRD is well recognized as one of the leading RMS for clusters today and is well- equipped for the challenges of the future