簡體   English   中英

Java:估算可用的硬件並行性方法

[英]Java: Estimate available HW parallelism howto

我繼續進行fork / join優化(或更精確地說,是在線程之間划分輸入的優化) 並面對下一條陳述 (第73頁):

最終並行速度的提高取決於:

  • 源元素數(已知值)
  • 運營成本(幾乎無法估算)
  • 可用的硬件並行性(可能會估計)
  • 並發客戶端數(我們可以以某種方式應對)

問題: 這是什么意思:可用的硬件並行性? 如何估算可用的硬件並行度?

硬件並行性表示更廣泛的概念,表示您有多少計算或I / O資源可用於並行操作。

對於計算資源 ,這可能是系統上可用的CPU。 但是,當您的JVM位於非虛擬化,統一的多核系統上時,這僅僅是一個精確的度量。 實際上,可用的處理器可能在虛擬環境中共享,可能沒有相同的功能集,可能是多線程的,或者共享內存接口(NUMA)。

對於I / O資源,它表示存儲子系統及其可以並行執行的請求數(例如,硬盤數量),以及I / O通道帶寬。

為了估計可用的“硬件並行性”,重要的是要知道哪個是限制工作量的因素。 如果不是I / O問題,則該任務稱為CPU綁定 ,否則稱為I / O綁定 請參閱我的答案, 為並行處理數據選擇最佳線程數 在這個答案中,我還提出了使用自適應算法來選擇線程數的想法。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM