第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

每個核的最佳線程數(shù)

每個核的最佳線程數(shù)

假設(shè)我有一個4核CPU,我想在最短的時間內(nèi)運行一些進程。這個進程是理想的可并行性,所以我可以在無限多個線程上運行它的塊,每個線程花費相同的時間。由于我有4個內(nèi)核,所以我不期望運行比內(nèi)核更多的線程,因為單個內(nèi)核只能在給定的時刻運行單個線程。我對硬件不太了解,所以這只是猜測。在更多的線程上運行可并行進程有好處嗎?換句話說,如果我使用4000個線程而不是4個線程運行它,我的進程會更快、更慢,還是在大約相同的時間內(nèi)完成呢?
查看完整描述

3 回答

?
慕桂英546537

TA貢獻1848條經(jīng)驗 獲得超10個贊

我有一個不做I/O的過程,下面是我發(fā)現(xiàn)的:

請注意,所有線程都在一個數(shù)組上工作,但范圍不同(兩個線程不訪問相同的索引),因此,如果它們在不同的數(shù)組上工作,結(jié)果可能會有所不同。

這臺1.86機器是一臺帶有SSD的MacBookAir。另一個Mac是帶有普通HDD的iMac(我認(rèn)為是7200 rpm)。Windows機器也有一個7200 rpm的硬盤。

在這個測試中,最優(yōu)數(shù)目等于機器中的核數(shù)。


查看完整回答
反對 回復(fù) 2019-07-13
?
動漫人物

TA貢獻1815條經(jīng)驗 獲得超10個贊

我知道這個問題很老,但是從2009年開始事情就有了變化。

現(xiàn)在有兩件事要考慮:內(nèi)核的數(shù)量和每個內(nèi)核內(nèi)可以運行的線程數(shù)。

對于Intel處理器,線程數(shù)是由超線程定義的,只有2個線程(如果可用的話)。但是超線程將您的執(zhí)行時間減少了兩個,即使不使用兩個線程!(即在兩個進程之間共享一個管道-當(dāng)您有更多進程時,這是很好的,否則就不太好了。更多的核心肯定會更好!)

在其他處理器上,您可能有2個、4個甚至8個線程。因此,如果您有8個內(nèi)核,每個內(nèi)核都支持8個線程,那么您可以有64個進程并行運行,而不需要上下文切換。

“沒有上下文切換”顯然是不正確的,如果您運行的是一個標(biāo)準(zhǔn)的操作系統(tǒng),它將為您無法控制的所有其他事情進行上下文切換。但這是主要想法。有些操作系統(tǒng)允許您分配處理器,因此只有您的應(yīng)用程序可以訪問/使用所述處理器!

根據(jù)我自己的經(jīng)驗,如果您有大量的I/O,多線程是很好的。如果您有很大的內(nèi)存密集型工作(讀源1,讀源2,快速計算,寫),那么有更多的線程是沒有幫助的。同樣,這取決于您同時讀寫的數(shù)據(jù)數(shù)量(例如,如果您使用SSE 4.2和讀取256位值,那么所有線程都會停止它們的步驟.換句話說,1線程的實現(xiàn)可能要容易得多,如果不是更快的話,它可能會更快。這將取決于您的進程和內(nèi)存體系結(jié)構(gòu),一些高級服務(wù)器為不同的核心管理不同的內(nèi)存范圍,因此如果您的數(shù)據(jù)被正確歸檔,單獨的線程將更快.這就是為什么在某些體系結(jié)構(gòu)上,4個進程的運行速度要快于4個線程的一個進程。)


查看完整回答
反對 回復(fù) 2019-07-13
  • 3 回答
  • 0 關(guān)注
  • 809 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動學(xué)習(xí)伙伴

公眾號

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號