繁体   English   中英

高效的作业调度算法

[英]Efficient Job Scheduling Algorithm

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

我想考虑以下因素:

1. FIFO - 首先提交作业的优先级更高。
2.如果客户提交大量视频,我想降低他的优先级。

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

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

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

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

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

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM