我一直在研究一個全面的構建系統,該系統在多臺機器上執行分佈式構建已經有相當長的一段時間了。它能夠正確處理依賴關係,並且看起來可以很好地擴展,所以我們添加了更多的項目和更多的機器,但看起來它可能表現更好。將工作分配給工作人員
我遇到的問題是資源分配問題。我有一個可用機器列表和一個我想要構建的項目列表,每臺機器還列出了什麼軟件,操作系統,編譯器版本等等,並且每個項目都列出了它需要的內容。當需要分配工作時,我可以運行一個數據庫查詢,列出可能的分配。現在我需要儘可能有效地執行這些任務。
最小的例子是兩個項目1和2與兩臺機器A和B.機器A可以建立任一個項目,但機器B只能建立項目1.所以我最終得到一個列表對(A,1), (A,2),(B,1)。如果我按順序處理作業,則機器A構建項目1,我必須等到它完成後才能構建項目2.將機器A分配到項目2並將機器B分配到項目1可能會更好。機器A可能比機器B快得多,根本不使用機器B可能是正確的答案。
我確定這是一種'運營研究'問題,之前已經解決了很多次。我不一定需要一個最佳的解決方案......只是嘗試比我更好的東西 - 看起來我經常會排隊排隊和機器閒置,這樣可以避免更好的分配。任何建議最受歡迎。
你沒有回答這個問題... – derobert 2008-12-08 18:49:42
從他的崗位的最後一段 - 我不一定需要一個最佳的解決方案......就在更好的東西,企圖比我 - 它似乎我通常最終排隊的任務和閒置的機器可以避免更好的分配。任何建議最受歡迎。 - 我做了一個嘗試。 – hmcclungiii 2008-12-08 18:56:58
非常感謝。我現在有一個很好的方法來分配'一個'任務,但我確實有一些選擇要分配哪一個 - 現在我可能做出一個好選擇作爲一個壞選擇。 – Chris 2008-12-08 19:40:03