Skip to main content
QUICK REVIEW

[论文解读] Simulating Parallel Algorithms in the MapReduce Framework with Applications to Parallel Computational Geometry

Michael T. Goodrich|arXiv (Cornell University)|Apr 27, 2010
Graph Theory and Algorithms参考文献 26被引用 10
一句话总结

本文在内存受限的MapReduce模型中,高效模拟了BSP和PRAM模型的并行算法,实现了几何问题的最优性能。通过采用基于B树的内存模拟与缓冲感知的归约器设计,该方法在排序、最近邻、凸包和线性规划等任务上实现了常数轮次、线性消息复杂度的算法,确保了归约器大小的高概率界与整体效率。

ABSTRACT

In this paper, we describe efficient MapReduce simulations of parallel algorithms specified in the BSP and PRAM models. We also provide some applications of these simulation results to problems in parallel computational geometry for the MapReduce framework, which result in efficient MapReduce algorithms for sorting, 1-dimensional all nearest-neighbors, 2-dimensional convex hulls, 3-dimensional convex hulls, and fixed-dimensional linear programming. For the case when reducers can have a buffer size of $B=O(n^ε)$, for a small constant $ε>0$, all of our MapReduce algorithms for these applications run in a constant number of rounds and have a linear-sized message complexity, with high probability, while guaranteeing with high probability that all reducer lists are of size $O(B)$.

研究动机与目标

  • 开发BSP与PRAM模型中并行算法在MapReduce模型中的高效模拟方法。
  • 将这些模拟方法应用于并行计算几何中的关键问题,包括排序、最近邻、凸包与线性规划。
  • 在内存受限的MapReduce模型下,实现轮次常数、消息复杂度线性且归约器大小有界的算法。
  • 确保归约器缓冲区大小与整体算法效率的高概率保证。

提出的方法

  • 通过基于B树的内存抽象模拟PRAM算法,将处理器状态与内存单元映射为MapReduce中的键值对。
  • 采用两阶段方法:自底向上的读取阶段与自顶向下的写入阶段,以模拟跨轮次的内存访问与更新。
  • 在归约器中使用身份映射与合并函数,聚合并传播处理器间的状态变化。
  • 引入缓冲感知设计,其中归约器缓冲区大小 B = O(n^ε),确保所有归约器列表的大小以高概率保持在 O(B) 以内。
  • 通过将具体几何问题规约为已知效率的PRAM算法,应用该模拟框架。
  • 利用推论5.2,推导出一种线性规划算法,其轮次复杂度为 O(log_B N),消息复杂度为 O(N log_B N)。

实验结果

研究问题

  • RQ1是否可以在归约器缓冲区大小有界的MapReduce模型中,高效模拟PRAM与BSP算法?
  • RQ2在内存受限的MapReduce模型中,模拟PRAM算法的轮次复杂度与消息复杂度分别是多少?
  • RQ3是否可以利用这些模拟方法在MapReduce中高效求解凸包与线性规划等几何问题?
  • RQ4如何控制归约器缓冲区大小,以确保模拟过程中列表大小的高概率界?
  • RQ5该模拟框架是否可应用于固定维几何问题,以实现近似最优性能?

主要发现

  • 本文实现了对CRCW PRAM算法的模拟,轮次复杂度为 O(T log_B P),消息复杂度为 O(T(N + P) log_B P),其中 T 为步骤数,P 为处理器数,N 为内存单元数。
  • 对于固定维线性规划问题,算法在 O(log_B N) 轮内完成,消息复杂度为 O(N log_B N),且以高概率成立。
  • 所有提出的MapReduce算法(包括排序、一维全部最近邻、二维与三维凸包、线性规划)均实现了常数轮次执行与线性消息复杂度。
  • 模拟保证所有归约器列表的大小为 O(B),且以高概率成立,其中 B = O(n^ε),ε > 0 为一小常数。
  • 该框架通过利用PRAM模拟与基于B树的内存管理,实现了在MapReduce中高效且高概率正确的几何算法实现。
  • 结果表明,在现实内存约束下,复杂几何问题可在MapReduce中以接近最优并行算法的性能求解。

更好的研究,从现在开始

从阅读论文到最终审阅,大幅缩短您的研究时间。

无需绑定信用卡

本解读由 AI 生成,并经人工编辑审核。