1

我写了一个非常简单的分布式计算平台(基于 Map/Reduce 范式),我正在编写一些演示和展示。我有一个非常小的团队,必须优先考虑我将首先编写哪些演示。

为了确定优先级,我需要对演示进行相应的排序,大约 70% 是分布式计算的相关、常见、重要的用例,30% 易于编写。

到目前为止,我已经这样订购了:

  1. 用 Monte Carlo 发现 pi 数字
  2. 与蒙特卡洛的数值积分
  3. 大矩阵乘法(密集矩阵)
  4. 线性回归
  5. 大矩阵求逆
  6. 多元回归
  7. 排序
  8. 聚类(K-均值)
  9. 聚类(分层)

排名第一是因为它花了 10 分钟来写,虽然它完全没用(我不确定,但我认为没有很多人试图找到更多的 pi 数字)。

由于我的平台的性质,它会在那些当然是令人尴尬的并行的事情上更加闪耀,而不是 I/O 受限或减少主导。

你会如何改变我的名单?你会添加什么?排序在企业世界中是否有用,还是仅用于对分布式计算平台进行基准测试?

4

2 回答 2

4

您的列表表明您没有区分并行计算和分布式计算。这不一定是错误的,但是在看到并行计算(例如您的项目 2-5)正在执行时,寻找分布式计算平台卓越性演示的人可能会不温不火。

排序在任何有数据的地方都很有用:大企业,小企业,在你的办公桌抽屉里,在整个谷歌领域。搜索也是如此,这是您列表中令人惊讶的遗漏。另一个让我印象深刻的遗漏是任何类型的数据融合,合并大型数据集以从它们的交叉点获取信息,而不仅仅是从数据集中单独提取的信息。

于 2012-08-21T07:06:43.557 回答
2

我第二个马克,你正在混合分布式计算和 HPC。以下是对您的每个主题的一些评论:

(1) 有人试图尽可能多地计算 Pi 的位数,但 Monte Carlo 算法在那里完全没用,因为它的精度与试验次数的平方根成反比,所以为了多得到一位小数精确度大约需要 100 倍以上的试验。还有其他算法 - 看看你是否可以使用 Map/Reduce 来实现其中的一些。

(2)这个很好,虽然很少使用 - 与(1)一样的精度问题。

(5) 很少进行纯矩阵求逆,主要是因为数值不稳定。如何解决一个密集的线性方程组呢?

我想说您现在缺少 M/R 处理的主要用途之一,即图形处理(阅读:社交和其他网络/流分析)。还有一些更一般的优化问题可能会很好,例如遗传算法。

于 2012-08-21T12:00:02.830 回答