java怎么使用 請(qǐng)教在并行計(jì)算時(shí),Java的多線程和MPI的區(qū)別?
請(qǐng)教在并行計(jì)算時(shí),Java的多線程和MPI的區(qū)別?如果是單節(jié)點(diǎn),則使用多線程。MPI通常用于多個(gè)節(jié)點(diǎn),即當(dāng)多個(gè)工作站一起計(jì)算時(shí),使用MPI。多線程操作系統(tǒng)是CPU的自動(dòng)分配,可以實(shí)現(xiàn)計(jì)算機(jī)的分配。計(jì)算
請(qǐng)教在并行計(jì)算時(shí),Java的多線程和MPI的區(qū)別?
如果是單節(jié)點(diǎn),則使用多線程。MPI通常用于多個(gè)節(jié)點(diǎn),即當(dāng)多個(gè)工作站一起計(jì)算時(shí),使用MPI。多線程操作系統(tǒng)是CPU的自動(dòng)分配,可以實(shí)現(xiàn)計(jì)算機(jī)的分配。計(jì)算機(jī)上MPI通信的速度肯定不如多線程通信的速度快,因?yàn)榫€程通信可以基于共享內(nèi)存。
java中并行與并發(fā)的區(qū)別?
前者是邏輯上的同時(shí)性,后者是物理上的同時(shí)性。
比較:并行和并行的區(qū)別是一個(gè)人同時(shí)吃三個(gè)饅頭,三個(gè)人同時(shí)吃三個(gè)饅頭。
下圖顯示了一個(gè)具有八個(gè)操作的任務(wù)如何在一個(gè)CPU中創(chuàng)建四個(gè)線程,并運(yùn)行兩個(gè)內(nèi)核。假設(shè)每個(gè)核心有兩個(gè)線程,那么每個(gè)CPU中的兩個(gè)線程將交替并發(fā),并且兩個(gè)CPU之間的操作將是并行的。就單個(gè)CPU而言,兩個(gè)線程可以解決線程阻塞問題,其運(yùn)行效率沒有得到提高。多個(gè)cpu的并行操作真正解決了運(yùn)行效率的問題,即并發(fā)性與并行性的區(qū)別。