【问题标题】:OptaPlanner ScalabilityOptaPlanner 可扩展性
【发布时间】:2014-11-12 00:30:21
【问题描述】:

我需要减少从 Optaplanner 获取结果的延迟。是否可以跨集群中的多个实例(和/或机器)运行作业?我似乎找不到任何关于实现这一目标的信息/尝试。

【问题讨论】:

    标签: optaplanner


    【解决方案1】:

    首先使用基准测试器(请参阅文档章节)并查看 BEST_SCORE 图表,这将为您提供很多见解。此外,当您尝试以下技术时,它可以让您客观地比较它们的实用性。

    1. 在基准测试报告中,查看每秒的平均分数计算计数。如果它低于1 000,那就太糟糕了。如果它高于10 000,那很好。要改进它,请参阅有关 stepLimit 基准测试的文档章节,以确定哪个分数约束(= DRL 中的分数规则)是瓶颈。
    2. 如果构建启发式 (CH) 花费的时间过长,请明确配置 CH 的 MoveSelectors(请参阅有关高级 CH 配置的文档章节)并执行 limited selection。即使有 10000 个实体,这也可以将 CH 从几秒减少到一秒以下,而结果分数的成本很小。尤其是每个实体有 2 个或更多变量时,有限的选择可能是一个很大的收获。结果分数的成本可以是
    3. 如果是 VRP 或 TSP,请使用 nearSelection 进行缩放。

    我们正在努力添加单租户多虚拟机并行解决方案(请注意,如果您自己动手,多租户多虚拟机并行解决方案已经成为可能)。

    【讨论】:

    • 感谢有关基准测试的建议。只是为了确保我完全理解你,所以目前 Optaplanner 不支持跨多个 JVM 分发单个作业(即 MPP 场景)?但是,将来会支持吗?如果是这样,您是否有关于何时支持的时间表?我的目标是确定在生产中我是否能够通过将更多硬件投入到我的云环境中来更快地获得结果。
    • 多线程解决是我 6.3 的主要目标(请注意,6.2 的功能已冻结,因为它在 CR1 中)。很容易发现投入更多硬件是否有帮助:只需让它在基准测试器中运行 4 倍的时间,然后将正常时间的 BEST_SCORE 图表与 4 倍时间的时间进行比较。这不会有太大的不同:在 np-hard 问题上扔硬件效果不好。
    • @GeoffreyDeSmet 对单租户多虚拟机有任何注意吗?
    猜你喜欢
    • 2018-10-16
    • 2011-07-07
    • 2016-11-20
    • 2010-12-03
    • 2019-11-11
    • 1970-01-01
    • 1970-01-01
    • 2012-05-03
    • 2019-06-18
    相关资源
    最近更新 更多