|
知识路径: > 网络与信息安全知识 > 网络与信息安全知识 > 云计算 > 云计算基础知识 > 云关键技术 >
|
考试要求:掌握
相关知识点:9个
|
|
|
|
云计算下把海量数据分布到多个结点上,将计算并行化,利用多机的计算资源,加快数据处理的速度。Google的MapReduce模型就是面向互联网数据密集型应用的并行编程模型。
|
|
|
云计算下的并行处理需要考虑以下关键问题,任务划分、任务调度和自动容错处理机制。
|
|
|
|
在MapReduce中,数据以块的形式存储在集群的各个结点上,每个计算任务只需处理一部分数据,这样自然地实现了海量数据的并行处理。这种简单的根据存储位置进行任务划分的方式,只适用于不存在数据依赖关系的计算。而对于存在依赖关系的计算,MapReduce将复杂的计算转化为一系列单一的Map/Reduce计算,串联起来完成多个Map/Reduce任务来实现复杂计算。
|
|
|
|
MapReduce将存储和计算资源部署在相同结点上,优先把计算任务调度到数据所在的结点或者就近的结点,这样在进行计算时,大部分的输入数据都能从本地读取,减少了网络带宽的消耗,提高了整个系统的吞吐量。另外,MapReduce对于由于各种原因(例如硬盘出错)造成执行非常慢的子任务采用了备用任务的机制,当MapReduce操作接近完成时,调度备用任务进程来执行剩下的执行非常慢的子任务。
|
|
|
|
常用恢复机制有两类:任务重做(Task Re-execute)和检查点(Checkpoint)回滚方式。这两种机制各有优缺点,前者实现非常简单,但是重做的代价比较大;后者实现较复杂,需要周期性地记录所有进程状态,但是恢复较快。MapReduce主要采用任务重做的方式来处理结点的失效。
|
|
|