我知道Haskell運行時在每個內核上都會創建一個操作系統線程。輕量級線程/用戶線程然後由運行時調度到這些預先部署的OS線程上。大致。多核處理器上的Haskell運行時的結構
但是,Haskell運行時結構是如何構造的 - 它是單塊的,還是由單獨的部分組成?
我真正想知道的是RT本身跨越核心的可擴展性和可分配性 - 例如,理論上我是否擁有1000核心系統,並在核心的5%上啓動Haskell RT(50個獨立或分佈式RTs)?
我知道Haskell運行時在每個內核上都會創建一個操作系統線程。輕量級線程/用戶線程然後由運行時調度到這些預先部署的OS線程上。大致。多核處理器上的Haskell運行時的結構
但是,Haskell運行時結構是如何構造的 - 它是單塊的,還是由單獨的部分組成?
我真正想知道的是RT本身跨越核心的可擴展性和可分配性 - 例如,理論上我是否擁有1000核心系統,並在核心的5%上啓動Haskell RT(50個獨立或分佈式RTs)?
多核運行時的設計:
雲哈斯克爾(分佈式哈斯克爾):
不是真的符合我的問題。我認爲,在最後的結果和最大的規模上,RT必須本身可分配並準備好用於多核。不僅爲其執行的應用程序啓用並行處理。 –
@JFritsch我認爲你需要更仔細地閱讀(這個鏈接)這個答案。 –
@JFritsch上面的鏈接描述了多核和分佈式系統上運行時的體系結構。它們是這些信息的主要參考材料。 –
問題太多。 –
@ StephenC:但我認爲他們是真正問題的後續問題,所以我編輯過,以減少混亂並強調真正的問題。 – AndrewC
1000核心共享內存系統必須具有高節點間懲罰的NUMA,因此問題可能在於已經構建了多少NUMA支持。@J Fritsch:您應該更具體 - 您當前的問題太模糊。答案將取決於機器的特定架構和您的計算問題。 – nponeccop