Information Technology Reference
In-Depth Information
Let us also examine the issue of application performance. As in any com-
puting system, we can evaluate a P2P application's performance from a user-
oriented perspective and a system-oriented perspective. Such a distinction
between different performance metrics is even more acute in a P2P system
because of the autonomous, and sometimes even “selfish,” nature of the par-
ticipating clients. Indeed, while each peer tries to optimize its own performance
in terms of a certain user-oriented metric (e.g., downloading time), the perfor-
mance of the whole system (or the whole P2P community) may be degraded
by such local optimizations.
Availability. The availability metric measures the ease of getting access to
the item in need, which may be data or a particular peer. To capture the
concept of ease, usually availability is defined as a probability. Specifi-
cally, it is defined as the probability that the item in need can be ob-
tained. For instance, in a P2P file-sharing system, we can compute the
probability of successfully downloading a certain file in need to indicate
the level availability in the system. One point we have to note is that
availability is by and large a system-oriented metric because it is usually
not in the interest of a peer to maximize the availability of contents in
the system. To enhance availability, however, it requires participating
peers' efforts to ensure that the data in need are replicated widely.
Download Time. The time it takes for a peer to successfully download a file
(or a stored video) is obviously a key performance metric from a user's
point of view. Download time is affected by many factors including data
replication level, peer connectivity, uploading/downloading data rates,
etc. To put the complexity into perspective, even if the whole system is
under centralized control, it is still extremely di cult to come up with a
data storage plan and peer connection topology to optimize each peer's
download time.
Robustness. Peer dynamics (i.e., peers come and go) is a fact of life in a P2P
system. Thus, we cannot expect a P2P system to be “stabilized” in a
traditional sense. We should, however, try to design and implement the
system such that it is robust to changes. Thus, similar to availability, we
can define robustness as probability that the P2P system can still pro-
vide a certain level of performance (e.g., in terms of average download
time, or in terms of availability) subject to a particular model of peer
dynamics. Similar to availability, robustness is also a system-oriented
metric, which requires peers' cooperation (perhaps unknowingly) to op-
timize.
Scalability. Nowadays, any Internet service has to be able to support a large
user population—on the order of at least hundreds of thousands of si-
multaneous users—in order to be “notable.” Thus, it is mandatory for a
P2P system to exhibit a high degree of scalability, which can be quanti-
fied as a certain rate of population growth that can be supported while
Search WWH ::




Custom Search