考虑一个场景:从单一服务器向大量主机(称为对等方)分发一个大文件。
两种处理方式
客户-服务器文件分发:服务器需要向每个对等方发送该文件的一个副本
P2P文件分发:当服务器上传了文件的一个副本后,各个对等点下载该文件的一部分,然后协助服务器上传自己拥有的文件部分
P2P体系结构的自扩展性
对前面提到的文件分发场景进行简单的定量分析,考虑在两种体系结构下的分发时间(distribution time)
分发时间
所有N个对等方得到该文件的副本所需要的时间
客户-服务器体系结构分析
考虑两个时间
- 服务器需要向每个对等方传输该文件,即需要上传NF比特数据,得到 N F u s \frac{NF}{u_s} usNF
- 考虑所有对等点的下载文件时间,即需要下载速率最小的对等点下载F比特数据,得到
F
d
m
i
n
\frac{F}{d_{min}}
dminF 其中
d
m
i
n
=
m
i
n
(
d
1
,
d
2
,
.
.
.
,
d
N
)
d_{min}=min(d_1, d_2, ..., d_N)
dmin=min(d1,d2,...,dN)
则最终的最小分发时间为
对足够大的N,客户-服务器分发时间由NF/u确定。则该分发时间随着对等方的数量N线性增加
P2P体系结构分析
考虑3个时间 - 服务器需要将待传输的文件上传到P2P网络中,得到 F u s \frac{F}{u_s} usF
- 各个对等点在整个过程中都会下载至少F比特数据,得到 F d m i n \frac{F}{d_{min}} dminF 其中 d m i n = m i n ( d 1 , d 2 , . . . , d N ) d_{min}=min(d_1, d_2, ..., d_N) dmin=min(d1,d2,...,dN)
- 整体分析这个P2P网络,网络中通过一个服务器加所有对等点总共交付NF比特数据,得到NF/(
u
s
+
u
1
+
u
2
+
.
.
.
+
u
N
u_s+u_1+u_2+...+u_N
us+u1+u2+...+uN),其中
u
t
o
t
a
l
=
u
s
+
u
1
+
u
2
+
.
.
.
+
u
N
u_{total}=u_s+u_1+u_2+...+u_N
utotal=us+u1+u2+...+uN
得到最终的最小分发时间
P2P体系结构的自扩展性
假设:F/u=1小时, u s u_s us=10u, d m i n ≥ u s d_{min}≥u_s dmin≥us
CS体系结构的文件分发时间随着对等点数量的增加呈线性增长,而P2P体系结构由于对等方既下载文件块又上传文件块,其文件分发时间对于任意N总小于1小时
分析:由于 d m i n d_{min} dmin≥ u s u_s u