2010-10-31 49 views
0

那麼,我想測試哪個調度算法適合我的應用程序,但無法弄清楚如何去測試。我有一組要執行的作業,對於使用並行Python的SMP(對稱多進程)執行,但無法應用作業調度算法。如何使用python執行作業調度算法?

例如:如果我想實施SJF(最短工作優先),我將如何知道我提交的工作與其他工作相比是最短的,最終可能會發生一個較大的工作,當時提交的工作量較小。

+1

我不確定我是否理解。是關於1)測試的問題,2)並行Python,或3)一般的作業調度算法。您在最後一段中提出的問題是* all * SJF算法的問題。 – 2010-10-31 14:51:00

+0

那麼問題是我想爲我的應用程序實現一個作業調度程序,以便在我的集羣系統上運行,爲此我使用了並行python,顯然它隱含了很多。現在我想使用並行python實現調度算法的ne,但不知道如何去做。 – Rahul 2010-11-01 05:27:19

回答

3

如果您事先知道所有工作的運行時間,則只能說出您提交的工作是否最短。沒有首先運行這些工作,這不是一件容易的事情。 SJF很少用於這個原因。在FIFO中調度更容易;當你需要一份新工作來運行時,你將這些工作列入清單(lst.append())和lst.pop(0)一個。

+0

有沒有任何使用python的作業調度的例子,在那裏我可以看到它是如何完成的? – Rahul 2010-11-01 05:28:06

+0

是:http://www.webwareforpython.org/TaskKit/Docs/Source/Docs/TaskKit.Scheduler.html – nmichaels 2010-11-01 14:35:01