Többprocesszoros

Többprocesszoros (többprocesszoros Multiprocessing Engl Multiprocessing ...) - egy, pár vagy több fizikai processzor egy számítógépes rendszer. Ez a kifejezés az a rendszer képes támogatni több mint egy processzor és / vagy arra, hogy osztja fel a feladatokat egymás között. Vannak sok változat e fogalom és meghatározása a többprocesszoros változhat a szövegkörnyezettől függően, elsősorban attól függően, hogy milyen az azonosított processzorok (sok kristálymag egyetlen chip. A több zseton egy házban, a burkolatok sokasága egy rendszer modul, és így tovább. D ) ..

Többszörös feldolgozás néha úgynevezett több párhuzamos programfolyamat végrehajtása a rendszerben, szemben azzal, hogy egy folyamatot egyszerre hajtanak végre. Azonban a többfeladatú vagy többprogramos kifejezések jobban alkalmasak ennek a koncepciónak a leírására, amelyet főként szoftverek hajtanak végre. míg a többprocesszoros rendszer alkalmasabb többféle hardveres processzor használatára. A rendszer nem lehet többprocesszoros és többprogramozott, csak az egyik a kettő, vagy egyik sem a másik.

Processzorszimmetria

Egy többprocesszoros rendszerben minden processzor egyenlő lehet, vagy egyesek speciális célokra lehetnek fenntartva. A hardver és az operációs rendszer szoftverének tervezési szempontjainak kombinációja meghatározza a szimmetriát (vagy annak hiányát) egy adott rendszerben. Például hardver vagy szoftver megfontolások miatt szükség lehet, hogy csak egy CPU válaszol minden hardver megszakítások, míg az összes többi munkát a rendszer egyenlően oszlik meg a processzorok vagy privilegizált mód kódfuttatást korlátozott lehet, hogy csak egyetlen processzor (vagy egy adott processzor, vagy csak egy processzor egy időben), míg a nem-privilegizált módban kódot is végrehajthatunk bármilyen kombinációja processzorok. Gyakran többprocesszoros rendszerek könnyebben megtervezhetők, ha ilyen korlátozásokat vezetnek be, de általában kevésbé hatékonyak, mint az összes CPU-t használó rendszerek.

Systems, hogy feldolgozza az összes CPU-k ugyanazt, az úgynevezett szimmetrikus többprocesszoros rendszer (SMP). Azokban a rendszerekben, ahol az összes CPU-kat nem egyenlő a rendszer erőforrásait osztható sok szempontból, többek aszimmetrikus többprocesszoros (ASMP), többfeladatos az egyenlőtlen memória-hozzáférés (NUMA) és fürtözött többprocesszoros (qq.v.).

Parancs és adatáramlás

Egy multi-feldolgozó processzor használatos elvégzésére utasítássorozat több kontextusban (egyetlen gépi utasítás, többszörös adat vagy SIMD. Gyakran használt vektor feldolgozó), többszörös szekvenciákat utasításokat egyetlen összefüggésben ( „multiple-utasítás áramot, egyetlen adatfolyam” vagy architektúra MISD használt redundancia és hibatűrő rendszerek néha leírására használják Szállítószalag vagy hyper-threading processzorok), vagy többszörös e utasítások sorozata több kontextusban ( „többszörös utasítás áramot, több adatfolyam” vagy MIMD).

Processzorcsatlakozások

A több processzoros (többmagos) chipek több processzort tartalmaznak, egy chip-sémában helyezkednek el, és a leghatékonyabb multiprocesszoros formában tekinthetők erős kommunikációnak. A többprocesszoros mainframe rendszerek gyakran erős kommunikációval rendelkező rendszerek.

Többprocesszoros rendszerek rugalmas kommunikációval (angol, lazán kapcsolt többprocesszoros rendszerek), gyakran klaszterek. több különálló egy vagy két számítógépen alapul, amelyek nagy sebességű kommunikációs rendszeren keresztül csatlakoznak (például Gigabit Ethernet). A Linux futó Beowulf klaszter egy lazán összekapcsolt rendszer példája.

Az erős összekapcsolású rendszerek jobban és fizikailag jobban működnek, mint a rugalmasan kapcsolódó rendszerek, de történelmileg nagy kezdeti beruházást igényeltek és gyorsan amortizálhatók; a rugalmasan kapcsolódó rendszer csomópontjai általában olcsó számítógépek, és önálló gépekként használhatók a klaszter eltávolítása után.

Az erős összekapcsolású rendszerek sokkal energiatakarékosabbak. mint a klaszterek. Jelentős energiahatékonyság érhető el, mivel az ilyen rendszerekben lévő komponensek előre tervezték, hogy egy adott rendszerben dolgozhassanak, miközben a rugalmasan kapcsolódó rendszerek gyakran olyan összetevőket használnak, amelyek szélesebb rendszerosztályban működnek.

Szoftvertelepítés

Többszörös feldolgozás a SISD-vel

Egyetlen vezérlőfolyamattal és egyetlen adatfolyammal rendelkező számítógép esetén egy processzor egymás után feldolgozza a parancsokat; minden gép utasítás egy adatelemet feldolgoz. Erre példa a von Neumann architektúra.

Multiprocessing SIMD

Egyetlen parancssugárral és többszörös adatfolyammal rendelkező számítógéppel egy processzor feldolgozza az utasításfolyamat, amelyek mindegyike párhuzamos számításokat hajthat végre több adaton.

Többprocesszoros A SIMD alkalmas párhuzamos vagy vektoros feldolgozásra, ahol nagy adatkészletet lehet osztani olyan részekre, amelyeket azonos, de független műveletekkel dolgozzanak fel. Egyetlen parancssort irányít [hol? ] multiprogramozó modulok működtetése hasonló manipulációk egyidejű végrehajtására potenciálisan nagy mennyiségű adat esetén.

Bizonyos számítástechnikai alkalmazások esetében ez a fajta architektúra jelentősen növelheti a termelékenységet az eltöltött idő tekintetében. Azonban a hátránya ennek az építészet az, hogy a nagy részét a rendszer elkezdi az üresjáratban végző rendszer feladatokat vagy programokat, amelyeket nem lehet osztani modulok (részfeladatok), hogy lehet feldolgozni párhuzamosan.

Többprocesszoros A SIMD egyes területeken széles körben használatos, például számítógépes modellezés. de kevéssé használható egy univerzális asztali számítógépen és üzleti feladatokban.

Többprocesszoros MISD

Többprocesszoros több utasítás áramot egyetlen adatfolyamot, és az az előnye, főleg azért, mert a redundancia párhuzamosan futó modulokat hajtsa végre a feladatot ugyanazokat az adatokat, csökkentve a hibás eredmény, ha az egyik modul meghibásodik. MISD architektúra lehetővé teszi számunkra, hogy összehasonlítsuk a számítások eredményei felderítése érdekében hibák. Ezenkívül redundancia és hibatűrés ilyen típusú több-bites feldolgozás előnyeit. Ezenkívül súlyosan mérlegel. Nem növeli a teljesítményt.

Multiprocessing MIMD

A többprocesszoros MIMD architektúrája számos különböző feladat elvégzésére alkalmas, amelyekben különböző adatkészletekkel kapcsolatos parancsok teljesen független és párhuzamos végrehajtása valósul meg. Emiatt és mivel könnyen megvalósítható, a MIMD domináns a többprocesszoros folyamatokban.

A feldolgozás több szálra van felosztva, mindegyik saját processzor saját hardverállapotával, egy folyamatban definiált folyamaton belül vagy több folyamaton belül. Mivel a rendszerben több szál van végrehajtva (rendszer vagy felhasználói szálak), ez az architektúra hatékony hardvereszközöket használ.

A MIMD lehetnek problémák egymással összefüggő és a verseny a forrásokért, mint patakok, megpróbál hozzáférni az erőforrásokhoz, szembesülhetnek kiszámíthatatlan módon. MIMD igényel speciális kódolás az operációs rendszer, de nem igényli az alkalmazási program, kivéve azokat az eseteket, amikor a program maga segítségével több folyam (MIMD átlátszó a egyszálú program fut a legtöbb operációs rendszer, ha a program nem adja fel a részét a környezeti menedzsment). És a rendszer és felhasználói szoftverek is kell használni a programozási konstrukciók, mint a szemafor. hogy megakadályozzák az egyik szál beavatkozó másik, ha azok tartalmaznak egy linket, ugyanazokat az adatokat. Egy ilyen intézkedés növeli kód bonyolultságát, csökkenti a teljesítményt és jelentősen megnöveli az előírt vizsgálatok, bár általában nem tagadja előnyeit többprocesszoros.

Hasonló ütközések fordulhatnak elő a processzorok hardverszintjén, és rendszerint hardverekkel vagy szoftverek és hardverek kombinációjával kell megoldani.