论文部分内容阅读
随着网络技术的发展,文件分享系统(BitTorrent)、在线播放系统(PPLive)、视频点播系统(Joost)等通过协作定位和分布共享的对等网文件共享系统已经成为占据当今网络流量最多的系统[6]。在这些系统中有成百上千万用户同时在线分享文件,这些用户随机地加入网络并与其他用户建立连接,形成了一个自组织的随机网络。在经典的BitTorrent文件分享系统中,系统中的大文件被平均地分割成K个文件块,系统通过节点之间文件块的交换最终将所有文件块分布到所有节点,为了达到这个目的,每个节点必须独立的决策哪些节点将作为自己的邻居节点,哪些文件块在给定的时间内被传送给邻居节点。基于以上问题在P2P网络中,文件块选择算法和邻居节点选择算法成为当前P2P网络中研究的热点。
现阶段BitTorrent文件分享协议中文件块选择算法和邻居节点选择算法主要是利用基于CPU的串行算法实现,在大规模的网络状态下,整个系统中要完全分享大文件需要比较长的时间。本文中提出并实现了基于CPU并行加速的P2P算法,这些算法完全适用于BitTorrent协议中节点的并行独立性,从而可以提高文件块在系统中的分享效率。本文的主要研究内容和工作如下:
(1)基于GPU并行加速的RUB算法。此算法采用了三种实现方案,分别为基于全局存储器的单线程单节点RUB算法实现、基于共享存储器的单线程单节点RUB算法实现和基于全局存储器的单线程单文件块RUB算法实现。访问全局存储器会产生较高的延时,因此会导致数据分享效率低从而影响RuB算法的执行效率。为了克服访问全局存储器高延时的缺陷,本文改进并使用了低访问延时的共享存储器,在一定程度上提高了RUB算法的执行效率。但是共享存储器较小无法满足大文件的存储,在一定程度上影响了算法的执行效率。因此本文还对RUB算法进行了进一步的改进,使用了基于全局存储器的单线程单文件块RUB算法。此改进算法大大减轻了每个线程的工作量,使得RUB算法的执行效率得到了较大地提高。
(2)基于GPU并行加速的LRF算法。此算法采用了两种实现方案,分别为基于全局存储器的单线程单节点LRF算法实现和基于全局存储器的单线程单文件块LRF算法实现。这两种实现方式类似于RUB算法的实现。为了得到更高的LRF算法执行效率,改进了基于全局存储器的单线程单节点LRF算法,使用了基于全局存储器的单个线程单文件块LRF算法。较大提高了LRF算法的执行效率。
最后,对本文的研究工作进行了总结,并提出了下一步研究的内容和方向。