并行计算解析
虚拟化与云计算小组 发表于:12年05月04日 14:41 [转载] 51CTO
在计算机科学技术发展的历史上,曾经出现过一些里程碑式的技术。这些技术产生的时间或远或近,但都对当今世界的IT运用模式产生了巨大的影响。这些技术包括并行计算、网格计算和效用计算。罗马不是一天建成的,同样,云计算也不是一蹴而就的,云计算是从这些技术中逐渐演进而来的,既一脉相承,又有所不同。下面我们就来辨析云计算与这些相关概念的异同。
1.1.5.1 并行计算
并行计算(Parallel Computing)将一个科学计算问题分解为多个小的计算任务,并将这些小任务在并行计算机上同时执行,利用并行处理的方式达到快速解决复杂运算问题的目的。并行计算一般应用于诸如军事、能源勘探、生物、医疗等对计算性能要求极高的领域,因此也被称为高性能计算(High Performance Computing)或超级计算(SuperComputing)。并行计算机是一群同构处理单元的集合,这些处理单元通过通信和协作来更快地解决大规模计算问题。常见的并行计算机系统结构包括共享存储的对称多处理器(SMP)、分布式存储的大规模并行机(MPP)和松散耦合的分布式工作站集群(COW)等。解决计算问题的并行程序往往需要特殊的算法,编写并行程序需要考虑很多问题之外的因素,例如各个并发执行的进程之间如何协调运行、任务如何分配到各个进程上运行等。
并行计算机可以说是云环境的重要组成部分,例如案例四中IBM研究院科研人员使用的IBM RC2。与云计算的思想相似,目前世界各国已经集中建立了若干超级计算中心来服务于该区域内有并行计算需求的用户,并采用分担成本的方式进行付费。但是,云计算与传统意义上的并行计算相比,又存在明显的区别。
首先,并行计算需要采用特定的编程范例来执行单个大型计算任务或者运行某些特定应用,而云计算需要考虑的是如何为数以千万计的不同种类应用提供高质量的服务环境,以及如何提高这个环境对用户需求的响应从而加速业务创新。一般来说,云计算对用户的编程模型和应用类型等没有特殊限定,用户不再需要开发复杂的程序,就可以把他们的各类企业和个人应用迁移到云计算环境中。
其次,在并行计算中,计算资源往往集中在单个数据中心的若干台机器或者集群上。云计算则更加强调用户通过互联网使用云服务,并在云中利用虚拟化进行大规模的系统资源抽象和管理。云计算中资源的分布更加广泛,正如上文所述,它已经不再局限于某个数据中心,而是扩展到了多个不同的地理位置。同时,由于采用了虚拟化技术,云计算中的资源利用率可以得到有效的提升。
由此可见,云计算是互联网技术和信息产业蓬勃发展背景下的产物,完成了从传统的、面向任务的单一计算模式向现代的、面向服务的多元计算模式的转变。