Párhuzamos számítástechnikai rendszerek

Az oldal jelenlegi verzióját még nem ellenőrizték tapasztalt közreműködők, és jelentősen eltérhet a 2021. március 15-én felülvizsgált verziótól ; az ellenőrzések 8 szerkesztést igényelnek .

A párhuzamos számítási rendszerek  fizikai számítógépes rendszerek, valamint szoftverrendszerek, amelyek valamilyen módon párhuzamos adatfeldolgozást valósítanak meg számos számítási csomóponton. [egy]

Például egy tömb gyors rendezéséhez egy kétprocesszoros gépen feloszthatja a tömböt, és mindegyik felét külön processzoron rendezheti. Az egyes felek rendezése eltérő időt vehet igénybe, ezért szinkronizálásra van szükség .

A számítások párhuzamosításának gondolata azon a tényen alapul, hogy a legtöbb feladat felosztható kisebb feladatok halmazára, amelyek egyidejűleg megoldhatók. A párhuzamos számítás általában a cselekvések összehangolását igényli. A párhuzamos számítástechnika többféle formában létezik: bitszintű párhuzamosság, utasításszintű párhuzamosság, adatpárhuzamosság és feladat-párhuzamosság. A párhuzamos számítástechnikát hosszú évek óta főleg a nagyteljesítményű számítástechnikában alkalmazzák, de az utóbbi időben megnőtt az érdeklődés a processzorok órajelének növelésére vonatkozó fizikai korlátozások miatt. A párhuzamos számítástechnika a számítógép-architektúra uralkodó paradigmájává vált , többnyire többmagos processzorok formájában . [2]

Párhuzamos rendszerekre programokat írni nehezebb, mint szekvenciális rendszerekhez [3] , mivel az erőforrásokkal való versengés a potenciális szoftverhibák ( bug ) új osztályát képviseli , amelyek között a versenyfeltétel a leggyakoribb. A folyamatok közötti kommunikáció és szinkronizálás nagy akadályt jelent a párhuzamos rendszerekben történő nagy teljesítmény elérésében. Az utóbbi években elkezdődött a párhuzamos számítógépek energiafogyasztásának kérdése is. [4] A párhuzamosítás következtében a program sebességnövekedésének természetét Amdahl és Gustavson törvényei magyarázzák .

A párhuzamosság típusai

Bitszintű párhuzamosság

A párhuzamosság ezen formája a gépi szó méretének növelésén alapul . A gépi szó méretének növelése csökkenti azoknak a műveleteknek a számát, amelyekre a processzornak szüksége van ahhoz, hogy olyan változókkal működjön, amelyek mérete nagyobb, mint a gépi szó mérete. Például: egy 8 bites processzoron két 16 bites egész számot kell hozzáadnia. Ehhez először hozzá kell adnia a számok alsó 8 bitjét, majd hozzáadnia kell a magasabb 8 bitet, és hozzáadnia kell a carry flag értékét az összeadás eredményéhez . Összesen 3 utasítás. A 16 bites processzorral ezt a műveletet egyetlen utasítással végrehajthatja.

A történelem során a 4 bites mikroprocesszorokat felváltották a 8 bitesek, majd megjelentek a 16 bitesek és a 32 bitesek. A 32 bites processzorok régóta a szabványok a mindennapi számítástechnikában. Az x86-64 technológia megjelenésével 64 bites processzorokat kezdtek használni ezekre a célokra.

Utasítás szintű párhuzamosság

A számítógépes program lényegében a processzor által végrehajtott utasítások folyama. De megváltoztathatja ezeknek az utasításoknak a sorrendjét, csoportokba oszthatja őket, amelyek párhuzamosan fognak végrehajtódni, anélkül, hogy a teljes program eredményét megváltoztatnák. Ezt a technikát utasításszintű párhuzamosságnak nevezik. Az utasításszintű párhuzamosság fejlesztése a számítógép-architektúrában az 1980-as évek közepétől az 1990-es évek közepéig történt.

A modern processzorok többlépcsős utasításfolyamattal rendelkeznek . A folyamat minden egyes szakasza megfelel egy bizonyos műveletnek, amelyet a processzor ebben az utasításban ebben a szakaszban hajt végre. Egy N folyamatszakaszos processzor egyidejűleg akár N különböző utasítással is rendelkezhet különböző teljességi szinten. A csővezetékes processzor klasszikus példája egy RISC processzor , amelynek 5 fokozata van: utasítás lekérése a memóriából (IF), utasítás dekódolása (ID), utasítás végrehajtása (EX), memória elérése (MEM), eredmény írása regiszterekbe (WB). ) . A Pentium 4 processzor 31 fokozatból áll [5] .

Egyes processzorok a csővezetékek használata mellett több utasítás egyidejű végrehajtására is képesek, ami további párhuzamosságot biztosít az utasítások szintjén. Ezt a módszert szuperskalárral is megvalósíthatjuk , amikor az utasítások csoportosíthatók párhuzamos végrehajtáshoz (ha nincs adatfüggőségük (adatfüggőségük)). Explicit utasítás szintű párhuzamosságot használó megvalósítások is lehetségesek: VLIW és EPIC .

Adatpárhuzam

Az adatpárhuzamosságon alapuló megközelítés fő gondolata az, hogy egy műveletet azonnal végrehajtanak az adattömb minden elemén. Egy ilyen tömb különböző töredékeit egy vektorprocesszoron vagy egy párhuzamos gép különböző processzorain dolgozzák fel . A program felelős az adatok feldolgozók közötti elosztásáért. A vektorizálás vagy párhuzamosítás ebben az esetben leggyakrabban már a fordítási szakaszban történik - a program forráskódjának gépi utasításokká fordítása. A programozó szerepe ebben az esetben általában a fordító vektor- vagy párhuzamos optimalizálási beállításaiban , párhuzamos fordítási direktíváiban, valamint speciális nyelvek párhuzamos számításokhoz való használatában rejlik.

Feladat párhuzamosság

A feladatok párhuzamosságán alapuló programozási stílus azt jelenti, hogy egy számítási feladat több, viszonylag független részfeladatra van felosztva, és mindegyik processzort a saját részfeladata tölti be.

Elosztott operációs rendszerek

Az elosztott operációs rendszer azáltal, hogy dinamikusan és automatikusan hozzárendeli a munkát a rendszer különböző gépeihez feldolgozás céljából, egy sor hálózatba kapcsolt gépet kényszerít az információ párhuzamos feldolgozására. Az elosztott operációs rendszer felhasználója általában nem ismeri azt a gépet, amelyen a munkáját végzi. [6]

Az elosztott operációs rendszer egyetlen operációs rendszerként létezik a számítástechnikai rendszerben. Az elosztott operációs rendszert futtató hálózat minden számítógépe ellátja a globális operációs rendszer funkcióinak egy részét. Az elosztott operációs rendszer a hálózat összes számítógépét egyesíti abban az értelemben, hogy szorosan együttműködnek egymással a számítógépes hálózat összes erőforrásának hatékony felhasználása érdekében.

Történelem

Az USA-ban és a Szovjetunióban a párhuzamos számítási rendszerek létrehozása irányába irányuló munka az 1960-as évek óta intenzív . A párhuzamos adatfeldolgozási technológia fejlesztését és párhuzamos elektronikus számítástechnikai rendszerek létrehozását az Egyesült Államokban a US Defense Advanced Research Projects Agency megbízásából vállalatok és egyetemek kutatási osztályai végezték : [7]

A munkát a virginiai Pentagonban működő ARPA Számítástechnikai és Információfeldolgozási Iroda és a New York-i Rómában található amerikai légierő kutatóközpontja felügyelte .

A Szovjetunióban hasonló jellegű munkát az Állami Rádióelektronikai Bizottság (később Rádióipari Minisztériummá alakult ), a Védelmi Minisztérium és a Szovjetunió Tudományos Akadémia intézményei végeztek : [8]

A biológiai agy, mint egy masszívan párhuzamos számítógép

Az 1970-es évek elején az MIT Mesterséges Intelligencia Laboratóriumában Marvin Minsky és Seymour Papert elkezdték kidolgozni azt az elméletet, amelyet „ Elme Társaságának ” neveztek, és amely a biológiai agyat egy masszívan párhuzamos számítástechnikai gépnek tekintette . 1986-ban Minsky kiadta a The Society of Mind című népszerű könyvet, amelyben azt állítja, hogy "az agy elméje sok kis ágensből alakul ki, amelyeknek nincs saját elméjük". [9] Az elmélet megkísérelte megmagyarázni, hogy az, amit intelligenciának nevezünk, hogyan lehet egyszerű, ágenseknek nevezett részek interakciójának eredménye, amelyek maguk is intelligensek. Minsky azt állította, hogy a "lelki társadalom" elméletével kapcsolatos ötletek legnagyobb forrása egy olyan gép megalkotása volt, amely robotkar, videokamera és számítógép segítségével babablokkokat állít össze. [10] A Society of Mind elméleti könyve a nagyközönség számára készült, ellentétben Minsky legtöbb korábban megjelent munkájával.

Hasonló modellek (amelyek a biológiai agyat egy masszívan párhuzamos számítástechnikai gépnek tekintik, azaz az agyat sok független vagy félig független ágensből állónak tekintik) szintén leírták:

Lásd még

Jegyzetek

  1. Almasi, GS és A. Gottlieb (1989). Erősen párhuzamos számítástechnika . Benjamin-Cummings kiadók, Redwood City, CA.
  2. Krste Asanovic et al. The Landscape of Parallel Computing Research: A View from Berkeley Archivált 2008. február 29. a Wayback Machine -nél . Kaliforniai Egyetem, Berkeley. számú műszaki jelentés UCB/EECS-2006-183. 2006. december 18.: "Régi [hagyományos bölcsesség]: Az órajel frekvenciájának növelése a processzor teljesítményének javításának elsődleges módja. Új [hagyományos bölcsesség]: A párhuzamosság növelése a processzorteljesítmény javításának elsődleges módszere… Még az Intel, az általában a „magasabb órajel jobb” álláspontjával összefüggő vállalat képviselői is arra figyelmeztettek, hogy a teljesítmény maximalizálásának hagyományos megközelítései az órajel maximalizálásán keresztül a határukig szorultak."
  3. David A. Patterson és John L. Hennessy . Számítógép-szervezés és -tervezés (második kiadás) Morgan Kaufmann Publishers, 1998. ISBN 1-55860-428-6 , 715. oldal
  4. Asanovic et al: Régi [hagyományos bölcsesség]: Az áram ingyenes, de a tranzisztorok drágák. Az új [hagyományos bölcsesség] az, hogy az áram drága, de a tranzisztorok "ingyenesek".
  5. KNOW INTUIT | Előadás | A mikroprocesszor csővezetékes felépítése . Letöltve: 2017. június 27. Az eredetiből archiválva : 2017. május 28.
  6. Andrew Tanenbaum , Martin van Steen. elosztott rendszerek. Principles and Paradigms = Andrew S. Tanenbaum, Maarten van Steen. "Elosztott rendszerek. Alapelvek és paradigmák". - Szentpétervár: Piter, 2003. - 877 p. — (Az informatika klasszikusai). - ISBN 5-272-00053-6 .
  7. Nyilatkozat dr. Stephen J. Lukasik, az Advanced Research Projects Agency igazgatója . / Védelmi Minisztérium 1972. pénzügyi évre vonatkozó előirányzatai. - 1971. április 30. - 741. o. - 1090 p.
  8. Tikhonov S. G. A Szovjetunió és Oroszország védelmi vállalatai: 2 kötetben  - M .  : TOM, 2010. - T. 2. - S. 47-48, 82-83. — 608 p. - 1000 példányban.  - ISBN 978-5-903603-03-9 .
  9. Minsky, Marvin. Az Elme Társasága  (neopr.) . - New York: Simon és Schuster , 1986. -  17. o . - ISBN 0-671-60740-5 .
  10. Minsky, Marvin. Az Elme Társasága  (neopr.) . - New York: Simon & Schuster , 1986. -  29. o . - ISBN 0-671-60740-5 .
  11. Blakeslee, Thomas Túl a tudatos elmén. Az én titkainak feltárása  (angol) . - 1996. - P.  6 -7.
  12. Gazzaniga, Michael ; LeDoux, Joseph Az integrált elme  (neopr.) . - 1978. - S.  132 -161.
  13. Gazzaniga, Michael . A szociális agy.  Az elme hálózatainak felfedezése . - 1985. - P.  77 -79.
  14. Ornstein, Robert Evolution of Consciousness: The Origins of the Way We Think  (angol) . - 1992. -  2. o .
  15. Hilgard, ErnestMegosztott tudat: többféle kontroll az emberi gondolkodásban és cselekvésben . - New York: Wiley, 1977. - ISBN 978-0-471-39602-4 .
  16. Hilgard, ErnestMegosztott tudat: többféle vezérlés az emberi gondolkodásban és cselekvésben (bővített kiadás)  (angol) . - New York: Wiley, 1986. - ISBN 0-471-80572-6 .
  17. Kaku, Michio . Az elme jövője: Tudományos törekvés az elme megértésére, fejlesztésére és  felhatalmazására . — 2014.
  18. Uszpenszkij, Péter . 3. fejezet // A csodák nyomában. Az Ismeretlen Tanítás töredékei . - 1992. - S. 72-83.
  19. Az agy Neurocluster Model of the Brain hivatalos honlapja . Letöltve: 2017. július 22. Az eredetiből archiválva : 2017. július 21.

Linkek