排队、负载均衡和作业优先级


排队、负载均衡和作业优先级

如前所述,Gurobi计算服务器支持作业优先级。您可以为每个作业分配一个介于-100到100之间的整数优先级(默认值为0)。在排队的作业中进行选择时,计算服务器将首先运行优先级最高的作业。请注意,服务器永远不会抢占正在运行的作业。可以在客户端license文件中设置优先级,也可以使用优先级在编程语言api中的参数。

我们选择赋予优先级100一个特殊的意义。优先级为100的作业将立即启动,即使这意味着服务器将超过其作业限制。对于优先级为100的作业,您应该谨慎,因为一次提交太多作业可能会导致非常高的服务器负载,这可能会导致性能低下,在极端情况下甚至会崩溃。请注意,该特性必须由使用HARDJOBLIMIT配置属性。

使用Remote Services分组特性,系统管理员可能已经为集群节点分配了组。当集群中的某些节点与其他节点不同时,这可能非常有用。例如,一些节点可能有更多的内存或更快的cpu。使用此特性,您可以强制作业只在适当类型的机器上运行。如果所请求组的所有节点都已达到最大容量,则作业将排队等待,直到该组的一个成员可用为止。

方法可以向给定组提交优化作业集团客户端许可证文件的属性。也可以设置CSGROUP参数在编程接口。

可以使用此参数指定单个组或组列表,还可以为每个组指定优先级。下面的示例展示了如何使用这个参数将作业提交给优先级为10的group1和优先级为50的group2。

group1:10, group2:50

注意,如果没有为提交的作业指定组,则作业可以在任何节点上运行。