更新时间:2022-08-25 12:37
虽然Napster是最近最知名的对等计算模式的实现例子,但是它只能算的上是对等计算的一个侧面——Napster仅仅使用了对等计算模式的一个方面:文件共享。实际上,对等计算概念要广泛的多,包括共享处理能力,内存,存储空间,并且支持海量数目的计算机进行协作。
与传统的服务器/客户机的模式不同,对等计算的体系结构是令传统意义上作为客户机的各个计算机直接互相通讯,而这些计算机实际上同时扮演着服务器和客户机的角色,因此,对等计算模式可以有效地减少传统服务器的压力,使这些服务器可以更加有效的执行其专属任务。
例如,利用对等计算模式的分布式计算技术,我们有可能将网络上成千上万的计算机连接在一起共同完成极其复杂的计算,成千上万台桌面PC和工作站集结在一起所能达到的计算能力是非常可观的,这些计算机所形成的“虚拟超级电脑”所能达到的运算能力甚至是现有的单个大型超级电脑所无法达到的。
在分布式计算模型中,复杂的处理任务通常被划分为简单的“任务块”,然后分配到所有参与计算的计算机上,虽然在过去我们也使用这种技术来完成计算,但是传统的模式通常是建立一个专用的服务器集群,所有计算任务仅仅在这个服务器集群中完成。但是现在对等计算模式下的分布式计算模型则将计算任务分配到所有可用的计算机上,特别是包括公司企业中数量巨大的桌面计算机以及空闲的部门级服务器等等。这种分布式计算模式充分的利用桌面系统空闲的计算能力(这些计算能力过去通常只是用来运行屏幕保护程序或者干脆是休眠了)来完成计算,一方面降低了采购大型专用服务器集群的费用,同时也不会影响桌面计算机完成其原有的各种桌面处理任务。
在企业和公司中,由于桌面系统的数量巨大,同时桌面系统的处理能力也在快速的增长,因此总的运算能力是很可观的,但是由于桌面系统的任务特点,这些资源通常浪费严重。美国威斯康星大学的研究表明,多数企业对于他们所拥有的计算能力和存储能力的使用,不到25%,DataSynapse是一家为金融行业提供分布式计算解决方案的公司,其CEO Peter Lee 认为,即使是在繁忙的交易所中,桌面计算机的计算能力的使用也是很低的,机器的空闲状态通常超过60%。
显然,如果我们能够将这些被浪费掉的资源有效地收集起来,完全可以胜任很多企业的复杂计算任务,实际上,很多公司已经在利用分布式计算来解决他们的问题了,比如,不少小型的设计工作室的美工会利用周末的时间,使用公司的多台计算机运行3D Max的网络渲染,共同完成一段复杂的3D动画的生成。而Intel公司也从1990年就开始使用这种技术,他们使用公司的NetBatch系统将大约10000台计算机协同在一起完成芯片设计工作,就此Intel不仅减少了很多大型主机的采购,甚至将一些已有的主机系统封存,转而依靠上述分布式系统。
从信息技术发展趋势的需要来看,P2P(对等计算)主要包括技术发展趋势和用户需求。 技术发展趋势主要包括网络计算技术的演变、网格计算的促进和无线通信的推动三个方面。这些技术的不断发展,不仅为P2P 提供了技术基础, 促进了P2P 技术的出现, 也为 P2P 提供了很好的应用模型。
互联网与对等计算
起源于20世纪60年代的互联网技术以客户/服务器(C/S)模型为应用模型。为解决异种平台的互联、互通和互操作提供了基础保障。
以 TCP/ IP 网络为基础,其基本应用模型是客户/ 服务器模型。 在广域网环境中, 客户/服务器计算模型的局限性日益明显。这是因为在该模型中, 大量资源集聚在少数服务器节点上, 单纯依靠复杂的负载平衡算法和容错算法已经难以向客户提供快捷的服务。 此外, 随着访问量的增加, 与服务器相关的网络带宽也必须相应增加, 才能满足用户海量信息传递的要求。 虽然在基于 Web 服务的环境中, 采用数据缓存和复制技术可以在一定程度上缓解这种网络带宽紧张的形势, 但要想从根本上解决这个问题, 必须从根本上改变这种集中服务的模式, P2P 技术正是在这一背景之下发展起来的。
网格技术与对等计算
随着计算机应用技术和网络的普及, 网络环境中闲置资源(包括存储资源、计算资源等)逐渐增加。 起源于 20 世纪 90年代的网格计算(Grid Computing)[ 12] 的目的之一, 即是希望整合一个国家或者地区的超级计算机系统为一个统一的计算平台, 从而使用户可以像使用一台单独的计算机一样去使用这些计算机, 完成科学计算等计算密集型的任务。 网格计算是构建在可靠的通信基础设施基础之上 , 且利用的是可控的闲置资源, 其基本模型仍旧是客户/ 服务器方式。 受网格计算技术的启发, 人们希望可充分利用遍布全球的个人闲置资源, 来完成单台计算机无法胜任的任务。 以全分布式通信模型为通信基础设施的 P2P 技术, 充分利用网络边界闲置资源, 为用户构建了一个使用这些资源的友好环境, 从而可实现个人闲置资源的有效利用, 并向用户提供各种网络计算服务。
无线通信与对等计算
无线接入是组建下一代互联网的主要通信技术之一。 以无线接入为基础, 网络的应用模式将发生巨大转变, 即从传统的提供应用和信息服务为中心的集中模式, 过渡到以共享这些应用和信息资源的以人为中心的分布式模型。 分布式网络环境中, 人们希望在网络世界中的交流也采用所谓面对面的方式, 即不需通过额外的服务提供商来中转彼此的通信信息,而是直接进行消息传递。P2P 技术正是实现这一方式的有效模型。 目前, 以 P2P 技术为基础的即时消息、即时电子邮件等已经为人们所接受。 P2P技术的出现, 不仅符合人们的自然需求, 也符合信息社会发展的自然规律。
用户需求与对等计算
当人类迈入21 世纪信息社会之后, 其显著特征之一就是数字化生活:数字家电、数字信息、电子消费、电子医疗、电子教育等。为人类营造这样的数字化生活空间,是下一代互联网技术(Next Generation Internet , NGI)的主要目标。 而P2P 技术融合了NGI 技术和人类资源共享与信息交流的自然需要,从而可构造一个与现实世界相似的数字世界,来满足人类的需要。
虽然目前开展对等工作较多,但无论从理论上还是从应用上,对等计算仍然存在着一些问题。
1、安全问题。由于没有集中管理,对等计算需要安全环境来保证无序行为的有序化。对等计算基数的主要安全问题还包括:用户认证问题,数据加密与解密问题,理由安全问题,存储与访问安全问题、恶意破坏问题 、故意欺骗问题、应用安全问题和个人隐私问题。
2、资源发现与路由算法的效率问题。目前,分布式 Hash表模型中,资源发现与路由算法的最好效率是发现资源需要的路由表长度为 logN(其中 N 是 P2P 网络总节点数), 查询资源需要的通信量为 logN(其中 N 是 P2P 网络总节点数)。如何在保证可靠性的基础上, 优化资源发现和路由算法,是 P2P技术今后主要研究方向之一。 此外, 现有路由协议没有考虑安全问题, 因此融入安全思想的路由算法在 P2P 的研究中也具有重要意义。
3、可扩展性问题。P2P 计算技术优越于客户/ 服务器计算模式的原因之一就是P2P是全分布式的平台, 因此可扩展性好。 而目前的P2P 系统, 或者以牺牲网络带宽为代价来换取可扩展性(如Gnutella, Freenet 等),或者牺牲可扩展性来获得资源的节约(如 Napster)。 如何兼顾二者,保持 P2P 可扩展性好的优点,将是下一代 P2P 技术重点研究内容之一。
4、可管理性问题。从应用的角度来看,无序状态需要通过管理使之有序化,从而满足实际的需要;从技术本质来看,P2P 的本质却强调自由,无需人为约束。自由与约束的冲突,使得现实世界中的 P2P 面临如何管理的问题:即要实施管理,以满足人们的需要, 又要保证自由,维持P2P 的本质特征。
5、应用模型问题。通过集中查询机制,Napster 在音乐文件共享领域取得了空前的成功;但法律因素却导致其被迫关闭。 Gnutella 依靠开放分布式技术,使之扩展性好;但网络带宽的极大需求,使之在现有网络基础设施中难以应用。什么样的应用模型才能即保证P2P 的本质特征不变,又能使其符合实际环境的需要,这将是 P2P 领域今后重要的研究方向之一。