我有一些想法,但我不知道能帮助我实现这一目标的典型解决方案。
我需要一个分布式环境,其中不仅共享内存,还共享处理,这意味着所有共享的处理器都像一个计算我编写的代码的大处理器一样工作。
我在数据网格和Hadoop方面的知识有限,能做到这一点吗?
Data Grid Platform (我知道内存只在该模型中共享)或Hadoop (代码在节点之间共享,但每个节点独立于其他节点处理代码,但在HDFS上处理数据的子集)。
但我需要一个解决方案,不仅(共享内存或代码作为hadoop),而且所有机器的处理能力作为一个单一的大处理器和一个单一的大内存?
发布于 2014-01-03 22:30:28
您是否希望只生成线程并在某个地方执行,然后中间件奇迹般地平衡节点之间的负载,将线程从一个节点移动到另一个节点?我想你不会直接找到这个的。带标签的框架也没有透明的共享内存,这是有充分理由的。
当使用多个节点时,您通常需要它们来提供处理能力,并且隐藏所有内容并假装您在单机上会导致不必要的通信,从而减慢速度。
相反,您始终可以使用这些框架提供的分发API来设计您的应用程序。例如,在Infinispan中,查找Map-Reduce或Distributed Executors API。
发布于 2015-12-30 22:16:08
我需要一个分布式环境,在这个环境中,不仅内存是共享的,处理也是共享的,这意味着所有共享的处理器都像一个大处理器一样计算我写的代码。
您无法从单机处理中获益。如果处理过程分布在多台机器上,应用程序将会扩展。如果您想看到一个大处理器计算的好处,您可以将大物理机虚拟化为多个虚拟节点(使用VMWare等技术)。
但是,跨大型集群中的多个物理机的多个VM节点进行分布式处理最适合分布式应用程序。Hadoop/Spark最适合这些类型的应用程序,具体取决于批处理(Hadoop)或实时处理需求(Spark)。
https://stackoverflow.com/questions/20856442
复制相似问题