4

我希望为字符串匹配做一些处理器密集型的蛮力处理。我在多线程环境中运行了我的原型,并将性能与使用 Gridgain 和几个节点(也是多线程)的实现进行了比较。

我观察到的性能是我的 Gridgain 实现比我的多线程实现执行得更慢。可能是我的 gridgain 实现存在缺陷,但这只是一个原型,我认为结果具有指示性。所以我的问题是:

必须学习然后为特定网格平台(hadoop、gridgain 或 EC2,如果托管 - 欢迎其他建议)构建实现的优势是什么,当人们可以相当容易地将轻量级计算网格平台与更浅的学习曲线?...即我们可以通过这些值得拥有/难以实施的云/网格平台免费获得什么?

(请注意,我不需要数据网格)

干杯,

-詹姆士

(如果需要的话,很高兴制作这个社区维基)

4

1 回答 1

1

你在处理什么样的网格?运行相同操作系统的十几台主机运行网格将非常简单——你真正需要处理的只是向每个主机发送工作,也许是一点负载平衡,也许要考虑到如果主机出现故障该怎么办,当您更新服务时,可能会处理向主机分发新的服务代码,但如果您不处理其中任何一个,这没什么大不了的,因为网格的大小是可管理的。如果您正在处理 1000 台主机,或者处理不应该关闭的服务,或者由于单个主机关闭而出现错误,那么您突然不得不担心:

  • 不使任何单个主机超载
  • 分发新的服务代码
  • 检测主机何时没有响应并且没有发送新的工作,以及重新发送它正在处理的任何内容
  • 可能跨不同的操作系统和架构工作(小端与大端)
  • 节能 - 在低负载期间关闭主机并在高负载时重新启动它们
  • 扩展 - 如果您明天将 100 台主机添加到您的网格中,需要多长时间才能使它们连接并正常工作?
  • 可靠性——一些服务实际上可能在 2-3 个不同的主机上执行计算,并且只返回一个所有主机都同意的答案

如果您需要,这是大多数网格软件应该为您做的事情的简短列表。如果你正在做一些小的或非关键的事情,那么一定要自己动手。如果您正在处理必须工作的东西,或者足够大以至于在部署过程中进行任何手动步骤将是维护的噩梦,那么您可能想要使用已经存在的东西。

于 2010-03-26T19:27:03.533 回答