Parallel & Cluster Computing

Slides:



Advertisements
Similar presentations
PARMON A Comprehensive Cluster Monitoring System PARMON Team Centre for Development of Advanced Computing, Bangalore, India Contact: Rajkumar Buyya
Advertisements

Distributed Processing, Client/Server and Clusters
Beowulf Supercomputer System Lee, Jung won CS843.
1. Introduction What is cluster computing? Classification of Cluster Computing Technologies: Beowulf cluster Construction of Beowulf Cluster The use of.
Introduction CSCI 444/544 Operating Systems Fall 2008.
Dinker Batra CLUSTERING Categories of Clusters. Dinker Batra Introduction A computer cluster is a group of linked computers, working together closely.
Types of Parallel Computers
Information Technology Center Introduction to High Performance Computing at KFUPM.
Distributed Processing, Client/Server, and Clusters
Beowulf Cluster Computing Each Computer in the cluster is equipped with: – Intel Core 2 Duo 6400 Processor(Master: Core 2 Duo 6700) – 2 Gigabytes of DDR.
1/16/2008CSCI 315 Operating Systems Design1 Introduction Notice: The slides for this lecture have been largely based on those accompanying the textbook.
High Performance Computing (HPC) at Center for Information Communication and Technology in UTM.
07/14/08. 2 Points Introduction. Cluster and Supercomputers. Cluster Types and Advantages. Our Cluster. Cluster Performance. Cluster Computer for Basic.
CPP Staff - 30 CPP Staff - 30 FCIPT Staff - 35 IPR Staff IPR Staff ITER-India Staff ITER-India Staff Research Areas: 1.Studies.
1b.1 Types of Parallel Computers Two principal approaches: Shared memory multiprocessor Distributed memory multicomputer ITCS 4/5145 Parallel Programming,
CLUSTER COMPUTING Prepared by: Kalpesh Sindha (ITSNS)
Parallel Computing The Bad News –Hardware is not getting faster fast enough –Too many architectures –Existing architectures are too specific –Programs.
1 In Summary Need more computing power Improve the operating speed of processors & other components constrained by the speed of light, thermodynamic laws,
Introduction and Overview Questions answered in this lecture: What is an operating system? How have operating systems evolved? Why study operating systems?
CLUSTER COMPUTING STIMI K.O. ROLL NO:53 MCA B-5. INTRODUCTION  A computer cluster is a group of tightly coupled computers that work together closely.
1b.1 Types of Parallel Computers Two principal approaches: Shared memory multiprocessor Distributed memory multicomputer ITCS 4/5145 Parallel Programming,
March 3rd, 2006 Chen Peng, Lilly System Biology1 Cluster and SGE.
Cluster Workstations. Recently the distinction between parallel and distributed computers has become blurred with the advent of the network of workstations.
April 26, CSE8380 Parallel and Distributed Processing Presentation Hong Yue Department of Computer Science & Engineering Southern Methodist University.
1 CMPE 511 HIGH PERFORMANCE COMPUTING CLUSTERS Dilek Demirel İşçi.
PARALLEL COMPUTING overview What is Parallel Computing? Traditionally, software has been written for serial computation: To be run on a single computer.
CLUSTER COMPUTING TECHNOLOGY BY-1.SACHIN YADAV 2.MADHAV SHINDE SECTION-3.
By Chi-Chang Chen.  Cluster computing is a technique of linking two or more computers into a network (usually through a local area network) in order.
COMP381 by M. Hamdi 1 Clusters: Networks of WS/PC.
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.
Computer System Evolution. Yesterday’s Computers filled Rooms IBM Selective Sequence Electroinic Calculator, 1948.
Chapter 16 Client/Server Computing Dave Bremer Otago Polytechnic, N.Z. ©2008, Prentice Hall Operating Systems: Internals and Design Principles, 6/E William.
Constructing a system with multiple computers or processors 1 ITCS 4/5145 Parallel Programming, UNC-Charlotte, B. Wilkinson. Jan 13, 2016.
Chapter 1: Introduction What is an Operating System? Mainframe Systems Desktop Systems Multiprocessor Systems Distributed Systems Clustered System Real.
Sub-fields of computer science. Sub-fields of computer science.
These slides are based on the book:
Chapter 1: Introduction
Chapter 1: Introduction
Chapter 1: Introduction
Chapter 1: Introduction
Grid Computing.
Constructing a system with multiple computers or processors
Chapter 1: Introduction
Chapter 1: Introduction
Hadoop Clusters Tess Fulkerson.
Chapter 1: Introduction
Chapter 1: Introduction
Chapter 16: Distributed System Structures
Chapter 4: Threads.
Guoliang Chen Parallel Computing Guoliang Chen
Constructing a system with multiple computers or processors
Constructing a system with multiple computers or processors
CSE8380 Parallel and Distributed Processing Presentation
Chapter 1: Introduction
Distributed computing deals with hardware
Software models - Software Architecture Design Patterns
Constructing a system with multiple computers or processors
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
Subject Name: Operating System Concepts Subject Number:
Chapter 1: Introduction
Chapter 1: Introduction
Chapter 1: Introduction
LO2 – Understand Computer Software
Chapter 1: Introduction
Types of Parallel Computers
Chapter 1: Introduction
Presentation transcript:

Parallel & Cluster Computing

Topics Covered : Introduction What is cluster computing? Classification of Cluster Computing Technologies: Beowulf cluster Construction of Beowulf Cluster The use of cluster computing in Bioinformatics & Parallel Computing Folding@Home Project High performance clusters (HPC) a 256-processor Sun cluster. Build Your Own Cluster!

Introduction Mainly in parallel: Split problem in smaller tasks that are executed concurrently Why? Absolute physical limits of hardware components Economical reasons – more complex = more expensive Performance limits – double frequency <> double performance Large applications – demand too much memory & time Advantages: Increasing speed & optimizing resources utilization Disadvantages: Complex programming models – difficult development

Several applications on parallel processing: Introduction Several applications on parallel processing: Science Computation Digital Biology Resources Exploration Aerospace

Architectures and Technology Trend of Supercomputer Architectures of Parallel Computer: PVP (Parallel Vector Processor) SMP (Symmetric Multiprocessor) MPP (Massively Parallel Processor) COW (Cluster of Workstation) DSM (Distributed Shared Memory) Towards Inexpensive Supercomputing: Cluster Computing is the Commodity Supercomputing 58.8%

What is cluster computing? A computer cluster is a group of linked computers, working together closely so that in many respects they form a single computer. The components of a cluster are commonly, but not always, connected to each other through fast local area networks. Clusters are usually deployed to improve performance and/or availability over that provided by a single computer, while typically being much more cost-effective than single computers of comparable speed or availability. Cluster consists of: Nodes(master+computing) Network OS Cluster middleware: Middleware such as MPI which permits compute clustering programs to be portable to a wide variety of clusters CPU … High Speed Local Network Cluster Middle ware Cluster APP

Cluster classification High availability clusters (HA) (Linux) Mission critical applications High-availability clusters (also known as Failover Clusters) are implemented for the purpose of improving the availability of services which the cluster provides. provide redundancy eliminate single points of failure. Network Load balancing clusters Web servers, mail servers,.. operate by distributing a workload evenly over multiple back end nodes. Typically the cluster will be configured with multiple redundant load-balancing front ends. all available servers process requests. Science Clusters Beowulf

Beowulf cluster A Beowulf Cluster is a computer design that uses parallel processing across multiple computers to create cheap and powerful supercomputers. A Beowulf Cluster in practice is usually a collection of generic computers, either stock systems or wholesale parts purchased independently and assembled, connected through an internal network. A cluster has two types of computers, a master computer, and node computers. When a large problem or set of data is given to a Beowulf cluster, the master computer first runs a program that breaks the problem into small discrete pieces; it then sends a piece to each node to compute. As nodes finish their tasks, the master computer continually sends more pieces to them until the entire problem has been computed.

Beowulf cluster ( Ethernet,Myrinet….) + (MPI) Master: or service node or front node ( used to interact with users and manage the cluster ) Nodes : a group of computers (computing node s)( keyboard, mouse, floppy, video…) Communications between nodes on an interconnect network platform ( Ethernet, Myrinet….) In order for the master and node computers to communicate, some sort message passing control structure is required. MPI,(Message Passing Interface) is the most commonly used such control.

Construction of a Beowulf Cluster To construct Beowulf cluster there are four distinct but interrelated areas of consideration: Hard ware system structure resource administration and management environment Distributed Programming libraries and tools Parallel algorithms

Construction of a Beowulf Cluster CS@WMU department Brief Technical Parameters: OS: CentOS 5 managed by Rochs-cluster Service node: 1 (Intel P4 2.4 GHz) Computing nodes: 32 (Intel P4 2.4- 2.8 GHz) System Memory: 1 GB per node Network Platforms: Gigabit Ethernet, 2 cards per node Myrinet 2 G Language: C, C++, Fortran, java Compiler: GNU gcc, Intel compiler, sun Java compiler Parallel Environment: MPICH Tools: Ganglia (Monitoring) Pbs - Torque (Scheduler)

Construction of a Beowulf Cluster OS (Operating System ) Three of the most commonly used OS are including kernel level support for parallel programming: Windows NT/2000 mainly used to build a High Availability Cluster or a NLB(Network Local Balance) Cluster, provide services such as Database , File/Print,Web,Stream Media .Support 2-4 SMP or 32 processors. Hardly used to build a Science Computing Cluster Redhat Linux The most used OS for a Beowulf Cluster. provides High Performance and Scalability / High Reliability / Low Cost ( get freely and uses inexpensive commodity hardware ) SUN Solaris Uses expensive and unpopular hardware

Construction of a Beowulf Cluster Network Platform Some design considerations for the interconnect network are: Fast Ethernet (100Mbps): low cost / min latency: 80µs Gigabit Ethernet (1Gbps) expensive/ min latency: 300 µs Myrinet (high-speed local area networking system) (2Gbps) The best network platform. Network structure Bus/Switched Maximum bandwidth Minimum latency

Parallel Environment Two of the most commonly used Parallel Interface Libraries: PVM (Parallel Virtual Machine) MPI (Message Passing Interface) Parallel Interface Libraries: provide a group of communication interface libraries that support message passing. Users can call these libraries directly in their Fortran and C programs. Cluster Computer Architecture

HPC platform for scientific applications Beowulf Systems for … HPC platform for scientific applications Storage and processing of large data Satellites image processing Information Retrieval, Data Mining Computing systems in an academic environment Geologists also use clusters to emulate and predict earthquakes and model the interior of the Earth and sea floor clusters are even used to render and manipulate high-resolution graphics in engineering.

The use of cluster computing in Bioinformatics What is Bioinformatics: Also called “biomedical computing”. The application of computer science and technology to problems in the biomolecular sciences. Cluster Uses: The Beowulf cluster computing design is been used by parallel processing computer systems projects to build a powerful computer that could assist in Bioinformatics research and data analysis. In bioinformatics Clusters are used to run DNA string matching algorithms or to run protein folding applications. It also use a computer algorithm known as BLAST,(Basic Local Alignment Search Tool), to analyze massive sets of DNA sequences for research into Bioinformatics.

The use of cluster computing in Bioinformatics For Bioinfomatics MPICH2 is used which is an implementation of MPI that was specifically designed for use with cluster computing systems and parallel processing. It is an open source set of libraries for various high level programming languages that give programmers tools to easily control how large problems are broken apart and distributed to the various computers in a cluster.

Folding@Home Project Protein folding and how is folding linked to disease? Proteins are biology's workhorses -- its "nanomachines." Before proteins can carry out these important functions, they assemble themselves, or "fold." The process of protein folding, while critical and fundamental to virtually all of biology, in many ways remains a mystery. when proteins do not fold correctly: Alzheimer's, Mad Cow How? Folding@home is a distributed computing project -- people from throughout the world download and run software to band together to make one of the largest supercomputers in the world. In each computer Folding@home uses novel computational methods coupled to distributed computing, to simulate problems. the results get back to the main server as you computer will automatically upload the results to the server each time it finishes a work unit, and download a new job at that time.

High performance clusters (HPC) a 256-processor Sun cluster.

(HPC) a 256-processor Sun cluster. Brief Architectural information: Processor : AMD OPETRON 2218 DUAL CORE DUAL SOCKET NO. of Master Nodes : 1 NO. of Computing Nodes : 64 CLUSTER Software : ROCKS version 4.3 Total Peak Performance : 1.3 T. F Peak Performance: In network performance management, a set of functions that evaluate and report the behavior of: telecommunications equipment Efffectiveness of the network or network element Other subfunctions, such as gathering statistical information, maintaining and examining historical logs, determining system performance under natural and artificial conditions altering system modes of operation.

(HPC) a 256-processor Sun cluster. Calculation procedure for peak performance: No of nodes 64 Memory RAM 4 GB Hard Disk Capacity/each node : 250GB Storage Cap. 4 TB No .of processors and cores: 2 X 2 = 4(dual core + dual socket) CPU speed : 2.6 GHz No. of floating point operations per seconds for AMD processor: 2 (since it is a dual core) Total peak performance : No of nodes X No .of processors and cores X CPU speed X No of floating point operations per second = 64 X 4 X 2.6GHz X 2 = 1.33 TF

(HPC) a 256-processor Sun cluster. Scheduler used: Sun Grid Engine: Job scheduler software tool. Application software/s and compilers: Open MPI Lam MPI C, C++, FORTRAN compilers (both GNU AND INTEL) Bio roll: for Bio-Chemical applications

Biggest Beowulf? Academically: 1000 nodes Beowulf Cluster System Used for genetic algorithm research by John Coza, Stanford University

Build Your Own Cluster! http://www.pssclabs.com/products_powerwulf.asp

Q & A presentation (2) Parallel Environments are used in building clusters? Two of the most commonly used Parallel Interface Libraries: PVM (Parallel Virtual Machine) MPI (Message passing Interface) Why MPI over PVM? MPI has more than one freely available, quality implementation (LAM, MPICH and CHIMP). MPI defines a 3rd party profiling mechanism. MPI has full asynchronous communication. MPI groups are solid, efficient, and deterministic. MPI efficiently manages message buffers. MPI synchronization protects 3rd party software. MPI can efficiently program MPP and clusters. MPI is totally portable. MPI is formally specified. MPI is a standard, can be implemented with Linux, NT, on many supercomputers

References WMU e-books library: Beowulf Cluster Computing with Windows: Thomas Sterling, ISBN:9780262692755. Construction of a Beowulf Cluster System for Parallel Computing Kun Feng, Jiaqi Dong, Jinhua Zhang http://cs.wmich.edu/ http://www.wikipedia.org/ http://folding.stanford.edu/ http://www.pssclabs.com/ http://www.genetic-programming.com http://www.lam-mpi.org/mpi/mpi_top10.php