colin j. macdougall. class of systems and applications “employ distributed resources to perform...
TRANSCRIPT
![Page 1: Colin J. MacDougall. Class of Systems and Applications “Employ distributed resources to perform a critical function in a decentralized manner” Distributed](https://reader035.vdocuments.net/reader035/viewer/2022062422/56649e875503460f94b8a952/html5/thumbnails/1.jpg)
Peer-to-Peer Computing
Colin J. MacDougall
![Page 2: Colin J. MacDougall. Class of Systems and Applications “Employ distributed resources to perform a critical function in a decentralized manner” Distributed](https://reader035.vdocuments.net/reader035/viewer/2022062422/56649e875503460f94b8a952/html5/thumbnails/2.jpg)
Class of Systems and Applications “Employ distributed resources to perform a
critical function in a decentralized manner” Distributed Resources
◦ Computing power, storage, bandwidth, etc. Critical Functions
◦ Distributed computing, data sharing, communication, etc.
Decentralization◦ Algorithms, data, meta-data
Peer-to-Peer (P2P)
![Page 3: Colin J. MacDougall. Class of Systems and Applications “Employ distributed resources to perform a critical function in a decentralized manner” Distributed](https://reader035.vdocuments.net/reader035/viewer/2022062422/56649e875503460f94b8a952/html5/thumbnails/3.jpg)
P2P vs. Client-Server vs. Hybrid
![Page 4: Colin J. MacDougall. Class of Systems and Applications “Employ distributed resources to perform a critical function in a decentralized manner” Distributed](https://reader035.vdocuments.net/reader035/viewer/2022062422/56649e875503460f94b8a952/html5/thumbnails/4.jpg)
Pre 1980s◦ Telephony – Communication between peers
1980s – Early 1990s◦ FTP with Archie indexing
Mid 1990s◦ Abandoned in favor of client-server
1999◦ Napster
2000s◦ SETI@home, Gnutella, JXTA, .NET, Groove,...
History of P2P
![Page 5: Colin J. MacDougall. Class of Systems and Applications “Employ distributed resources to perform a critical function in a decentralized manner” Distributed](https://reader035.vdocuments.net/reader035/viewer/2022062422/56649e875503460f94b8a952/html5/thumbnails/5.jpg)
Cost Sharing and Reduction◦ Server normally handles the brunt of costs◦ Peers can share costs between them◦ Ex. Napster shared storage space among peers
Resource Aggregation and Interoperability◦ Huge amounts of storage, computation available◦ Sum of peer’s resources is accessible◦ Ex. SETI@home is faster than the fastest
supercomputer in the world (as of 2003)
Goals of P2P
![Page 6: Colin J. MacDougall. Class of Systems and Applications “Employ distributed resources to perform a critical function in a decentralized manner” Distributed](https://reader035.vdocuments.net/reader035/viewer/2022062422/56649e875503460f94b8a952/html5/thumbnails/6.jpg)
Improved Scalability and Reliability◦ P2P has no (or little) central authority◦ Must be able to locate resources in a network of
peers◦ Must remain operative when peers disconnect or
networks fail Increased Autonomy
◦ Local nodes do work on behalf of their users◦ Users have control over their data and work
More Goals of P2P
![Page 7: Colin J. MacDougall. Class of Systems and Applications “Employ distributed resources to perform a critical function in a decentralized manner” Distributed](https://reader035.vdocuments.net/reader035/viewer/2022062422/56649e875503460f94b8a952/html5/thumbnails/7.jpg)
Anonymity◦ Of Author, Publisher, Reader, Server, Document,
Query◦ Uses multicasting, covert paths, identity spoofing,
non-voluntary placement, encryption, etc. Dynamism
◦ Peers join and drop the network continuously◦ Must be able to allocate work to new resources◦ Must be able to recover from uncompleted work
on dropped resources
Even More Goals of P2P
![Page 8: Colin J. MacDougall. Class of Systems and Applications “Employ distributed resources to perform a critical function in a decentralized manner” Distributed](https://reader035.vdocuments.net/reader035/viewer/2022062422/56649e875503460f94b8a952/html5/thumbnails/8.jpg)
Distributed Computing◦ Sharing a computation intensive task between peers◦ Ex. SETI@home
File Sharing◦ Storing information on and retrieving information from peers◦ Ex. Napster, Gnutella
Communication & Collaboration◦ User interaction without central server◦ Ex. Instant Messaging
Platforms◦ Contain some capacity for all of the above services◦ Serve as an environment for P2P applications◦ Ex. JXTA, .NET
Categories of P2P Systems
![Page 9: Colin J. MacDougall. Class of Systems and Applications “Employ distributed resources to perform a critical function in a decentralized manner” Distributed](https://reader035.vdocuments.net/reader035/viewer/2022062422/56649e875503460f94b8a952/html5/thumbnails/9.jpg)
Divide problem into small, independent parts Limited to embarrassingly parallel problems
◦ Cluster-like communication ruled out by network latency
◦ Single Process Multiple Data Financial Applications
◦ Complex market simulations Portfolio pricing, risk hedge calculation, credit evaluation,
etc.◦ Security concerns
Biotech Applications◦ Genome@home, Folding@home
Distributed Computing
![Page 10: Colin J. MacDougall. Class of Systems and Applications “Employ distributed resources to perform a critical function in a decentralized manner” Distributed](https://reader035.vdocuments.net/reader035/viewer/2022062422/56649e875503460f94b8a952/html5/thumbnails/10.jpg)
Content storage and exchange Circumvent bandwidth limitations Technical Issues
◦ Network Consumption◦ Security◦ Search Capabilities
File Sharing
![Page 11: Colin J. MacDougall. Class of Systems and Applications “Employ distributed resources to perform a critical function in a decentralized manner” Distributed](https://reader035.vdocuments.net/reader035/viewer/2022062422/56649e875503460f94b8a952/html5/thumbnails/11.jpg)
Instant messaging, online games, shared applications
Generally event-driven Technical Challenges
◦ Location of peers◦ Fault Tolerance◦ Realtime Constraints
Communication/Collaboration
![Page 12: Colin J. MacDougall. Class of Systems and Applications “Employ distributed resources to perform a critical function in a decentralized manner” Distributed](https://reader035.vdocuments.net/reader035/viewer/2022062422/56649e875503460f94b8a952/html5/thumbnails/12.jpg)
Execution environments providing layer between OS and applications
Support primary P2P components◦ Naming, discovery, communication, security,
aggregation
Platform Services
![Page 13: Colin J. MacDougall. Class of Systems and Applications “Employ distributed resources to perform a critical function in a decentralized manner” Distributed](https://reader035.vdocuments.net/reader035/viewer/2022062422/56649e875503460f94b8a952/html5/thumbnails/13.jpg)
Central Index Algorithm
![Page 14: Colin J. MacDougall. Class of Systems and Applications “Employ distributed resources to perform a critical function in a decentralized manner” Distributed](https://reader035.vdocuments.net/reader035/viewer/2022062422/56649e875503460f94b8a952/html5/thumbnails/14.jpg)
Flooded Request Algorithm
![Page 15: Colin J. MacDougall. Class of Systems and Applications “Employ distributed resources to perform a critical function in a decentralized manner” Distributed](https://reader035.vdocuments.net/reader035/viewer/2022062422/56649e875503460f94b8a952/html5/thumbnails/15.jpg)
Document Routing Algorithm
![Page 16: Colin J. MacDougall. Class of Systems and Applications “Employ distributed resources to perform a critical function in a decentralized manner” Distributed](https://reader035.vdocuments.net/reader035/viewer/2022062422/56649e875503460f94b8a952/html5/thumbnails/16.jpg)
D.S. Milojicic, V. Kalogeraki, R. Lukose, K. Nagaraja, J. Pruyne, B. Richard, S. Rollins, Z. Xu, Peer-to-peer computing, Technical Report HPL-2002-57R1, HP Laboratories, Palo Alto, USA, 3 July 2003
Reference