作者sorryChen (陳揚和)
站內Programming
標題多CPU的機器OS如何align jobs?
時間Sun Jun 28 03:41:15 2009
如果我在多CPU上的機器, 比如說8 或 16個
for i in {0..1} do { time ./myprogram ${i}.input; } 2> ${i}.time;
這樣話 每次call myprogram時 會自動assign 給一個cpu嗎
還是全部的都只會在一個上跑..
現在的OS應該有聰明到會自己assign吧 但這樣一起跑..
會不會比一個一個跑的CPU hours 多呢?
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 128.125.87.33
※ 編輯: sorryChen 來自: 128.125.87.33 (06/28 03:41)
1F:→ dolphinus:不會. 請參考 OpenMP 的語法. 122.116.74.57 06/28 03:42
2F:→ sorryChen:不會是說 只會在一個CPU上跑.. 128.125.87.33 06/28 07:34
3F:→ sorryChen:那是說多個CPU的機器..除非OPEN_MP 128.125.87.33 06/28 07:35
4F:→ sorryChen:另一個CPU完全空著? 我只會用C++中寫 128.125.87.33 06/28 07:36
5F:→ sorryChen:如何在Shell level用多個CPU? 128.125.87.33 06/28 07:36
※ 編輯: sorryChen 來自: 128.125.87.33 (06/28 07:37)
6F:→ ggg12345:align jobs 是指甚麼 ? 140.115.4.12 06/28 08:54
7F:→ sorryChen:assign 只是說跑一次 ./myprogram 128.125.87.33 06/28 09:38
8F:推 ggg12345:Shell啟動的執行程式都是一個process,每 140.115.4.12 06/28 12:46
9F:→ ggg12345:個process在OS管理下在對稱式多處理機就 140.115.4.12 06/28 12:47
10F:→ ggg12345:資源管理立場由OS將所有process輪派給所 140.115.4.12 06/28 12:49
11F:→ ggg12345:有的cpu去跑,沒事幹的cpu跑idle process. 140.115.4.12 06/28 12:53
12F:→ sorryChen:所以是說每個process 都會倫到各個CPU上 128.125.87.33 06/29 00:42
13F:→ sorryChen:但應該會想辦法利用每個CPU吧 128.125.87.33 06/29 00:43