這代表有可能本機(一開始存資料那台)會被關閉嗎?或是我們可假設本機永遠存在?或是只有在上傳完檔案後才有可能被關閉?若永久存在,我們是否有權限對本機進行讀寫 (就是這台機器可當作我們自己的機器或是只有在一開始主辦單位傳檔案後就移除)。
主辦單位會將參賽者的系統安裝到數台作業機器上面之後,開始執行系統。
這時候系統應該就要開始抓取檔案了。
主辦單位之後會隨機關閉這幾台作業機器,
至於儲存檔案的機器部分,會根據參賽者的系統設計,來決定是否需關閉以測試 fault tolerance。
如果參賽者並沒有設計到這個部分,主辦單位就不會去測試這樣的 scenario,
但自然考慮越完整的系統,在評比上會得到越好的分數。
主辦單位不開放對檔案儲存的機器作寫的動作,
至於參賽者的系統是否有直接讀取那些檔案的權限,亦是依據系統的設計而定。
若參賽者的系統需要直接讀取那些檔案,例如使用 UNC 路徑存取,主辦單位亦會配合設定。
參賽者的系統可以以各種方法要求讀取檔案,但同時請考慮系統的 flexibility 與擴充性。
舉例來說,現實情況下,因為磁碟空間不足,而多增加一台儲存伺服器是很常見的。
系統是否能很方便的將這樣的變動考慮進去呢?
這類的考慮越是周詳,系統的完整性與擴充性就會越佳。
模擬器是固定放在系統上或是一個遠端的程式?
模擬器路徑是在每次執行時都要當作一個參數嗎?
所有的檔案都會執行同一個模擬器,或是某幾個用模擬器一,某幾個用模擬器二?
參賽者的系統需設計成可以讓主辦單位輸入一個模擬器程式,例如:
- 要求主辦單位將模擬器程式放在系統指定的目錄裡,並將模擬器程式的絕對路徑,以命令列的參數方式傳給參賽者的系統。
- 要求主辦單位將模擬器程式的執行檔,以 http post 的方式上傳至參賽者的系統。
- 其他創意方式...
因此,模擬器放的位置與傳給系統的方式,會依據參賽者的系統設計而定。
請自行發揮創意,並思考怎樣的系統設計,可以讓系統很靈活的切換與運用不同的模擬器,
因為一般的分散式處理系統,亦會處理相當多種不同的工作,比賽裡的模擬器只是模擬一種工作。
在初賽裡,主辦單位只會輸入一個模擬器程式至參賽者的系統之中,用來處理所有的檔案。
但請注意,主辦單位測試時使用的模擬器,只有界面部分跟目前提供的 loading emulator 1 & 2 相同,
也就是會使用相同的 stdin / stdout 格式與機制,但內部作的事情可能是不一樣的,
因此請勿將 loading emulator 1 & 2 直接寫死在系統裡面,
也請勿假設主辦單位會使用 loading emulator 1 或 2 來直接測試。