190 likes | 338 Views
Distributed Computing. What is Distributed Computing?. Distributed computing: a science which solves a large problem by giving small parts of the problem to many computers to solve. The solutions generated by the parts are recombined into a solution for the original problem.
E N D
What is Distributed Computing? • Distributed computing: • a science which solves a large problem by giving small parts of the problem to many computers to solve. • The solutions generated by the parts are recombined into a solution for the original problem.
Distributed Computing; not Parallel Processing • Parallel processing takes the brains of many computers and stuffs many of them into one. • Advantage of Parallel Processing. • Quick communication • Disadvantages of Parallel Processing • Platform-dependent software • Difficult programming • Expensive
Grid Computing • Grid computing: • a type of parallel and distributed system • enables the sharing, selection, and aggregation of geographically distributed "autonomous" resources dynamically at runtime. • depends on resource availability, capability, performance, cost, and users' quality-of-service requirements.
Cluster Computing • Clustering: • a form of distributed computing. • takes a group of workstations connected together in a local-area network. • applies middleware to make them act like a parallel machine.
Computer Work Calculator http://www.davidsj.com/compwork/
PiHEX Project • PiHEX • Involved finding the bits of Pi. • Discovered that the five trillionth and forty trillionth bits of pi are 0, in Hexadecimal format. • Previous pi-bit record was a mere one trillionth bit. • Over 1,734 computers worked on the project • PiHex's final goal was to find the quadrillionth bit of pi – which they found to be 0. • PiHex website www.cecm.sfu.ca/projects/pihex/pihex.html
Projects of Note • SETI@home • The Search for Extra Terrestrial Intelligence at home • Uses the world’s largest radio telescope, three servers, and two million users • Hopes to discover alien signals • RC5-64 Project • Completed brute force decryption project • Great Internet Mersenne Prime Search. • Searches for large Prime Numbers • Golomb RulersProject • Folding @Home • Observing proteins in order to discover the cause of diseases like Alzheimer’s, Mad Cow, Huntington’s, Parkinson’s and more.
SETI@home • The Search for Extraterrestrial Intelligence program ( SETI) • developed in 1984 by the SETI Institute of University of California Berkeley • Purpose: To identify electronic and radio signals sent by extraterrestrials • SETI@home was conceived in 1995. • There are currently over two million CPUs running SETI@home software A view of the Arecibo telescope in Puerto Rico. (Courtesy of Tony Acevedo/NAIC)
SETI@home • The Arecibo telescope in Puerto Rico gathers data consisting of radio signals almost every day. • The data is divided up by researchers at UC Berkeley and sent to everyone with SETI@home software • Computers process the data during down time Arecibo telescope control room • It takes between 10 and 50 hours for a computer to complete one work unit • In that time the computer will have done more than 175 billion calculations on a piece of data only 107 seconds in length. • In total, over 300,000 years of work have been done so far on the SETI@home project by various computers • Nothing has yet been found
Middleware • Middleware • a layer of software between the network and the application. • Middleware technologies provide a way for multiple computers to communicate despite varying protocols: • Converts data to different formats • Communicates with varying OS • The software also provides many other services: • Authentication of computers • Transactions • Remote procedural calls — allows an application to execute a procedure on another computer • Queues — allows computers to asynchronously communicate by leaving a message for the other computer to pick up later • Time synchronization (Burghart)
Common Platforms for Distributing Computing • BOINC (Berkeley Open Infrastructure for Network Computing) • Parabon Computation • ELUDER • N1 Grid Engine • Cosm
How do the Computers Communicate? Remote Procedural Call: • Client application makes a call to what appears to be a local function ---> • The middleware takes the call's parameters, packages, and sends them to another computer, where it is unpacked & executed by the real function ---> • When it is complete, the function's return values are packed up and sent back to the original computer and its client application.
Fun Tools Google Compute (Folding@Home Project) SETI@Home iGoogle gadget Folding@Home iGoogle gadget
Sources • distributedcomputing.info http://www.distributedcomputing.info • Distributed.net http://www.distributed.net • Thinkquest.org http://library.thinkquest.org/C007645/english/0-welcome.htm