1、并行计算
并行计算或称平行计算是相对串行计算来讲的它是1种1次可履行多个指令的算法目的是提高计算速度及通过扩大问题求解范围解决大型而复杂的计算问题所谓并行计算可分为时间上的并行和空间上的并行 时间上的并行就是指流水线技术而空间上的并行则是指用多个处理器并发的履行计算。这个是多核处理器环境下的并行计算的定义,从宏观上来看,这个属于计算机利用服务器的垂直扩大,在这里我们就不展开讨论了。
散布式计算上的并行计算,首先要把任务进行拆分,对不同的任务要进行不同的拆分,拆分落后行计算,终究的计算数据进行汇总。
还是到年底了,要做很多的报表,领导把需要的报表安排下来,我和我的团队去做统计。异步计算其实不能减少领导拿到终究结果的时间;我们要想办法,我作为调度系统,把需要的报表进行分拆,发现需要8组数据,我安排8位帅哥去获得这些数据,这8位攻城狮把数据提供给我,我依照规则把报表完成,并提供给领导。这个大概就是1个简单的并行计算模型了。
拆分和合并,是在散布式计算中的伟大的思想,这个也是Map/Reduce的思想。
2、Map/Reduce
Map/Reduce,它认为所有的计算任务都可以经历从拆分到汇总的两个进程,也就是说,只要用Map和Reduce就能够描写所有的计算任务,就好比用0和1就可以存储所有的数据1样。
MapReduce通过把大工作分成不同的小工作再分发给不同的工作者来实现数据的可靠性。每个单独的工作者处理分发的工作,然后把结果和状态返回给父节点。如果1个节点失效了,主节点会发现和记录这个失效的节点,把分配给这个节点的工作再分发给别的节点。
3、Map/Reduce履行进程:
1.Master 把输入文件分成M 份,通常16M