peer-to-peer computing: the hype, the hard problems and quest for solutions

60
www.intel.com/labs Peer-to-Peer Peer-to-Peer Computing: The hype, Computing: The hype, the hard problems the hard problems and quest for and quest for solutions solutions Krishna Kant Ravi Iyer Vijay Tewari Intel Corporation

Upload: blythe

Post on 13-Jan-2016

24 views

Category:

Documents


0 download

DESCRIPTION

Peer-to-Peer Computing: The hype, the hard problems and quest for solutions. Krishna Kant Ravi Iyer Vijay Tewari Intel Corporation. Outline. Section I Overview of P2P P2P Framework Overview of distributed computing frameworks Additional P2P framework requirements P2P Middleware - PowerPoint PPT Presentation

TRANSCRIPT

Page 1: Peer-to-Peer Computing: The hype, the hard problems and quest for solutions

www.intel.com/labs

Peer-to-Peer Computing: Peer-to-Peer Computing: The hype, the hard The hype, the hard

problems and quest for problems and quest for solutionssolutions

Peer-to-Peer Computing: Peer-to-Peer Computing: The hype, the hard The hype, the hard

problems and quest for problems and quest for solutionssolutions

Krishna Kant

Ravi Iyer

Vijay Tewari

Intel Corporation

Page 2: Peer-to-Peer Computing: The hype, the hard problems and quest for solutions

2 www.intel.com/labs

OutlineOutlineOutlineOutline Section I

Overview of P2P P2P Framework

Overview of distributed computing frameworks Additional P2P framework requirements P2P Middleware

Section II Taxonomy of P2P applications Research Issues

Section III Preliminary Performance Modeling

Conclusion

Page 3: Peer-to-Peer Computing: The hype, the hard problems and quest for solutions

3 www.intel.com/labs

Goals for Section IGoals for Section IGoals for Section IGoals for Section I Examine the early beginnings of Peer-to-

Peer.

Look at some possible definitions of Peer-to-Peer

General idea about the Peer-to-Peer applications and frameworks.

Identify the requirements of Peer-to-Peer applications.

Page 4: Peer-to-Peer Computing: The hype, the hard problems and quest for solutions

4 www.intel.com/labs

P2P BeginningsP2P BeginningsP2P BeginningsP2P Beginnings Interest kindled by distributed file-sharing applications

Napster: Mediated digital music swapping. (http://www.napster.com)

Peer B has it

Where is “X”?

Copying X

Peer A Peer B

Mediator

1

3

2

Page 5: Peer-to-Peer Computing: The hype, the hard problems and quest for solutions

5 www.intel.com/labs

P2P BeginningsP2P BeginningsP2P BeginningsP2P Beginnings Gnutella: Fully distributed file sharing. (http://gnutella.wego.com) Freenet Distributed file sharing with anonymity and key based

search. (http://freenet.sourceforge.net)

Peer A

Peer D Peer C

Peer B

C: I have it.

4

C: I have it.3

Where is File (Key) X?

1

Where is File X?

1

Where is File (Key) X?

2

File X6

GET File (Key) X (HTTP)

5

Page 6: Peer-to-Peer Computing: The hype, the hard problems and quest for solutions

6 www.intel.com/labs

We had them already!We had them already!We had them already!We had them already! Using idle CPU cycles on home PCs, e.g., SETI@home

Involves scanning of radio telescope images for extraterrestrial life. Chunks of data downloaded by home PCs, processed and results returned to

the coordinator. Similar schemes used for other heavy-duty computational problems.

Idle disk and main memory on workstations exploited in a number of network of workstation (NOW) projects.

Master

Peer 2Data

Crunching

Peer 1 Peer 4Peer 3

Raw Data

Processed Data

Data Crunching

Data Crunching

Data Crunching

Page 7: Peer-to-Peer Computing: The hype, the hard problems and quest for solutions

7 www.intel.com/labs

Newer ApplicationsNewer ApplicationsNewer ApplicationsNewer Applications P2P streaming media distribution

CenterSpan (C-Star Multisource Peer Streaming) Mediated, Secure P2P platform for distributing digital content. Partition content and encrypt each segment. Distribute segments

amongst peers. Redundant distribution for reliability. Download segments from local cache, peers or seed servers. http://www.centerspan.com

vTrails vtCaster: At stream source. Creates network topology tree based on

end users (vtPass client software). Dynamically optimizes tree. Content distributed in a tiered manner. http://www.vtrails.com

Page 8: Peer-to-Peer Computing: The hype, the hard problems and quest for solutions

8 www.intel.com/labs

Newer ApplicationsNewer ApplicationsNewer ApplicationsNewer Applications P2P Collaboration

Groove (http://www.groove.net) Real time, small group interaction and collaboration. Fundamental notion around a “shared space”

– Each member of the group owns a copy of the “shared space”.

– Changes made to the “shared space” by one member are propagated to each member of the group (Store and forward if some member is offline).

Platform is secure.

– PKI for user authentication.

– End to end encryption.

– Groove components are digitally signed

Page 9: Peer-to-Peer Computing: The hype, the hard problems and quest for solutions

9 www.intel.com/labs

So, what is P2P?So, what is P2P?So, what is P2P?So, what is P2P? Hype: A new paradigm that can

Unlock vast idle computing power of the Internet, and Provide unlimited performance scaling.

Skeptic’s view: Nothing new, just distributed computing “re-discovered” or made fashionable.

Reality: Distributed computing on a large scale No longer limited to a single LAN or a single domain. Autonomous nodes, no controlling/managing authority. Heterogeneous nodes intermittently connected via links of varying

speed and reliability.

A tentative definition: A dynamic network (peers can come & go as they please) No central controlling or managing authority. A node can act as both as a “client” and as a “server”.

Page 10: Peer-to-Peer Computing: The hype, the hard problems and quest for solutions

10 www.intel.com/labs

P2P PlatformsP2P PlatformsP2P PlatformsP2P Platforms Legion, University of Virginia, Now owned by “Avaki” Corp. Globe, Vrije Univ., Netherlands Globus, Developed by a consortium including Argonne

Natl. Lab and USC’s Information Sciences Institute. JXTA, Open source P2P effort started by Sun Microsystems. .NET by Microsoft Corp.

WebOS, University of Washington Magi, Endeavors Technology Groove

Page 11: Peer-to-Peer Computing: The hype, the hard problems and quest for solutions

11 www.intel.com/labs

Avaki (Legion)Avaki (Legion)Avaki (Legion)Avaki (Legion) Objective: Wide-area O/S functionality via distributed objects.

Middleware infrastructure for distributed resource sharing in mutually distrustful environment..

Global O/S services built on top of local O/S

*Source: Peer-to-Peer Computing by David Barkai (Intel Press)

Page 12: Peer-to-Peer Computing: The hype, the hard problems and quest for solutions

12 www.intel.com/labs

Avaki (Legion)Avaki (Legion)Avaki (Legion)Avaki (Legion) Naming: LOID (location Indep. Object Id), current object

address & object name Persistent object space: generalization of file-system

(manages files, classes, hosts, etc.) Communication: RPC like except that the results can be

forwarded to the real consumer directly. Security: RSA keys a part of LOIDs, Encryption,

authentication, digesting provided. Local autonomy: Objects call local O/S services for all

management, protection and scheduling. Active objects: objects represent both processes and

methods.

Overall: Comprehensive WAN O/S, but not targeted as a general P2P enabler.

Page 13: Peer-to-Peer Computing: The hype, the hard problems and quest for solutions

13 www.intel.com/labs

GlobeGlobeGlobeGlobe Objective: Another model for WAN O/S. Distributed passive object model. Processes are separate

entities that bind to objects. Each object consists of 4 subobjects:

Semantics subobject for functionality. Communication subobject for inter-object communication. Replication subobject for replica handling including consistency

maintenance. Control subobject for control flow within the object.

Binding to object includes two steps: Name & location lookup and contact address creation. Selecting an implementation of the interface.

Overall: Similar to Legion, except that processes and objects are not tightly integrated.

Page 14: Peer-to-Peer Computing: The hype, the hard problems and quest for solutions

14 www.intel.com/labs

GlobusGlobusGlobusGlobus Objective: Grid computing, integration of existing services. Defines a collection of services, e.g.,

Service discovery protocol Resource location & availability protocol Resource replication service Performance monitoring service

Any service can be defined and becomes the part of the “system”.

Higher level services can be built on top of basic ones. Preserves site autonomy. Existing legacy services can be

offered unaltered. Overall: Excellent reusability. Unconstrained toolbox

approach => Very difficult to join two “islands”.

Page 15: Peer-to-Peer Computing: The hype, the hard problems and quest for solutions

15 www.intel.com/labs

JXTAJXTAJXTAJXTA Objective: A low-level framework to support P2P applications:

Avoids any reference to specific policies or usage models. Not targeted for any specific language, O/S, runtime environment, or networking

model. All exchanges are XML based.

Base concepts for Identifiers Advertisements Peers Peer Groups Pipes

At the highest abstraction defines a set of protocols using the base concepts: Peer Discovery protocol: Discovery of peers, resources, peer groups etc. Peer Resolver Protocol Peer Information Protocol Peer Membership protocol. Pipe binding protocol Peer endpoint protocol.

Page 16: Peer-to-Peer Computing: The hype, the hard problems and quest for solutions

16 www.intel.com/labs

JXTAJXTAJXTAJXTA

Source: White Paper on Project JXTA: A Technology Overview by Li Gong

Page 17: Peer-to-Peer Computing: The hype, the hard problems and quest for solutions

17 www.intel.com/labs

Microsoft .NET in the context of Microsoft .NET in the context of P2PP2PMicrosoft .NET in the context of Microsoft .NET in the context of P2PP2P Objective: An enabler of general XML/SOAP based

web services.

Message transfer via SOAP (simple object access protocol) over HTTP.

Kerberos based user authentication.

Extensive class library.

Emphasizes global user authentication via passport service (user distinct from the device being used).

Hailstorm supports personal services which can be accessed via SOAP from any entity

Page 18: Peer-to-Peer Computing: The hype, the hard problems and quest for solutions

18 www.intel.com/labs

MAGIMAGIMAGIMAGI Enabler for collaborative business applications.

*Source: Peer-to-Peer Computing by David Barkai (Intel Press)

Page 19: Peer-to-Peer Computing: The hype, the hard problems and quest for solutions

19 www.intel.com/labs

MagiMagiMagiMagi Magi: Micro-Apache Generic Interface, an

extension of Apache project.

Superset of HTTP using WebDAV: Web distributed authoring & versioning

protocol, which provides, locking services, discovery & assignment services, etc. for web documents.

SWAP (simple workflow access protocol) that supports interaction between running services (e.g., notification, monitoring, remote stop/synchronization, etc.)

Intended for servers; client interface is HTTP.

Page 20: Peer-to-Peer Computing: The hype, the hard problems and quest for solutions

20 www.intel.com/labs

WebOSWebOSWebOSWebOS Objective: WAN O/S that can dynamically push functionality

to various nodes depending on loading.

Outgrowth of the Berkeley NOW (network of workstations) project.

Consists of a number of components Global naming: Mapping a service to multiple nodes, load

balancing & failover. Wide-area file system (with transparent caching and cache

coherency). Security & Authentication w/ fine-grain capability control. Process control: Support for remote process execution.

Project no longer active, parts of it being used elsewhere.

Overall: Dynamic configurability useful for P2P environment.

Page 21: Peer-to-Peer Computing: The hype, the hard problems and quest for solutions

21 www.intel.com/labs

GrooveGrooveGrooveGroove Groove (http://www.groove.net)

Real time, small group interaction and collaboration. Fundamental notion around a “shared space”

– Each member of the group owns a copy of the “shared space”.

– Changes made to the “shared space” by one member are propagated to each member of the group (Store and forward if some member is offline).

Platform is secure.

– PKI for user authentication.

– End to end encryption.

– Groove components are digitally signed

Page 22: Peer-to-Peer Computing: The hype, the hard problems and quest for solutions

22 www.intel.com/labs

Requirements for P2P Requirements for P2P ApplicationsApplicationsRequirements for P2P Requirements for P2P ApplicationsApplications Local autonomy: No control or management by a central authority.

Scalability: Support collaboration of arbitrarily large number of nodes.

Security & Privacy: All accesses are authenticated and authorized.

Fault Tolerance: Assured progress with up to k failures anywhere.

Interoperability: Any peer that follows the protocol can participate irrespective of platform, OS, etc.

Responsiveness: Satisfy the latency expectations of the application.

Non-imposing: Allows machine user full resource usage whenever desired without affecting responsiveness.

Simplicity: Setting up a P2P application or participating in one should require minimum of manual intervention.

Auto-optimization: Ability to dynamically reconfigure the application (no of nodes, functionality, etc.)

Extensibility: Dynamic addition of functionality.

Page 23: Peer-to-Peer Computing: The hype, the hard problems and quest for solutions

23 www.intel.com/labs

P2P ServicesP2P ServicesP2P ServicesP2P Services Basic.

Network Services. Naming. Event and Exception management services. Storage Services Metadata services Security Services

Advanced. Search and Discovery. Administrative and Auditing. File services akin to a virtual file system. User and group management services. Resource management services. Digital Rights management. Replication and Migration services.

Page 24: Peer-to-Peer Computing: The hype, the hard problems and quest for solutions

24 www.intel.com/labs

From Services to possible LayersFrom Services to possible LayersFrom Services to possible LayersFrom Services to possible Layers

• Transport and data protocols for interoperability

• Common protocols: IP, : IP, IPv6, sockets, http, XML, IPv6, sockets, http, XML, SOAP, . . .SOAP, . . .

• NAT and firewall solutionsNAT and firewall solutions• Roaming, intermittent Roaming, intermittent

connectivityconnectivity

Availability from unreliable components

Replication

Striping

Failover

Guaranteed message queuing

CommunicationsCommunicationsCommunicationsCommunicationsCommunicationsCommunicationsCommunicationsCommunications

Location Independent ServicesLocation Independent Services

Identity, Presence, CommunityIdentity, Presence, CommunityIdentity, Presence, CommunityIdentity, Presence, CommunityIdentity, Presence, CommunityIdentity, Presence, CommunityIdentity, Presence, CommunityIdentity, Presence, CommunityIdentity, Presence, CommunityIdentity, Presence, CommunityIdentity, Presence, CommunityIdentity, Presence, Community

SecuritySecuritySecuritySecuritySecuritySecuritySecuritySecuritySecuritySecuritySecuritySecurity

AvailabilityAvailabilityAvailabilityAvailabilityAvailabilityAvailabilityAvailabilityAvailabilityAvailabilityAvailabilityAvailabilityAvailability

CommunicationsCommunicationsCommunicationsCommunications

Administration, MonitoringAdministration, MonitoringAdministration, MonitoringAdministration, Monitoring

Naming, Discovery, DirectoryNaming, Discovery, DirectoryNaming, Discovery, DirectoryNaming, Discovery, Directory

Sharable ResourcesSharable ResourcesSharable ResourcesSharable Resources

Sta

nd

ard

sS

tan

dar

ds

Sta

nd

ard

sS

tan

dar

ds

Po

lici

esP

oli

cies

Po

lici

esP

oli

cies

Authorization

Integrity

Privacy

Web of trust

Certification

DRM

Page 25: Peer-to-Peer Computing: The hype, the hard problems and quest for solutions

25 www.intel.com/labs

From Services to possible LayersFrom Services to possible LayersFrom Services to possible LayersFrom Services to possible Layers

User / group identity

Authentication

Persistence

Beyond a session Across multiple

devices

Local Autonomy

IT allocation of resources

Self administration – reliable whole from unreliable parts

Resource monitoring

Payment tracking

CommunicationsCommunicationsCommunicationsCommunicationsCommunicationsCommunicationsCommunicationsCommunications

Location Independent ServicesLocation Independent Services

Identity, Presence, CommunityIdentity, Presence, CommunityIdentity, Presence, CommunityIdentity, Presence, CommunityIdentity, Presence, CommunityIdentity, Presence, CommunityIdentity, Presence, CommunityIdentity, Presence, CommunityIdentity, Presence, CommunityIdentity, Presence, CommunityIdentity, Presence, CommunityIdentity, Presence, Community

SecuritySecuritySecuritySecuritySecuritySecuritySecuritySecuritySecuritySecuritySecuritySecurity

AvailabilityAvailabilityAvailabilityAvailabilityAvailabilityAvailabilityAvailabilityAvailabilityAvailabilityAvailabilityAvailabilityAvailability

CommunicationsCommunicationsCommunicationsCommunications

Administration, MonitoringAdministration, MonitoringAdministration, MonitoringAdministration, Monitoring

Naming, Discovery, DirectoryNaming, Discovery, DirectoryNaming, Discovery, DirectoryNaming, Discovery, Directory

Sharable ResourcesSharable ResourcesSharable ResourcesSharable Resources

Sta

nd

ard

sS

tan

dar

ds

Sta

nd

ard

sS

tan

dar

ds

Po

lici

esP

oli

cies

Po

lici

esP

oli

cies

Name space management

Metadata management

Discovery & location of peers, services, resources, users

CPU, storage, memory

Bandwidth

I/O devices

Capability discovery

Page 26: Peer-to-Peer Computing: The hype, the hard problems and quest for solutions

www.intel.com/labs

Questions ???Questions ???Questions ???Questions ???

Page 27: Peer-to-Peer Computing: The hype, the hard problems and quest for solutions

27 www.intel.com/labs

Part 2: Taxonomy & Research Part 2: Taxonomy & Research IssuesIssuesPart 2: Taxonomy & Research Part 2: Taxonomy & Research IssuesIssues

Goals: To introduce a taxonomy for classifying P2P

applications and environments. To elaborate upon some major research issues.

Page 28: Peer-to-Peer Computing: The hype, the hard problems and quest for solutions

28 www.intel.com/labs

P2P TaxonomyP2P TaxonomyP2P TaxonomyP2P Taxonomy Consider two types of properties:

Application characteristics Environmental characteristics

Application Characteristics: Resource (or data) storage: organized or scattered. Resource control: organized or scattered. Resource usage: isolated or collaborative. Consistency constraints: loose or tight. QoS constraints: loose (e.g., non real-time), moderate

(e.g., online transaction processing). query/response), or tight (e.g., streaming media).

Page 29: Peer-to-Peer Computing: The hype, the hard problems and quest for solutions

29 www.intel.com/labs

P2P Taxonomy Cont’dP2P Taxonomy Cont’dP2P Taxonomy Cont’dP2P Taxonomy Cont’d Environmental characteristics:

Network latency: Ranges from uniformly low (e.g., for a high-speed LAN) to highly variable (e.g., for general WAN).

Security concerns: Ranges from low (e.g., corporate intranet) to high (e.g., public WAN).

Scope of failures: Ranges from occasional isolated failures (e.g., a laboratory network of workstations) to network partitioning.

Connectivity: Ranges from always-on (e.g., nodes in a business LAN) to occasional-on (e.g., mobile devices).

Heterogeneity: Ranges from complete homogeneity to complete heterogeneity (in platform, O/S, protocols etc.).

Stability: Ranges from highly stable (i.e., Planned occasional changes/upgrades) to unpredictable.

Convenient to aggregate them as “friendly” and “hostile”.

Page 30: Peer-to-Peer Computing: The hype, the hard problems and quest for solutions

30 www.intel.com/labs

Research IssuesResearch IssuesResearch IssuesResearch Issues Intelligent caching of search results. Intelligent object retrieval

Retrieval by properties rather than URL. Need distributed indexing mechanisms. Directing searches to more promising and less loaded nodes.

Multiparty synchronization and communication that scales to thousands of nodes.

For home computers: Utilize idle computing resources w/o significant communication requirements.

Unobtrusive use: If the owner wants to use the resources, get out of the way quickly.

Low latency service handoff protocols.

Page 31: Peer-to-Peer Computing: The hype, the hard problems and quest for solutions

31 www.intel.com/labs

Research Issues Cont’dResearch Issues Cont’dResearch Issues Cont’dResearch Issues Cont’d Distributed load balancing that scales to thousands

of geographically distributed nodes. Stitching traffic from multiple paths to reduce

latency or losses for real-time applications. Access control in a mutually suspicious environment

(foreign objects on your machine must protect themselves from you, and you from these objects).

Effective mapping of the application topology to the physical topology.

Architectural features to Efficiently propagate requests and responses w/o

significant CPU involvement Squelch duplicate, orphaned or very late responses.

Page 32: Peer-to-Peer Computing: The hype, the hard problems and quest for solutions

32 www.intel.com/labs

Additional P2P IssuesAdditional P2P IssuesAdditional P2P IssuesAdditional P2P Issues Communicating with peers behind NAT devices and firewalls. Naming and addressing peers that do not have DNS entries. Coping with intermittent connectivity & presence (e.g.,

queued transfers). Authentication of users independent of devices. Digital rights management. On demand task migration w/o breaking the application. Efficient distributed information location and need based

content migration. Scalability to huge number of peers (e.g., 100M):

Peer state management Discovery and presence management (intermittent connectivity

& slow last mile links) Certificate management and authentication.

Page 33: Peer-to-Peer Computing: The hype, the hard problems and quest for solutions

www.intel.com/labs

Part 3: Performance Part 3: Performance StudyStudyPart 3: Performance Part 3: Performance StudyStudy

Goals:1. Define a performance model including

- Network model

- File storage and access model

- File caching and propagation model

2. Discuss sample results

3. Discuss Architectural impacts

Page 34: Peer-to-Peer Computing: The hype, the hard problems and quest for solutions

34 www.intel.com/labs

P2P Network CharacteristicsP2P Network CharacteristicsP2P Network CharacteristicsP2P Network Characteristics Desirable characteristics

Adequate representation of ad hoc nature of the network. Expected to contain a few special sites (well-known,

content rich, substantial resources, etc.) Heavy-tailed nature of connectivity.

Other Issues Dynamic changes to the network

Direct modeling not required if rate of change << request rate.

Metadata consistency issues still need to be considered. Mapping of virtual P2P network on physical network

P2P applications generally don’t pay attention to mapping. “Virtual links” bet. P2P neighbors are essentially statistically

identical. A better modeling possible, but difficult to calibrate.

Page 35: Peer-to-Peer Computing: The hype, the hard problems and quest for solutions

35 www.intel.com/labs

P2P Node ModelP2P Node ModelP2P Node ModelP2P Node Model Consider a 3-tier model for nodes

tier-1: Well-known, resource-rich, always on & part of network.

Similar to traditional server nodes (globally known sites in Gnutella)

Henceforth called as distinguished nodes. tier-2: “Hub” nodes (reasonably resource rich & mostly on)

Contribute storage/files in addition to requesting them. May join/leave the network, but at time-scale >> req-

response time. Henceforth called as undistinguished nodes.

tier-3: Infrequently connected or primarily “client” functionality

No need to represent these explicitly in the network Requests/responses from these appear to originate from tier-

1/2 nodes that they home on.

Page 36: Peer-to-Peer Computing: The hype, the hard problems and quest for solutions

36 www.intel.com/labs

P2P Network ModelP2P Network ModelP2P Network ModelP2P Network Model Use a random graph model to represent topology.

Traditional G(n,p) RG model too simplistic.

Use a 2-tier non-uniform model built as follows: Start with a degree Kd regular graph of Nd dist. Nodes. Add Nu undistinguished nodes sequentially as follows:

The new node connects to K other nodes. K: const or an integer-valued RV in range 1..Kmax

Each connection targets an undistinguished node with prob qu (this may not be possible for the first Kmax nodes).

Dist. Node target: uniform distribution over all dist nodes. Undist. Node target: Zipf() over existing undist. nodes. At most one connection allowed between any pair of nodes.

controls the decay rate of nodal degree =0 => Uniform dist => Very slow decay. Used here for

simplicity.

Page 37: Peer-to-Peer Computing: The hype, the hard problems and quest for solutions

37 www.intel.com/labs

Topological propertiesTopological propertiesTopological propertiesTopological properties Some network properties can be analyzed analytically Outline of Analysis (see http://kkant.ccwebhost.com/download.htm)

Degree distribution: Distinguished nodes at level 0, each new node defines a new level. Pn(l2,l): Prob(level l node has degree n when current level = l2) Get recurrence eqns for Pn(l2,l) & hence its PGF (z| l2,l) . Get avg degree Dat(l2,l) at level l when current level = l2.

Can be adapted for computing the undistinguished degree of a node. No of nodes reached in h hops:

Rh matrix: Rh(i,j) is prob of reaching level i from level j in exactly h hops. Compute Rh(i,j) by enumerating all unique paths of length h. Compute G(l2,h), avg no of nodes reached in h hops starting from a level l2.

Request and response traffic at level l node: nreqs = No of requests reaching undist. nodes in h hops = 1 + h G(l2,h), nresps = 1 + h h G(l2,h), since resp from h hops away goes thru h nodes.

Nodal utilization & node engineering: Easy to ensure that nodal utilization do not exceed some limits.

Queuing properties generally intractable; explored via simulation.

Page 38: Peer-to-Peer Computing: The hype, the hard problems and quest for solutions

38 www.intel.com/labs

Sample Results - 100 nodesSample Results - 100 nodesSample Results - 100 nodesSample Results - 100 nodesundist no_of nodes undist resps trafprob hops reached reached /node

/node

1 5.9 3.3 4.9 6.12 55.2 44.5 103.6 146.5

0.05 3 99.1 85.8 235.2 320.54 100 90.0 238.8 328.85 100 90.0 238.8 328.81 5.9 4.3 4.9 8.42 34.3 23.8 61.7 82.3

0.50 3 91.0 73.9 231.7 304.04 99.9 89.4 267.5 356.95 100 89.6 267.7 357.31 5.9 5.3 4.9 10.62 28.6 22.6 50.3 73.6

0.95 3 76.7 63.8 194.6 258.44 98.5 87.4 281.8 369.25 99.7 89.3 287.8 377.2

Page 39: Peer-to-Peer Computing: The hype, the hard problems and quest for solutions

39 www.intel.com/labs

Sample Results - 500 nodesSample Results - 500 nodesSample Results - 500 nodesSample Results - 500 nodes

undist no_of nodes undist resps trafprob hops reached reached /node

/node

1 6.0 3.6 5.0 6.22 243.7 232.7 480.5 711.5

0.05 3 499.7 488.6 1248.41737.04 500.0 490.0 1249.61739.61 6.0 4.7 5.0 8.52 95.7 84.2 184.3 264.6

0.50 3 483.5 465.1 1347.81812.44 500.0 490.0 1413.91903.91 6.0 5.8 5.0 10.72 35.1 29.1 63.2 91.7

0.95 3 163.5 137.1 448.3 582.44 405.7 367.7 1417.21782.7

Page 40: Peer-to-Peer Computing: The hype, the hard problems and quest for solutions

40 www.intel.com/labs

Simulation of Random GraphsSimulation of Random GraphsSimulation of Random GraphsSimulation of Random Graphs Simulation of Random graph is a hard problem

Model represents a large number of topologies that the actual network might take.

Too many instances to simulate explicitly and then average the results. Example: 2 dist & 3 undist nodes, each connects to 2 nodes => 6 distinct

topologies.

Possible approaches to simulation: Average case analysis Model with limited set of instances. Direct simulation of probabilistic model.

Page 41: Peer-to-Peer Computing: The hype, the hard problems and quest for solutions

41 www.intel.com/labs

Average case analysisAverage case analysisAverage case analysisAverage case analysis Intended environment

To study performance of an “average” network defined by RG model.

No dynamic changes to the topology possible.

Graph construction Start with the regular graph of distinguished nodes (as usual). For adding undist nodes, work with only the avg connectivities Kd &

Ku for an incoming node. Always connect to the existing node with min connectivity. Kd & Kd can be used successively to handle non-integer Kd values

(similarly for Ku).

Characteristics/issues Simple, only one graph to deal with in simulation. Gives correct avg reachability and nodal utilizations. All queuing metrics (including avg response time) are

underestimated.

Page 42: Peer-to-Peer Computing: The hype, the hard problems and quest for solutions

42 www.intel.com/labs

Constrained ConnectivityConstrained ConnectivityConstrained ConnectivityConstrained Connectivity Intended environment

To capture most likely scenarios of connectivity. Accommodate both static topology an slowly changing topology.

Graph construction and simulation For the entering level l2 node, analytically estimate Dat(l2,l) at all l. Allow connection to a level l node only if degree(l) falls in the

range (min..max) Dat(l2,l) . Found that min=0.5 and max=1.5 is quite adequate. Generate a limited set (~100) instances of the graph. During simulation, each query randomly selects one instance.

Characteristics/issues Avoids highly asymmetric topologies => queuing properties are

underestimated. All generated instances are given equal weight. Relative weights

can be estimated but very expensive.

Page 43: Peer-to-Peer Computing: The hype, the hard problems and quest for solutions

43 www.intel.com/labs

Probabilistic Graph EmulationProbabilistic Graph EmulationProbabilistic Graph EmulationProbabilistic Graph Emulation Intended environment

To study overall performance when the topology is defined by the random graph model.

Accommodate fast changing or unstable topologies.

Method: For each node i, estimate relative prob qij of having an edge to node j i.

A query coming from node k to node i is sent to node j with prob qij/(1-qik).

This virtual topology for the query is used to return responses as well.

Characteristics/Issues Method dependent on analytic calculation of edge probabilities to

neighbors. Single simulation automatically visits various instances in the correct

proportion. No explicit control over which instances are visited => Reliable results may

take a very long time. Very expensive and difficult to handle complex operations (e.g., file

migration).

Page 44: Peer-to-Peer Computing: The hype, the hard problems and quest for solutions

44 www.intel.com/labs

File Size & access distributionFile Size & access distributionFile Size & access distributionFile Size & access distribution Using a 2-segment model:

Small sizes: Distribution generally irregular; uniform is a reasonable model. Pareto tail with decay rate 1<<2 is quite reasonable.

Adopted distribution: Uniform dist in the small-size range 400 bytes to 4 KB. Pareto distribution with a min value of 4KB and mean of 40 KB => =

1.11. 40 KB mean is typical for web pages, but too small for MP3 files.

“File category” provides a link between file size and its “popularity”. Needed to model higher access rate of small files.

Chose 9 categories (equally spaced in log domain)

400B, 1.265KB, 4KB, 12.65KB, 40KB, 126.5KB, 400KB, 1.265MB, 4MB, 12.65MB

File access distribution: Across categories, distribution specified by a discrete mass function:

(0.07, 0.14, 0.2018, 0.20, 0.14, 0.098, 0.0686, 0.048, 0.0336) This increases linearly first and then decays geometrically w/ factor 0.7. Within each category, assume uniform access distribution.

Page 45: Peer-to-Peer Computing: The hype, the hard problems and quest for solutions

45 www.intel.com/labs

Parameters: File CopiesParameters: File CopiesParameters: File CopiesParameters: File Copies Each search in a P2P network may result in multiple “hits”.

Need only dist. of hits; precise modeling of search mechanism not needed.

Use file copies for this: Each file has C copies in the range (1..Cmax) with a given distribution.

A file is now identified by the triplet: (category, file_no, copy_no) where file_no is a unique id (e.g., sequence no) of files in a category.

This allows following capabilities: Unique searches specified by the file-id triplet. Non-unique searches specified by (category, file_no). Replication control and fault-tolerant operation.

File copy parameters: Distribution may be related to the nature of the file (not considered here). Separate distributions allowed for files allocated to dist & undist nodes.

Assuming a triangular distribution with Cmax = 20, and mode Cmode= 5 for all nodes => Mean no of copies = 8.667.

Page 46: Peer-to-Peer Computing: The hype, the hard problems and quest for solutions

46 www.intel.com/labs

File Assignment to NodesFile Assignment to NodesFile Assignment to NodesFile Assignment to Nodes Assignment of copies to nodes:

Assign copies at a fixed distance so as to distribute them evenly across the network.

Apply an offset for each round of copy assignment to avoid bunching up. Do not assign more than one copy of a file to a node.

Algorithm: loop over all files

n_copies = triangular_rv(1, Cmax , Cmode) // Generate random no of copies

if ( n_copies > n_nodes ) n_copies = n_nodes; // Don’t allow more copies than nodes

distance = n_nodes/n_copies; // Distance for copy allocation

offset = 1 + n_nodes/no_files; // If too few files, get an offset to avoid bunching

tot_offset = (tot_offset + offset) % n_nodes;

node_no = tot_offset; // Node for the assignment of first copy

for ( copy_no = 0; copy_no < n_copies; copy_no++) {

assign_file( node_no, file_no, size);

node_no = (node_no + distance) % n_nodes; // Next node for assignment

if ( copy_no < n_copies -1 && node_no == (tot_offset + wraps)% n_nodes) {

node_no = (node_no + 1) % n_nodes; wraps++;

}

} // loop over copies

Page 47: Peer-to-Peer Computing: The hype, the hard problems and quest for solutions

47 www.intel.com/labs

Query CharacteristicsQuery CharacteristicsQuery CharacteristicsQuery Characteristics Assumptions:

No queries (searches) started from distinguished nodes since these nodes are essentially “servers”.

Identical query arrival process at each undistinguished node.

Arrival process model An on-off process with identical Pareto distribution for on \& off periods:

P(X>x) = (x/T) for x > T Assume T=12 secs, and =1.4 which gives E(X)=30 secs. Const inter-arrival time of 4 secs during the on-period, no traffic during off

period. Total traffic at a node is superposition of arrivals from all reachable nodes. Approx. a self-similar process with Hurst parameter H=(3 - )/2 = 0.8 when no

of reachable nodes is large.

Query properties: Each query specifies a file (category, file_no) w/ given access characteristics. Shown results do not specify copy_no => Multiple hits possible for each query. Query percolates for h “hops”. (h=3 can cover 95% of nodes for chosen graph). If a query arrives at a node more than once, it is not propagated.

Page 48: Peer-to-Peer Computing: The hype, the hard problems and quest for solutions

48 www.intel.com/labs

File Retrieval File Retrieval File Retrieval File Retrieval Query Response:

Query reaching a node generates found/not found response, which travels backwards along the search path.

Querying node runs a timer Tu; all responses after the timeout are ignored. Currently no concept of retrying the timed out requests. Distribution of Tu: Triangular in the range (3,14) secs with mean 8.0 secs.

File retrieval: Randomly choose one of the positively responding nodes for file retrieval. Requested file(s) are obtained directly (i.e., do not follow the response

path). Retrieved file may be optionally cached at the requesting node.

File cache flushing Used as a way of modeling dynamic changes in tier-3 nodes (which are not

represented). A cache flush represents a tier3 user disconnecting and replaced by another

statistically identical tier-3 node. No of cycles before cache flushing: Zipf with min=30, max=120 and =1.0.

Page 49: Peer-to-Peer Computing: The hype, the hard problems and quest for solutions

49 www.intel.com/labs

Simulation ResultsSimulation ResultsSimulation ResultsSimulation Results

Page 50: Peer-to-Peer Computing: The hype, the hard problems and quest for solutions

50 www.intel.com/labs

Major ObservationsMajor ObservationsMajor ObservationsMajor Observations

Page 51: Peer-to-Peer Computing: The hype, the hard problems and quest for solutions

51 www.intel.com/labs

Conclusions & Future WorkConclusions & Future WorkConclusions & Future WorkConclusions & Future Work Covered in the tutorial:

Introduced major developments relevant to P2P computing. Introduced sample middleware functionality to support P2P

applications. Introduced a taxonomy for classifying P2P computing

applications and environments. Discussed major research issues to be resolved. Proposed a random graph model for P2P networks and studied its

properties. Studies some performance issues for P2P deployments using

detailed simulation of file-sharing applications.

Potential Future Work Further refinement of middleware functionality and taxonomy as

newer P2P applications emerge. More comprehensive performance studies, particularly going

beyond simply file-sharing.

Page 52: Peer-to-Peer Computing: The hype, the hard problems and quest for solutions

www.intel.com/labs

BackupBackupBackupBackup

Page 53: Peer-to-Peer Computing: The hype, the hard problems and quest for solutions

53 www.intel.com/labs

GoalsGoalsGoalsGoals Define Peer-to-Peer.

General idea about the Peer-to-Peer applications and frameworks.

Identify the requirements of Peer-to-Peer applications.

Examine a taxonomy for Peer-to-Peer.

Performance. (Not clear what we write here)

Page 54: Peer-to-Peer Computing: The hype, the hard problems and quest for solutions

54 www.intel.com/labs

Ad-hoc Collaborative computingAd-hoc Collaborative computingAd-hoc Collaborative computingAd-hoc Collaborative computing Several applications e.g., telemedicine, military planning, video-

conferencing, document editing A group of peers discover one-another and form an ad-hoc network Peers setup the necessary communication channels (perhaps secure) and

distribute objects. Peers do arbitrary real-time computation perhaps involving multiparty

synchronization. Results are collected and the network disbanded.

Page 55: Peer-to-Peer Computing: The hype, the hard problems and quest for solutions

55 www.intel.com/labs

JXTAJXTAJXTAJXTA At the highest abstraction defines a set of protocols:

Peers & peer groups: An arbitrary grouping of peers; group members share resources & services.

Services: A basic set defined (e.g., discovery, membership, access control, resolver, communication, etc.)

Pipes: Unidirectional, asynchronous communication channels. A peer can dynamically connect/disconnect to any existing pipe within the peer group.

Messages: Arbitrary sized w/ src and dest addresses in URI form. Advertisements: A “properties” record needed for name resolution,

availability, etc. Specified as a XML document.

Page 56: Peer-to-Peer Computing: The hype, the hard problems and quest for solutions

56 www.intel.com/labs

P2P ServicesP2P ServicesP2P ServicesP2P Services Basic.

Network Services. Core communication functionality. Enable communication on various network topologies

such as direct via firewalls. Enable communication in the face of intermittent

connectivity. Event and Exception management services.

Publish and subscribe model. Storage Services

Low level File services. Metadata services

Generic mechanism for publishing and obtaining Metadata for

– Devices– Resources (Files, CPU, Memory etc)

Page 57: Peer-to-Peer Computing: The hype, the hard problems and quest for solutions

57 www.intel.com/labs

P2P ServicesP2P ServicesP2P ServicesP2P Services Security Services

Identification Authentication Access Control Integrity Confidentiality Audit Trail

User and group management services. Resource management and Placement services.

Advanced. Naming. Search. Discovery. Administrative. Auditing. File services

Page 58: Peer-to-Peer Computing: The hype, the hard problems and quest for solutions

58 www.intel.com/labs

Additional P2P IssuesAdditional P2P IssuesAdditional P2P IssuesAdditional P2P Issues Communicating with peers behind NAT devices and firewalls. Naming and addressing peers that do not have DNS entries. Coping with intermittent connectivity & presence (e.g.,

queued transfers). Authentication of users independent of devices. Digital rights management. On demand task migration w/o breaking the application. Efficient distributed information location and need based

content migration. Scalability to huge number of peers (e.g., 100M):

Peer state management Discovery and presence management (intermittent connectivity

& slow last mile links) Certificate management and authentication.

Page 59: Peer-to-Peer Computing: The hype, the hard problems and quest for solutions

59 www.intel.com/labs

Web Sites of InterestWeb Sites of InterestWeb Sites of InterestWeb Sites of Interest Napster (http://www.napster.com)

Gnutella (http://gnutella.wego.com)

Freenet (http://freenet.sourceforge.net)

JXTA (http://www.jxta.org)

Avaki Corp (http://www.avaki.com)

Legion (http://legion.virginia.edu)

Globe (http://www.cs.vu.nl/~steen/globe)

Globus (http://www.globus.org)

Microsoft .Net (http://www.microsoft.com/net)

Page 60: Peer-to-Peer Computing: The hype, the hard problems and quest for solutions

60 www.intel.com/labs

Web sites of interestWeb sites of interestWeb sites of interestWeb sites of interest

Peer-to-Peer Working Group. (http://www.p2pwg.org)

CenterSpan (http://www.centerspan.com)

vTrails (http://www.vtrails.com)

SETI@Home (http://setiathome.ssl.berkeley.edu)