没有合适的资源?快使用搜索试试~ 我知道了~
scalabilityscalabilityscalabilityscalability
资源详情
资源评论
资源推荐
11
Scalability
“You can’t scale better than by utilising someone elses computer.”
Paul James
1
P2P has led to a recent renewal of interest in decentralized systems and a
number of scalable applications being deployed on the Internet. Although the
underlying Internet itself is the largest decentralized computer system in the
world, most systems have employed a completely centralized topology in the
1990s through the massive growth of the Web as discussed in Chapter 6. With
the emerge nc e of P2P in early 2000, there has been a shift into employing the
use of radically decentralized architectures, such as Gnutella [4]. In practice,
however, extreme architectural choices in either direction are seldom the way
to build a usable system. Most current P2P file-sharing software, for example,
use a hybrid of the two approaches.
In this chapter, we look at the ways in which peers are organized within ad
hoc, pervasive, multi-hop networks by providing an overview of two common
scalable approaches often referred to broadly as structured and unstructured
P2P networks. Structured networks adopt a somewhat hierarchical approach
by creating a structured overlay across the network and dividing content across
the distributed network by using hash functions. An unstructured approach,
however, adapts dynamically by adding caching centres (super peers) across
the network in an ad hoc fashion. Both approaches have been shown to scale
to large numbers of participants and both have somewhat equal popularity at
the time of writing. Although the specifics of the various approaches within
these categories are out of scope for this chapter, we do provide here a high-
level overview of the basics of each approach and discuss their similarities and
differences.
1
From Paul James’ blog article “Living Without Sessions” http://www.peej.co.
uk/articles/no-sessions.html.
198 11 Scalability
11.1 Performance in P2P Networks
So, how do we organize P2P networks in such a way as to get optimum
performance? Well, performance in P2P networks is non-deterministic. A P2P
network is often constructed in an ad hoc fashion and due to its nature and
transient availability of its cooperating peers, it is therefore impossible to
stabilise the network for optimal performance. However, this does not mean
that we should give up; it simply means we have to devise complicated robust
algorithms that make the best of this situation. Therefore, performance in P2P
networks cannot be measured precisely; it rather involves taking empirical
measurements such as:
• How long does it take to search for a particular file?
• How much bandwidth will the query consume?
• How many hops will it take for my package to get to a peer on the far side
of the network?
• If I add/remove a peer to/from the network, will the network still be fault
tolerant?
• Does the network scale as we add more peers? Such networks can rapidly
expand from a few hundred peers to several thousand or even millions.
The answers to these questions have a direct impact on the success and
usability of a system. Remember that P2P networks operate in unreliable en-
vironments where peers are continuously connecting and disconnecting. Re-
sources may suddenly become unavailable for a variety of reasons: e.g., users
may disconnect from the network because they do not want to participate any
more. Further, there are more random failures, e.g., cable and DSL failures,
power outages, hackers and attacks, as personal machines are much more vul-
nerable than dedicated servers. In such an environment, therefore, there need
to be algorithms which can cope with this continuous restructuring of the
network core. P2P systems need to treat failures as normal occurrences, not
freak exceptions, and therefore P2P networks must be designed in a way that
promotes redundancy with the trade-off of a degradation of performance.
There are three main factors that make P2P networks more sensitive to
performance issues compared to other types of networks [21]:
1. Communication: An obvious fundamental necessity of any P2P network.
Most users connect through dial-up, cable or DSL and so their connection
speed is the main bottleneck. However, this problem is amplified by the
highly parallel, multi-hop nature of a P2P network where it often takes
a number of hops for a packet to reach its destination. Therefore other
users’ connection speeds also create a bottleneck; i.e., if one peer on your
multi-hop request is running a 56K modem, then this slows things down
en route. Network traffic minimization and load balancing therefore are
important considerations to overall performance.
11.2 Unstructured P2P 199
2. Searching: There is no central server in P2P networks so many more
peers are involved in the search process, which typically occurs over sev-
eral parallel network hops. Each hop of such a search adds to the total
bandwidth load and therefore the time to set up a connection becomes a
critical factor. Combine this with the inherently unreliable nature of the
individual peers and delivery time starts to grow alarmingly; e.g., if a peer
is unreachable, TCP/IP can take up to several minutes to time out the
connection.
3. Load-Balancing Peers: In theory, true decentralized P2P networks con-
sist entirely of equal peers, meaning that each peer potentially shares as
much as it consumes. However, in real-world implementation, such net-
work ideals are skewed by usage patterns. For example, studies have in-
dicated that around 70 percent of Gnutella users share no files at all [65].
Too many free riders will degrade the performance of the network for oth-
ers and therefore care must be taken to factor in the correct proportion so
that measures can be taken to optimize the current topology, not assume
a static and perhaps unrealistic one.
11.2 Unstructured P2P
Unstructured P2P networks are dynamically formed in an ad hoc fashion
through the use of super peer nodes. Such a topology is often referred to as a
centralized-decentralized topology because it combines a centralized structure
of connectivity from edge peers to super-peers and then employs a decentral-
ized connectivity between the super-peers in the network for fault tolerance.
Super-peer networks have been shown to scale to millions of peers and are used
in a number of well-known Internet applications, such as LimeWire, Gnutella,
KaZaA and even Skype.
Where distributed hash tables, described in Section 11.3, offer a structured
approach by aiming to provide efficient insertion and retrieval into a decen-
tralized system, unstructured protocols, such as Gnutella, propagate arbitrary
advertisements and queries across the overlay. Retrieval of a certain resource,
or even its existence, is not guaranteed. They employ the use of super-peer
caches for lesser peers, such as caching services, file locations, endpoints or
advertisements, and can build their own overlay amongst themselves. This ap-
proach leads to the dynamic development of layers, reducing network flooding
of messages which can happen in topologically flat systems. This layered ap-
proach can be extended through the formation of groups that form their own
neighbourhoods, in systems such as Jxta, described in Chapter 15.
However, the theory of unstructured networks is not new. To illustrate
this concept, let’s begin our journey in the 1960s by taking a look at an
experiment that shows how social networks are organized and look at the
similarities between social networks and unstructured P2P networks.
剩余14页未读,继续阅读
linxiaoqin3555
- 粉丝: 1
- 资源: 14
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
- Picasso_v3.1 2.ipa
- chromedriver-mac-arm64.zip
- 蓝zapro.apk
- chromedriver-linux64.zip
- UCAS研一深度学习实验-MNIST手写数字识别python源码+详细注释(高分项目)
- 基于Python和PyTorch框架完成的一个手写数字识别实验源码(带MINIST手写数字数据集)+详细注释(高分项目)
- 基于Matlab在MNIST数据集上利用CNN完成手写体数字识别任务,并实现单层CNN反向传播算法+源代码+文档说明(高分项目)
- NVIDIA驱动、CUDA和Pytorch及其依赖
- 基于SVM多特征融合的微表情识别python源码+项目说明+详细注释(高分课程设计)
- html动态爱心代码一(附源码)
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功
评论0