从分布式计算诞生到现在已经过去很长的时间,分布式计算伴随着并行计算的出现而出现。早期,人们利用并行计算在一台计算机上同时完成多项任务,但是,并行运行并不足以构建真正的分布式系统,因为它需要一种机制来在不同的计算机之间或者运行在计算机上的程序之间进行通信。因此催生了多台计算机(两台以上)的分布式计算。早期的分布式计算系统主要面向科学计算与研究,如梅森素数大搜索计划(GIMPS)、SETI@home、Einstein@Home、BOINC等。随着互联网技术与应用的飞速发展,Facebook、Google、Amazon、Netflix、LinkedIn、Twitter等互联网公司变得异常庞大,它们开始构建跨越多个地理区域和多个数据中心的大型分布式计算系统。
分布式计算是一门计算机科学,主要研究对象是分布式系统。在介绍分布式计算的概念之前,首先简单讨论什么是分布式系统。简单地说,分布式系统是由若干通过网络互联的计算机组成的软硬件系统,且这些计算机互相配合以完成一个共同的目标(这个共同的目标通常被称为“项目”)。分布式计算的一种简单定义为,在分布式系统上执行的计算。
更为正式的定义为:分布式计算是一门计算机科学,它研究如何把一个需要巨大的计算能力才能解决的问题分成许多小的部分,然后把这些小的部分问题分配给多台计算机进行处理,最后把各部分的计算结果合并起来得到最终的结果。本质上,分布式计算是一种基于网络的分而治之的计算方式。