云端经济高效 MapReduce 计算的最优资源配置
1. 引言
随着网络应用、科学计算和传感器网络的部署,大量数据从用户、应用程序和环境中被收集。例如,用户点击数据对提升网络搜索相关性和理解在线用户行为至关重要。这些数据集规模轻易就能达到 TB 级别,且持续产生。因此,高效分析这些大数据集,及时捕捉和理解其中重要信息成为当务之急。
MapReduce 作为一种灵活且可扩展的并行编程和处理模型,及其开源实现 Hadoop,被广泛用于处理和分析此类大规模数据集。然而,多数公司、研究机构和政府机构的数据分析师难以使用大型私有 Hadoop/MapReduce 云。因此,在公共云上运行 Hadoop/MapReduce 成为现实选择,如亚马逊的 Elastic MapReduce 以及相关手动设置脚本。
但在公共云上运行 Hadoop 集群与私有集群有不同要求。一方面,通常为每个作业在多个虚拟节点上启动专用 Hadoop 集群,利用“即用即付”的经济云模型,按需集群更适合大多数用户,且不存在多用户或多作业资源竞争。另一方面,用户需为 Hadoop 集群设置合适数量的虚拟节点,最佳设置因应用和输入数据量而异。
优化 MapReduce 程序资源配置涉及资源供应成本和作业完成时间两个相互交织的因素。资源越多,作业完成时间越短,但资源供应有成本,且与使用时间相关,因此找到最小化财务成本的最佳设置颇具挑战。若有作业截止日期或财务预算等约束,问题会更复杂。此外,MapReduce 程序的能耗也可类似建模,这对节能云计算至关重要。
2. 预备知识
MapReduce 编程由谷歌开发,用于大规模并行数据处理,在大数据处理中广受欢迎。它不
超级会员免费看
订阅专栏 解锁全文
790

被折叠的 条评论
为什么被折叠?



