Párhuzamos számítástechnika

Az oldal jelenlegi verzióját még nem ellenőrizték tapasztalt hozzászólók, és jelentősen eltérhet a 2014. október 5-én felülvizsgált verziótól ; az ellenőrzések 12 szerkesztést igényelnek .

A párhuzamos számítástechnika a számítógépes számítástechnika  megszervezésének egyik módja , amelyben a programokat egymással párhuzamosan (egyidejűleg) működő számítási folyamatok halmazaként fejlesztik. A kifejezés magában foglalja a programozás párhuzamosságának minden kérdését , valamint a hatékony hardvermegvalósítások létrehozását . A párhuzamos számítás elmélete az alkalmazott algoritmuselmélet egy része [1] .

A párhuzamos számítások megvalósításának számos módja van. Például minden számítási folyamat megvalósítható operációs rendszer folyamataként , vagy a számítási folyamatok végrehajtási szálak készletei lehetnek egyetlen operációs rendszer folyamaton belül. A párhuzamos programok fizikailag végrehajthatók szekvenciálisan egyetlen processzoron  - felváltva az egyes számítási folyamatok végrehajtási lépéseit, vagy párhuzamosan - egy vagy több ( a közelben található vagy számítógépes hálózatban elosztott ) processzort hozzárendelve az egyes számítási folyamatokhoz.

A párhuzamos programok tervezésének fő nehézsége a különböző számítási folyamatok közötti interakciók helyes sorrendjének biztosítása, valamint a folyamatok között megosztott erőforrások összehangolása.

A párhuzamos kommunikáció szinkronizálásának módjai

Egyes párhuzamos programozási rendszerekben az adatok komponensek közötti továbbítása rejtve van a programozó elől (például az ígéret -mechanizmus használatával ), míg másokban ezt kifejezetten meg kell adni. Az explicit interakciók két típusra oszthatók:

Az üzenetküldő alapú párhuzamos rendszerek gyakran könnyebben érthetők, mint a megosztott memóriás rendszerek, és általában a párhuzamos programozás kiváló módszerének tekintik. Számos matematikai elmélet létezik az üzenettovábbítási rendszerek tanulmányozására és elemzésére, beleértve a szereplőmodellt és a különféle folyamatszámításokat . Az üzenetküldés hatékonyan megvalósítható szimmetrikus többprocesszorokon megosztott koherens memóriával és anélkül is.

Az elosztott memória párhuzamossága és az üzenettovábbítási párhuzamosság eltérő teljesítményjellemzőkkel rendelkezik. Általában (de nem mindig) a folyamatmemória és a feladatváltási idő többletterhelése alacsonyabb az üzenettovábbítással rendelkező rendszerekben, de maga az üzenettovábbítás több többletterhelést jelent, mint az eljáráshívások. Ezeket a különbségeket gyakran felülírják a teljesítményt befolyásoló egyéb tényezők.

Természetesen egy ilyen rendszerben lehetőség van arra is, hogy kizárólag az üzenetátadási módot használjuk, vagyis minden csomópont minden processzorán külön folyamatot futtassunk. Ebben az esetben a folyamatok (és szálak) száma megegyezik az összes csomóponton lévő processzorok számával. Ez a módszer egyszerűbb (egy párhuzamos programban csak a folyamatok számát kell növelni), de kevésbé hatékony, mivel ugyanazon csomópont processzorai úgy cserélnek üzeneteket egymással, mintha különböző gépeken lennének [5] .

Tipikus feladatok, amelyek lehetővé teszik a párhuzamos számítást

Concurrency Software Tools

Lásd még

Jegyzetek

  1. Mihalevics, 1989 , p. egy.
  2. RedBook, 1999 , p. egy.
  3. RedBook, 1999 , p. 2.
  4. RedBook, 1999 , p. 5.
  5. RedBook, 1999 , p. négy.

Irodalom

Linkek