DISTRIBUTED COMPUTINGPresented by Prashant Tiwari and ArchanaSahu
DISTRIBUTED COMPUTINGFolding@Home, as of August 2009, is sustaining over 7 PFLOPS , the first computing project of any kind to cross the four petaFLOPS milestone. This level of performance is primarily enabled by the cumulative effort of a vast array of PlayStation 3 and powerful GPU units.
The entire BOINC averages over 1.5 PFLOPS as of March 15, 2009.
SETI@Home computes data averages more than 528 TFLOPS
Einstein@Home is crunching more than 150 TFLOPS
As of August 2008, GIMPS is sustaining 27 TFLOPS.The illustrationConsider The Facts
DISTRIBUTED COMPUTINGThis What The Power of Distributed Computing Is.The illustrationThis What Distributed Computing Is.
OVERVIEWDISTRIBUTED COMPUTING1 petaFLOPS = 10^15 flops or 1000 teraflops.No computer has achieved this performance yet.PETAFLoating point OPerations per Second One quadrillion floating point operations per secondAs of 2008, the fastest PC processors (quad-core) perform over 70 GFLOPS (Intel Core i7 965 XE)The illustrationWhat is PetaFLOPS?
Introduction to DISTRIBUTED COMPUTINGThe Definition , The Concept, The Processes
DISTRIBUTED COMPUTINGThe TextDistributed computing 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. In distributed computing a program is split up into parts that run simultaneously on multiple computers communicating over a network. Distributed computing is a form of parallel computingCommon Distributed Computing ModelIntroduction To Distributed Computing
The ElaborationDISTRIBUTED COMPUTINGIn distributed computing a program is split up into parts that run simultaneously on multiple computers communicating over a networkThe ElaborationPROBELEM INSTRUCTION SETTASK 2TASK5TASK 5TASK 4TASK 1T 2T4T3T5T1THE CONCEPT
DISTRIBUTED COMPUTINGConsider If There Are n Systems Connected In A Network, Then We Can Split One Program Instruction Into n Different Tasks And Compute Them Concurrently.The illustrationReConsider The Facts
Why DISTRIBUTED COMPUTING ?Why we need Distributed Computing?
DISTRIBUTED COMPUTINGComputation requirements are ever increasing
Silicon based (sequential) architectures reaching their limits in processing capabilities (clock speed) as they are constrained by.
Significant development in networking technology is paving a way for network-based cost-effective parallel computing.
The parallel processing technology is mature and is being exploited commercially.The ElaborationNeed Of Distributed Computing
DISTRIBUTED COMPUTINGSlog2PPSpeedup achieved by distributed computingSpeedup = log2(no. of processors)The ElaborationSpeedup Factor
Implementing DISTRIBUTED COMPUTINGThe Organization, The Architecture
DISTRIBUTED COMPUTINGThe TextOrganizing the interaction between the computers that execute distributed computations is of prime importance.In order to be able to use the widest possible variety of computers, the protocol or communication channel should be universal.Software PortabilityMotivation FactorThe human brain consists of a large number (more than a billion) of neural cells that process information. Each cell works like a simple processor and only the massive interaction between all cells and their parallel processing makes the brain's abilities possible. Implementing Distributed Computing
DISTRIBUTED COMPUTINGThere are many different types of distributed computing systems and many challenges to overcome in successfully designing one. The main goal of a distributed computing system is to connect users and resources in a transparent, open, and scalable way. Ideally this arrangement is drastically more fault tolerant and more powerful than many combinations of stand-alone computer systems.The ElaborationImplementing Distributed Computing
DISTRIBUTED COMPUTINGThe ElaborationProcessor AProcessor AProcessor AMEM. BusMEM. BusMEM. BusMemory System AMemory System AMemory System ADistributed Memory MIMD
Architectures of DISTRIBUTED COMPUTINGPossible ways to Implement Distributed Computing
DISTRIBUTED COMPUTINGVarious hardware and software architectures are used for distributed computing. At a lower level, it is necessary to interconnect multiple CPUs with some sort of network, regardless of whether that network is printed onto a circuit board or made up of loosely-coupled devices and cables. At a higher level, it is necessary to interconnect processes running on those CPUs with some sort of communication system.The TextThe Architectures
DISTRIBUTED COMPUTINGClient-server — Smart client code contacts the server for data, then formats and displays it to the user.  3-tier architecture — Three tier systems move the client intelligence to a middle tier so that stateless clients can be used. Most web applications are 3-Tier. N-tier architecture — N-Tier refers typically to web applications which further forward their requests to other enterprise services. This type of application is the one most responsible for the success of application servers. Tightly coupled (clustered) — refers typically to a cluster of machines that closely work together, running a shared process in parallel.  Peer-to-peer — architecture where there is no special machine or machines that provide a service or manage the network resources. Instead all responsibilities are uniformly divided among all machines, known as peers. Peers can serve both as clients and servers.The ElaborationThe Architectures
DISTRIBUTED COMPUTINGDistributed computing implements a kind of concurrency. It interrelates tightly with concurrent programming so much that they are sometimes not taught as distinct subjects.The TextThe Concurrency
DISTRIBUTED COMPUTINGMultiprocessor systemsA multiprocessor system is simply a computer that has more than one CPU on its motherboard.Multicore SystemsIntel CPUs from the late Pentium 4 era (Northwood and Prescott cores) employed a technology called Hyper-threading that allowed more than one thread (usually two) to run on the same CPU.Multicomputer SystemsComputer ClustersA cluster consists of multiple stand-alone machines acting in parallel across a local high speed network.Grid computingA grid uses the resources of many separate computers, loosely connected by a network (usually the Internet), to solve large-scale computation problems.The ElaborationThe Concurrency
Language that Use or make a distributed system and projects that been implementedTechnical Issues
DISTRIBUTED COMPUTINGThe TextIf not planned properly, a distributed system can decrease the overall reliability of computations if the unavailability of a node can cause disruption of the other nodes. Leslie Lamport famously quipped that: "A distributed system is one in which the failure of a computer you didn't even know existed can render your own computer unusable."Troubleshooting and diagnosing problems in a distributed system can also become more difficult, because the analysis may require connecting to remote nodes or inspecting communication between nodes.The TextTechnical Issues

Distributed Computing

  • 1.
    DISTRIBUTED COMPUTINGPresented byPrashant Tiwari and ArchanaSahu
  • 2.
    DISTRIBUTED COMPUTINGFolding@Home, asof August 2009, is sustaining over 7 PFLOPS , the first computing project of any kind to cross the four petaFLOPS milestone. This level of performance is primarily enabled by the cumulative effort of a vast array of PlayStation 3 and powerful GPU units.
  • 3.
    The entire BOINCaverages over 1.5 PFLOPS as of March 15, 2009.
  • 4.
    SETI@Home computes dataaverages more than 528 TFLOPS
  • 5.
    Einstein@Home is crunchingmore than 150 TFLOPS
  • 6.
    As of August2008, GIMPS is sustaining 27 TFLOPS.The illustrationConsider The Facts
  • 7.
    DISTRIBUTED COMPUTINGThis WhatThe Power of Distributed Computing Is.The illustrationThis What Distributed Computing Is.
  • 8.
    OVERVIEWDISTRIBUTED COMPUTING1 petaFLOPS= 10^15 flops or 1000 teraflops.No computer has achieved this performance yet.PETAFLoating point OPerations per Second One quadrillion floating point operations per secondAs of 2008, the fastest PC processors (quad-core) perform over 70 GFLOPS (Intel Core i7 965 XE)The illustrationWhat is PetaFLOPS?
  • 9.
    Introduction to DISTRIBUTEDCOMPUTINGThe Definition , The Concept, The Processes
  • 10.
    DISTRIBUTED COMPUTINGThe TextDistributedcomputing 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. In distributed computing a program is split up into parts that run simultaneously on multiple computers communicating over a network. Distributed computing is a form of parallel computingCommon Distributed Computing ModelIntroduction To Distributed Computing
  • 11.
    The ElaborationDISTRIBUTED COMPUTINGIndistributed computing a program is split up into parts that run simultaneously on multiple computers communicating over a networkThe ElaborationPROBELEM INSTRUCTION SETTASK 2TASK5TASK 5TASK 4TASK 1T 2T4T3T5T1THE CONCEPT
  • 12.
    DISTRIBUTED COMPUTINGConsider IfThere Are n Systems Connected In A Network, Then We Can Split One Program Instruction Into n Different Tasks And Compute Them Concurrently.The illustrationReConsider The Facts
  • 13.
    Why DISTRIBUTED COMPUTING?Why we need Distributed Computing?
  • 14.
  • 15.
    Silicon based (sequential)architectures reaching their limits in processing capabilities (clock speed) as they are constrained by.
  • 16.
    Significant development innetworking technology is paving a way for network-based cost-effective parallel computing.
  • 17.
    The parallel processingtechnology is mature and is being exploited commercially.The ElaborationNeed Of Distributed Computing
  • 18.
    DISTRIBUTED COMPUTINGSlog2PPSpeedup achievedby distributed computingSpeedup = log2(no. of processors)The ElaborationSpeedup Factor
  • 19.
    Implementing DISTRIBUTED COMPUTINGTheOrganization, The Architecture
  • 20.
    DISTRIBUTED COMPUTINGThe TextOrganizingthe interaction between the computers that execute distributed computations is of prime importance.In order to be able to use the widest possible variety of computers, the protocol or communication channel should be universal.Software PortabilityMotivation FactorThe human brain consists of a large number (more than a billion) of neural cells that process information. Each cell works like a simple processor and only the massive interaction between all cells and their parallel processing makes the brain's abilities possible. Implementing Distributed Computing
  • 21.
    DISTRIBUTED COMPUTINGThere aremany different types of distributed computing systems and many challenges to overcome in successfully designing one. The main goal of a distributed computing system is to connect users and resources in a transparent, open, and scalable way. Ideally this arrangement is drastically more fault tolerant and more powerful than many combinations of stand-alone computer systems.The ElaborationImplementing Distributed Computing
  • 22.
    DISTRIBUTED COMPUTINGThe ElaborationProcessorAProcessor AProcessor AMEM. BusMEM. BusMEM. BusMemory System AMemory System AMemory System ADistributed Memory MIMD
  • 23.
    Architectures of DISTRIBUTEDCOMPUTINGPossible ways to Implement Distributed Computing
  • 24.
    DISTRIBUTED COMPUTINGVarious hardwareand software architectures are used for distributed computing. At a lower level, it is necessary to interconnect multiple CPUs with some sort of network, regardless of whether that network is printed onto a circuit board or made up of loosely-coupled devices and cables. At a higher level, it is necessary to interconnect processes running on those CPUs with some sort of communication system.The TextThe Architectures
  • 25.
    DISTRIBUTED COMPUTINGClient-server —Smart client code contacts the server for data, then formats and displays it to the user. 3-tier architecture — Three tier systems move the client intelligence to a middle tier so that stateless clients can be used. Most web applications are 3-Tier. N-tier architecture — N-Tier refers typically to web applications which further forward their requests to other enterprise services. This type of application is the one most responsible for the success of application servers. Tightly coupled (clustered) — refers typically to a cluster of machines that closely work together, running a shared process in parallel. Peer-to-peer — architecture where there is no special machine or machines that provide a service or manage the network resources. Instead all responsibilities are uniformly divided among all machines, known as peers. Peers can serve both as clients and servers.The ElaborationThe Architectures
  • 26.
    DISTRIBUTED COMPUTINGDistributed computingimplements a kind of concurrency. It interrelates tightly with concurrent programming so much that they are sometimes not taught as distinct subjects.The TextThe Concurrency
  • 27.
    DISTRIBUTED COMPUTINGMultiprocessor systemsAmultiprocessor system is simply a computer that has more than one CPU on its motherboard.Multicore SystemsIntel CPUs from the late Pentium 4 era (Northwood and Prescott cores) employed a technology called Hyper-threading that allowed more than one thread (usually two) to run on the same CPU.Multicomputer SystemsComputer ClustersA cluster consists of multiple stand-alone machines acting in parallel across a local high speed network.Grid computingA grid uses the resources of many separate computers, loosely connected by a network (usually the Internet), to solve large-scale computation problems.The ElaborationThe Concurrency
  • 28.
    Language that Useor make a distributed system and projects that been implementedTechnical Issues
  • 29.
    DISTRIBUTED COMPUTINGThe TextIfnot planned properly, a distributed system can decrease the overall reliability of computations if the unavailability of a node can cause disruption of the other nodes. Leslie Lamport famously quipped that: "A distributed system is one in which the failure of a computer you didn't even know existed can render your own computer unusable."Troubleshooting and diagnosing problems in a distributed system can also become more difficult, because the analysis may require connecting to remote nodes or inspecting communication between nodes.The TextTechnical Issues