SlideShare a Scribd company logo
Distributed Computing Sudarsun Santhiappan sudarsun@{burning-glass.com, gmail.com} Burning Glass Technologies Kilpauk, Chennai 600010
Technology is Changing... Computational Power gets  Doubled  every  18 months
Networking Bandwidth and Speed getting  Doubled  every  9 months
How to tap the benefits of this Technology ?
Should we grow as an Individual ?
Should we grow as a Team ?
The Coverage Today Parallel Processing
Multiprocessor or Multi-Core Computing
Symmetric Multiprocessing
Cluster Computing {PVM}
Distributed Computing {TAO, OpenMP}
Grid Computing {Globus Toolkit}
Cloud Computing {Amazon EC2}
Parallel Computing It is a form of computation in which many calculations are carried out simultaneously, operating on the principle that large problems can often be divided into smaller ones, which are then solved concurrently in parallel.
Multi-Core, Multiprocessor SMP, Massively Parallel Processing (MPP) Computers
Is it easy to write a parallel program ?
Cluster Computing A computer cluster is a group of linked computers, working together closely so that in many respects they form a single computer
Operate in shared memory mode (mostly)
Tightly coupled with high-speed networking, mostly with optical fiber channels.
HA, Load Balancing, Compute Clusters
Can we Load Balance using DNS ?
Distributed Computing Wikipedia : It deals with hardware and software systems containing more than one processing element or storage element, concurrent processes, or multiple programs, running under a loosely or tightly controlled regime
Grid Computing Wikipedia:  A form of distributed computing whereby a super and virtual computer is composed of a cluster of networked, loosely-coupled computers, acting in concert to perform large tasks.
pcwebopedia.com : Unlike conventional networks that focus on communication among devices, grid computing harnesses unused processing cycles of all computers in a network for solving problems too intensive for any stand-alone machine.
IBM:  Grid computing enables the virtualization of distributed computing and data resources such as processing, network bandwidth and storage capacity to create a single system image, granting users and applications seamless access to vast IT capabilities. Just as an Internet user views a unified instance of content via the Web, a grid user essentially sees a single, large virtual computer.
Sun:  Grid Computing is a computing infrastructure that provides dependable, consistent, pervasive and inexpensive access to computational capabilities.
Cloud Computing Wikipedia:  It is a style of computing in which dynamically stable and often virtualised resources are provided as a service over the Internet.
Infrastructure As A Service (IaaS)
Platform As A Service (PaaS)
Software as a Service (SaaS)
Provide common business applications online accessible from a web browser.
Amazon Elastic Computing, Google Apps
Hardware: IBM p690 Regatta 32 POWER4 CPUs (1.1 GHz) 32 GB RAM 218 GB internal disk OS: AIX 5.1 Peak speed: 140.8 GFLOP/s * Programming model: shared memory multithreading (OpenMP) (also supports MPI) * GFLOP/s: billion floating point operations per second
270 Pentium4 XeonDP CPUs 270 GB RAM 8,700 GB disk OS: Red Hat Linux Enterprise 3 Peak speed: 1.08 TFLOP/s * Programming model: distributed multiprocessing (MPI) * TFLOP/s: trillion floating point operations per second Hardware: Pentium4 Xeon Cluster
56 Itanium2 1.0 GHz CPUs 112 GB RAM 5,774 GB disk OS: Red Hat Linux Enterprise 3 Peak speed: 224 GFLOP/s * Programming model: distributed multiprocessing (MPI) * GFLOP/s: billion floating point operations per second Hardware: Itanium2 Cluster schooner.oscer.ou.edu New arrival!
Vector Processing It is based on array processors where the instruction set includes operations that can perform mathematical operations on data elements simultaneously
Example: Finding Scalar dot product between two vectors
Is vector processing a parallel computing model?
What are the limitations of Vector processing ?
Extensively in Video processing & Games...
Pipelined Processing The fundamental idea is to split the processing of a computer instruction into a series of independent steps, with storage at the end of each step.
This allows the computer's control circuitry to issue instructions at the processing rate of the slowest step, which is much faster than the time needed to perform all steps at once.
A non-pipeline architecture is inefficient because some CPU components (modules) are idle while another module is active during the instruction cycle
Processors with pipelining are organized inside into stages which can semi-independently work on separate jobs
Parallel Vs Pipelined Processing Parallel processing Pipelined processing a1 a2 a3 a4 b1 b2 b3 b4 c1 c2 c3 c4 d1 d2 d3 d4 a1 b1 c1 d1 a2 b2 c2 d2 a3 b3 c3 d3 a4 b4 c4 d4 P1 P2 P3 P4 P1 P2 P3 P4 time Colors:  different types of operations performed a, b, c, d: different data streams processed Less inter-processor communication Complicated processor hardware time More inter-processor communication Simpler processor hardware
Data Dependence Parallel processing requires NO data dependence between processors Pipelined processing will involve inter-processor communication P1 P2 P3 P4 P1 P2 P3 P4 time time
Typical Computing Elements Hardware Operating System Applications Programming paradigms P P P P P P   Microkernel Multi-Processor Computing System Threads Interface Process Processor Thread P
Why Parallel Processing ? Computation requirements are ever increasing; for instance -- visualization, distributed databases, simulations, scientific prediction (ex: climate, earthquake), etc.
Sequential architectures reaching physical limitation (speed of light, thermodynamics)
Limit on number of transistor per square inch
Limit on inter-component link capacitance
Symmetric Multiprocessing SMP Involves a multiprocessor computer architecture where two or more identical processors can connect to a single shared main memory
Kernel can execute on any processor
Typically each processor does self-scheduling form the pool of available process or threads
Scalability problems in Uniform Memory Access
NUMA to improve speed, but limitations on data migration
Intel, AMD processors are SMP units
What is ASMP ?
 
 
SISD : A Conventional Computer Speed is limited by the rate at which computer can transfer information internally. Ex:PC, Macintosh,  Workstations Processor Data Input Data Output Instructions
The MISD Architecture More of an intellectual exercise than a practical configuration. Few built, but commercially not available Data  Input Stream Data  Output Stream Processor A Processor B Processor C Instruction Stream A Instruction Stream B Instruction  Stream C
SIMD Architecture Ex: CRAY machine vector processing,  Intel MMX (multimedia support) C i <= A i  * B i Instruction Stream Processor A Processor B Processor C Data Input stream A Data Input stream B Data Input stream C Data Output stream A Data Output stream B Data Output stream C
Unlike SISD, MISD, MIMD computer works asynchronously. Shared memory (tightly coupled) MIMD Distributed memory (loosely coupled) MIMD MIMD Architecture Processor A Processor B Processor C Data Input stream A Data Input stream B Data Input stream C Data Output stream A Data Output stream B Data Output stream C Instruction Stream  A Instruction Stream B Instruction Stream C
Shared Memory MIMD machine Communication:  Source Processor writes data to GM & destination retrieves it.
Limitation : reliability & expandability  A memory component or any processor failure affects the whole system. Increase of processors leads to memory contention. Ex. : Silicon graphics supercomputers.... Global Memory System Processor A Processor B Processor C MEMORY BUS MEMORY BUS MEMORY BUS
Distributed Memory MIMD Communication : IPC on High Speed Network.
Network can be configured to ... Tree, Mesh, Cube, etc.
Unlike Shared MIMD Readily expandable
Highly reliable (any CPU  failure does not affect the whole system) Processor A Processor B Processor C IPC channel IPC channel MEMORY BUS MEMORY BUS MEMORY BUS Memory System  A Memory System  B Memory System C
Laws of caution..... Speed of computers is proportional to the  square  of their cost.  i.e. cost =  Speed Speedup by a parallel computer increases as the logarithm of the number of processors. Speedup = log 2 (no. of processors) S P logP C S (speed = cost 2 )
Micro Kernel based Operating Systems for High Performance Computing
Three approaches to building OS.... Monolithic OS
Layered OS
Microkernel based OS   Client server OS   Suitable for MPP systems Simplicity, flexibility and high performance are crucial for OS. Operating System Models
Monolithic Operating System Better application Performance
Difficult to extend Ex: MS-DOS Application Programs Application Programs System Services Hardware User Mode Kernel Mode
Layered OS Easier to enhance
Each layer of code access lower level interface
Low-application performance Application Programs System Services User Mode Kernel Mode Memory & I/O Device Mgmt Hardware Process Schedule Application Programs Ex : UNIX
Microkernel/Client Server OS (for MPP Systems) Tiny OS kernel providing basic primitive (process, memory, IPC)
Traditional services becomes  subsystems
Monolithic Application Perf. Competence
OS =  Microkernel + User Subsystems Client Application Thread  lib. File Server Network Server Display Server Microkernel Hardware Send Reply Ex: Mach, PARAS, Chorus, etc. User Kernel
What are Micro Kernels ? Small operating system core
Contains only essential core operating systems functions
Many services traditionally included in the operating system are now external subsystems Device drivers
File systems
Virtual memory manager
Windowing system
Security services
 
HPC Cluster Architecture Frontend Node Public Ethernet Private Ethernet Network Application Network (Optional) Power Distribution (Net addressable units as option) Node Node Node Node Node Node Node Node Node Node
Most Critical Problems with Clusters The largest problem in clusters is  software skew When software configuration on some nodes is different than on others
Small differences (minor version numbers on libraries) can cripple a parallel program The second most important problem is  lack of adequate job control of the parallel process Signal propagation
Cleanup
Top 3 Problems with Software Packages Software installation works only in interactive mode Need a significant work by end-user Often rational default settings are not available Extremely time consuming to provide values
Should be provided by package developers but … Package is required to be installed on a running system Means multi-step operation: install + update
Intermediate state can be insecure
Clusters Classification..1 Based on  Focus  (in Market) High Performance (HP) Clusters Grand Challenging Applications High Availability (HA) Clusters Mission Critical applications
HA Cluster: Server Cluster with &quot;Heartbeat&quot; Connection
Clusters Classification..2 Based on Workstation/PC  Ownership Dedicated Clusters
Non-dedicated clusters Adaptive parallel computing
Also called Communal multiprocessing
Clusters Classification..3 Based on  Node Architecture .. Clusters of PCs (CoPs)
Clusters of Workstations (COWs)
Clusters of SMPs (CLUMPs)
Building Scalable Systems:  Cluster of SMPs (Clumps) Performance of SMP Systems Vs. Four-Processor Servers in a Cluster
Clusters Classification..4 Based on  Node OS Type .. Linux Clusters (Beowulf)
Solaris Clusters  (Berkeley NOW)
NT Clusters (HPVM)
AIX Clusters (IBM SP2)
SCO/Compaq Clusters (Unixware)
Digital VMS Clusters, HP clusters
Clusters Classification..5 Based on Processor Arch, Node Type Homogeneous Clusters All nodes will have similar configuration Heterogeneous Clusters Nodes based on different processors and running different Operating Systems
Cluster Implementation What is Middleware ?
What is Single System Image ?
Benefits of Single System Image
What is Cluster Middle-ware ? An interface between user applications and cluster hardware and OS platform.
Middle-ware packages support each other at the management, programming, and implementation levels.
Middleware Layers: SSI Layer
Availability Layer: It enables the cluster services of Checkpointing, Automatic Failover, recovery from failure,
fault-tolerant operating among all cluster nodes.
Middleware Design Goals Complete Transparency 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) ? A single system image is the  illusion , created by software or hardware, that a collection of computing elements appear as a single computing resource. SSI makes the cluster appear like a single machine to the user, to applications, and to the network.
A cluster without a SSI is not a cluster
Benefits of Single System Image Usage of system resources transparently
Improved reliability and higher availability
Simplified system management
Reduction in the risk of operator errors
User need not be aware of the underlying system architecture to use these machines effectively
Distributed Computing No shared memory

More Related Content

PDF
Course outline of parallel and distributed computing
PPTX
Parallel computing and its applications
PPTX
Design Goals of Distributed System
PPTX
Fault tolerance in distributed systems
PPTX
Types of firewall
PPTX
SLA Management in Cloud
PPTX
Client server model
PPTX
2. Distributed Systems Hardware & Software concepts
Course outline of parallel and distributed computing
Parallel computing and its applications
Design Goals of Distributed System
Fault tolerance in distributed systems
Types of firewall
SLA Management in Cloud
Client server model
2. Distributed Systems Hardware & Software concepts

What's hot (20)

PDF
Ddb 1.6-design issues
PDF
Monitors
PPTX
Cluster computing
PPT
Multi Head, Multi Tape Turing Machine
PPTX
Distributed information system
PPT
SMTP and TCP protocol
PPTX
Operating system paging and segmentation
PPTX
Web Development Technologies
PPT
Parallel algorithms
PPTX
Storage management in operating system
PPT
Distributed Processing
PPT
Memory management
PPTX
SLA Agreement, types and Life Cycle
PPTX
Distributed computing
PPTX
Allocation of Frames & Thrashing
PPTX
distributed Computing system model
PPT
distributed shared memory
PPTX
System calls
PPTX
Demand paging
PPTX
Seven step model of migration into the cloud
Ddb 1.6-design issues
Monitors
Cluster computing
Multi Head, Multi Tape Turing Machine
Distributed information system
SMTP and TCP protocol
Operating system paging and segmentation
Web Development Technologies
Parallel algorithms
Storage management in operating system
Distributed Processing
Memory management
SLA Agreement, types and Life Cycle
Distributed computing
Allocation of Frames & Thrashing
distributed Computing system model
distributed shared memory
System calls
Demand paging
Seven step model of migration into the cloud
Ad

Similar to Distributed Computing (20)

PPT
Par com
PPT
Cluster Computing
PPT
Introduction to parallel_computing
PPTX
Cluster computing
PPT
59137949-Cluster-Computing (1).ppt .....
PPT
Cluster Computers
PPT
Parallel_and_Cluster_Computing.ppt
PPTX
Exascale Capabl
PPTX
Lecture1
PPTX
Introduction to mis
PDF
Ch1Intro.pdf Computer organization and org.
PPT
Evolution of the Windows Kernel Architecture, by Dave Probert
PPT
Oct2009
PPTX
cc_mod1.ppt useful for engineering students
PPTX
processor struct
PPTX
Modern processor art
PPT
Intro (Distributed computing)
PPTX
Modern processor art
PPTX
Danish presentation
DOCX
Parallel computing persentation
Par com
Cluster Computing
Introduction to parallel_computing
Cluster computing
59137949-Cluster-Computing (1).ppt .....
Cluster Computers
Parallel_and_Cluster_Computing.ppt
Exascale Capabl
Lecture1
Introduction to mis
Ch1Intro.pdf Computer organization and org.
Evolution of the Windows Kernel Architecture, by Dave Probert
Oct2009
cc_mod1.ppt useful for engineering students
processor struct
Modern processor art
Intro (Distributed computing)
Modern processor art
Danish presentation
Parallel computing persentation
Ad

More from Sudarsun Santhiappan (13)

ODP
Challenges in Large Scale Machine Learning
ODP
Software Patterns
ODP
Search Engine Demystified
ODP
Essentials for a Budding IT professional
PPT
What it takes to be the Best IT Trainer
PPT
Using Behavioral Patterns In Treating Autistic
PPT
Topic Models Based Personalized Spam Filter
PPT
Latent Semantic Indexing For Information Retrieval
PPT
Audio And Video Over Internet
PPT
Practical Network Security
PPT
How To Do A Project
PPT
Object Oriented Design
Challenges in Large Scale Machine Learning
Software Patterns
Search Engine Demystified
Essentials for a Budding IT professional
What it takes to be the Best IT Trainer
Using Behavioral Patterns In Treating Autistic
Topic Models Based Personalized Spam Filter
Latent Semantic Indexing For Information Retrieval
Audio And Video Over Internet
Practical Network Security
How To Do A Project
Object Oriented Design

Recently uploaded (20)

PDF
cuic standard and advanced reporting.pdf
PDF
Modernizing your data center with Dell and AMD
PDF
Blue Purple Modern Animated Computer Science Presentation.pdf.pdf
PDF
NewMind AI Monthly Chronicles - July 2025
PDF
Approach and Philosophy of On baking technology
PDF
Build a system with the filesystem maintained by OSTree @ COSCUP 2025
PDF
Review of recent advances in non-invasive hemoglobin estimation
PDF
Chapter 3 Spatial Domain Image Processing.pdf
PDF
Reach Out and Touch Someone: Haptics and Empathic Computing
PDF
Unlocking AI with Model Context Protocol (MCP)
PDF
Advanced methodologies resolving dimensionality complications for autism neur...
PDF
Empathic Computing: Creating Shared Understanding
PDF
CIFDAQ's Market Insight: SEC Turns Pro Crypto
PDF
Agricultural_Statistics_at_a_Glance_2022_0.pdf
PPTX
Cloud computing and distributed systems.
PPT
Teaching material agriculture food technology
PPTX
KOM of Painting work and Equipment Insulation REV00 update 25-dec.pptx
PPTX
Big Data Technologies - Introduction.pptx
PDF
Shreyas Phanse Resume: Experienced Backend Engineer | Java • Spring Boot • Ka...
DOCX
The AUB Centre for AI in Media Proposal.docx
cuic standard and advanced reporting.pdf
Modernizing your data center with Dell and AMD
Blue Purple Modern Animated Computer Science Presentation.pdf.pdf
NewMind AI Monthly Chronicles - July 2025
Approach and Philosophy of On baking technology
Build a system with the filesystem maintained by OSTree @ COSCUP 2025
Review of recent advances in non-invasive hemoglobin estimation
Chapter 3 Spatial Domain Image Processing.pdf
Reach Out and Touch Someone: Haptics and Empathic Computing
Unlocking AI with Model Context Protocol (MCP)
Advanced methodologies resolving dimensionality complications for autism neur...
Empathic Computing: Creating Shared Understanding
CIFDAQ's Market Insight: SEC Turns Pro Crypto
Agricultural_Statistics_at_a_Glance_2022_0.pdf
Cloud computing and distributed systems.
Teaching material agriculture food technology
KOM of Painting work and Equipment Insulation REV00 update 25-dec.pptx
Big Data Technologies - Introduction.pptx
Shreyas Phanse Resume: Experienced Backend Engineer | Java • Spring Boot • Ka...
The AUB Centre for AI in Media Proposal.docx

Distributed Computing