通过把一个任务分割成若干个子任务分发给集群中各个计算节点,各自独立乱序执行,再顺序提交,然后综合得到结果。个人理解,分布式计算是一种宏观的并行计算。
  分布式计算实现把众多低性能服务器整合成高性能计算集群,使多个任务并发执行。我个人认为,分布式计算有以下几个关键点:
1、对节点的高度容错能力。
       大规模集群的众多节点难免会有个别出现故障,但不能影响整个集群,否则集群无法工作。
2、负载均衡分配。
       一个大任务应该尽量根据集群规模进行合适的分割,尽可能让所有节点共同来完成,而不是有的节点负载过重,有的却闲置。另外还要根据节点 的特性,把节点最擅长处理的任务分配给相应的节点。
3、节点间低耦合。
       就像流水线上的工人一样,各节点执行自己的那部分任务,而不是相互依赖(数据和指令相关),如果节点间耦合太多会导致数据交换量增多,这样网络带宽和通信时延等都成为计算力的重要制约因素。
降低节点间耦合重要方法是采用分布式文件系统代替传统的文件系统,将大块数据文件切割成大小恒定(比如GFS的64MB)或者大小可变的分片存储在各个节点上,同时把基于某个分片的计算任务分配给该分片所在的节点,这样该节点处理数据时就可以“就地取材”,极大减少节点间的通信需求。
4、集群弹性可扩展。
       要求节点数目可以灵活变动,节点可以自由地加入或退出集群,系统视节点数目变化为常态,能随时对节点快速处理和组织。