2012-09-22 53 views
4

我知道Haskell運行時在每個內核上都會創建一個操作系統線程。輕量級線程/用戶線程然後由運行時調度到這些預先部署的OS線程上。大致。多核處理器上的Haskell運行時的結構

但是,Haskell運行時結構是如何構造的 - 它是單塊的,還是由單獨的部分組成?

我真正想知道的是RT本身跨越核心的可擴展性和可分配性 - 例如,理論上我是否擁有1000核心系統,並在核心的5%上啓動Haskell RT(50個獨立或分佈式RTs)?

+9

問題太多。 –

+0

@ StephenC:但我認爲他們是真正問題的後續問題,所以我編輯過,以減少混亂並強調真正的問題。 – AndrewC

+0

1000核心共享內存系統必須具有高節點間懲罰的NUMA,因此問題可能在於已經構建了多少NUMA支持。@J Fritsch:您應該更具體 - 您當前的問題太模糊。答案將取決於機器的特定架構和您的計算問題。 – nponeccop

回答

4
+0

不是真的符合我的問題。我認爲,在最後的結果和最大的規模上,RT必須本身可分配並準備好用於多核。不僅爲其執行的應用程序啓用並行處理。 –

+0

@JFritsch我認爲你需要更仔細地閱讀(這個鏈接)這個答案。 –

+0

@JFritsch上面的鏈接描述了多核和分佈式系統上運行時的體系結構。它們是這些信息的主要參考材料。 –

相關問題