高效的作业调度算法

问题描述 投票:0回答:3

我托管视频编码服务。我的客户提交了一些视频进行编码。目前,我仅以FIFO方式对其进行编码。我想更改它,以便每个客户都能获得我的服务的票价分成。

我想考虑以下因素:1. FIFO-首先提交作业具有更高的优先级。2.如果客户提交了大量视频,我想降低他的优先级。

我可以通过设置数据库中的属性来控制客户端的优先级,但不能控制每个视频。如何更好地控制所有视频并有效地安排它们?

PS:如果需要,我可以重新设计数据库。

algorithm job-scheduling
3个回答
0
投票

这是一种对客户公平的方法:与其将作业排队,不如将提交作业的客户排队到FIFO中。当每个客户端到达队列的最前面时,对他们的第一个作业进行编码,如果该客户端有更多的作业,则将该客户端放在最后的队列中。


0
投票

您可以计算编码成本(基于大小和/或质量),然后将其除以请求的期限(当前时间减去发出请求的时间再加上一些阻尼常数)。然后,您将使用该分数将请求按升序排列。

请求大请求的客户端必须等待较小的请求得到处理,但最终得分会小到可以安排的时间。


0
投票

这是与OS相关的好问题。因为每个人都很高兴知道有效的调度算法,或者在任何地方人们都吸引了更高效的调度算法。在这种情况下,没有一种方法比其他算法更有效,因为每种算法对于调度作业都很重要。所有算法都在作业的相应需求时使用,例如,在优先级调度中,它们将优先级赋予流程并进行处理步骤。或者,他们不给优先级,而只是给进程时间,然后进程将按照FCFS算法处理,就像所有算法都按照相应的要求工作一样。

© www.soinside.com 2019 - 2024. All rights reserved.