假设我有一个n Erlang节点的集群,其中一些节点可能位于我的局域网上,而其他节点可能使用WAN(即通过Internet)连接,那么适合哪些节点)不同的带宽可用性/行为(例如,诱发延迟)和b)具有不同计算能力的节点(或者甚至针对该问题的内存限制)?划分Erlang节点的优先级
换句话说,我如何优先考虑具有大量计算能力的本地节点,而不是那些具有高延迟且可能不那么强大的节点,或者如何理想地将具有高传输延迟的高性能远程节点优先化为特定优先级那些计算/传输量相对较大的过程(即每个消息完成的工作量,每个时间单位)的比率是多少?
我主要是基于基准测试集群中的每个节点,通过向它们发送基准进程以在初始化期间运行来考虑,以便可以计算涉及杂乱的潜伏期以及整体计算速度(即,使用节点特定的计时器来确定节点以任何任务终止的速度)。
可能这样的事情必须重复进行,一方面为了获得有代表性的数据(即平均数据),另一方面它可能甚至在运行时有用,以便成为能够动态调整以适应不断变化的运行环境
(在相同的意义,人们可能希望在本地运行的优先级比那些在其他机器上运行的节点)
这将意味着希望优化内部作业调度,以便特定节点处理具体工作。
感谢您的回应,您使用的技术几乎符合我一直在想象(以及我在问题中所勾画的)。我认为看到这种场景会被某种形式的erlang基础架构支持(例如使用OTP)会很有趣。我接受了你的答案,因为它非常接近我的情况。 – none 2009-06-16 22:52:34