实体“碎片整理”约束求解器/算法

时间:2009-08-14 06:14:16

标签: c++ algorithm tree fragmentation

更新

实体是使用给定实体模板的属性/方法创建的对象。实体可能有父母和/或许多子女。

每个实体模板都有一个线程碎片成本和一个计算机碎片成本。它们定义了在父母的不同计算机/线程上拥有该实体的孩子的成本是多少。

新实体将在每次迭代结束时(通过添加)分配给计算机和线程,并且可以在每N次迭代结束时(通过碎片整理)将旧实体重新分配给计算机和线程。

调用add时,会创建一个实体并将其附加到给定父级。但是,它仍然必须放在计算机线程的模拟运行器中。

决定分配的因素是子{计算机|线程}碎片成本以及可选的碎片成本矩阵。


原始

您好,

我只是想在一般方向/算法/字段上获得一些想法来解决以下问题。

我在迭代实时模拟环境中有N个实体(每个实体都有可能的父项和可能的M个子项)。每个实体都放置在服务器环境中,它位于 1台计算机和该计算机上的1个线程上。每个实体都有“计算机碎片成本”和“线程碎片成本”,这是0-> 1(1是最昂贵的)的值,定义多么痛苦/昂贵实体的子项放在不同的计算机或线程上。 “计算机碎片成本”将高于“线程碎片成本”。

我有2个操作。最初添加实体时执行的“添加”操作。我还有一个“碎片整理”操作,它在每个Y迭代结束时运行,将实体重定位到不同的线程/计算机。

考虑到碎片成本,什么是通用算法/指南,确保这两个操作的碎片保持在最低水平?

此外,每个实体都是从预定义的模板创建的。将有一个矩阵定义每对实体模板之间的碎片成本。如何使用这些额外的数据来降低碎片?

由于

0 个答案:

没有答案