Flynn-féle osztályozás
| Egy utasítás | Több utasítás | |
|---|---|---|
| Egy adatfolyam | SISD | MISD |
| Több adatfolyam | SIMD | MIMD |
A Flynn-féle osztályozás számítógép-architektúrák párhuzamosság szerinti osztályozási módja, amit Michael J. Flynn publikált 1966-ban.[1][2]
Osztályozás
[szerkesztés | forrásszöveg szerkesztése]Flynn osztályozási modellje az egyidejű utasítás- (vagy vezérlési), illetve adatfolyamok alapján különbözteti meg az architektúrákat:
- Single Instruction, Single Data stream (SISD, „egy utasítás-, egy adatfolyam”)
- A klasszikus, szekvenciális számítógép, ami sem adat-, sem utasításszinten nem használ ki párhuzamosságot. Egyetlen vezérlőegység (CU) kéri le az egyetlen utasításfolyamot (IS) a memóriából. A CU azután létrehozza a megfelelő vezérlőjeleket hogy az egyetlen feldolgozó egység (PE) egyetlen adatfolyamon (DS) dolgozhasson. Tehát a végrehajtó egyszerre egy utasítást végez egy adaton. A SISD eszközök közé tartoznak a hagyományos egyprocesszoros rendszerű gépek, mint a korai PC-k vagy a régi mainframe-ek.
- Single Instruction, Multiple Data streams (SIMD, „egy utasítás-, több adatfolyam”)
- A számítógép egyetlen utasításfolyamot hajt végre több adatfolyamon egyszerre, a bennük rejlő természetes párhuzamosságot kihasználva. Az ilyen elvű egységeket vektorfeldolgozónak is nevezik. Példa: tömbprocesszor, vektorprocesszor, GPU.
- Multiple Instruction, Single Data stream (MISD, „több utasítás-, egy adatfolyam”)
- Több utasítás dolgozik ugyanazon az adatfolyamon egyszerre. Szokatlan architektúra, például hibatűrés céljaira értelmezhető. Több rendszer végzi el ugyanazokat a műveletsorokat, és ugyanarra az eredményre kell jutniuk. Például a Space Shuttle repülésirányító számítógépében használták.
- Multiple Instruction, Multiple Data streams (MIMD, „több utasítás-, több adatfolyam”)
- Több autonóm processzor egy időben végez különböző műveleteket különböző adatokon. MIMD-architektúrának tekinthetők az elosztott rendszerek, akár közös, akár felosztott memóriaterületet használnak. Egy többmagos, szuperskalár processzor is MIMD-processzor.
A Flynn-féle osztályozás gyengesége, hogy nem mutatja meg sem a párhuzamosság forrását (adat), sem pedig szintjét (szál/utasítás).
Osztályozásokat összehasonlító ábra
[szerkesztés | forrásszöveg szerkesztése]A fent említett négy architektúra képi ábrája, ahol minden „PU” egy végrehajtó egységnek felel meg:
További felosztások
[szerkesztés | forrásszöveg szerkesztése]2006-ban a 10 legnagyobb szuperszámítógép, és a TOP500 szuperszámítógép többsége egyaránt MIMD-architektúrára épült.
Egyesek a MIMD kategóriát kettéosztják,[3][4][5][6][7] mások még további felosztást tartanak szükségesnek.[8]
SPMD
[szerkesztés | forrásszöveg szerkesztése]Single Program, Multiple Data (SPMD, „egy program, több adat”): több autonóm processzor szimultán hajtja végre ugyanazt a programot (de különböző pontokon, nem lockstep üzemmódban, ahogy a SIMD esetben) különböző adatokon. Másik elnevezése az „Egy processz, több adat”[7] – ez az SPMD-re vonatkozó terminológia téves és kerülendő, hiszen az SPMD párhuzamos végrehajtási modell és több, kooperáló processz programvégrehajtását feltételezi. Az SPMD a leggyakoribb párhuzamos programozási stílus.[9] Az SPMD modellt és kifejezést Frederica Darema alkalmazta elsőként.[10] Gregory F. Pfister az RP3 projekt egyik vezetője volt, Darema pedig a csapat tagja.
MPMD
[szerkesztés | forrásszöveg szerkesztése]Multiple Program, Multiple Data (MPMD, „több program, több adat”): több autonóm processzor szimultán hajt végre legalább két, egymástól független programot. Az ilyen rendszerek tipikusan az egyik csomópontot kijelölik a „host” (az explicit host/node programozási modell), „gazda” vagy „menedzser” (a menedzser/dolgozó vagy „Manager/Worker” stratégia) szerepkörre; ez a csomópont olyan programot futtat, ami kiosztja az adatokat az összes többi, egy másik programot futtató csomópont számára. Ezek a csomópontok közvetlenül a menedzsernek küldik vissza az eredményeket. Az MPMD-re példa a Sony PlayStation 3 játékkonzolja a Cell mikroprocesszoron alapuló SPU/PPU processzorarchitektúrájával.
Jegyzetek
[szerkesztés | forrásszöveg szerkesztése]- ↑ Flynn, M. (1972). "Some Computer Organizations and Their Effectiveness". IEEE Trans. Comput. C-21: 948.
- ↑ Duncan, Ralph (1990). "A Survey of Parallel Computer Architectures". IEEE Computer: 5–16.
- ↑ "Archivált másolat". 2004. június 4. dátummal az eredeti címről archiválva. Hozzáférés: 2013. május 1.
- ↑ "Archivált másolat". 2006. szeptember 1. dátummal az eredeti címről archiválva. Hozzáférés: 2013. május 1.
- ↑ http://web0.tc.cornell.edu/Services/Education/Topics/Parallel/Design/SPMD.aspx
- ↑ "Archivált másolat". 2013. december 13. dátummal az eredeti címről archiválva. Hozzáférés: 2013. május 1.
- 1 2 "Archivált másolat". 2007. február 3. dátummal az eredeti címről archiválva. Hozzáférés: 2013. május 1.
- ↑ http://www.tc.cornell.edu/Services/Education/Topics/Parallel/Distributed/+9.2+Strategies.htm
- ↑ http://www.nist.gov/dads/HTML/singleprogrm.html
- ↑ Darema, Frederica; George, David A.; Norton, V. Alan; Pfister, Gregory F. (1988). "A single-program-multiple-data computational model for epex fortran". Parallel Computing. 7: 11–24.
{{cite journal}}: Unknown parameter|lastauthoramp=ignored (|name-list-style=suggested) (súgó)
Fordítás
[szerkesztés | forrásszöveg szerkesztése]- Ez a szócikk részben vagy egészben a Flynn's taxonomy című angol Wikipédia-szócikk ezen változatának fordításán alapul. Az eredeti cikk szerkesztőit annak laptörténete sorolja fel. Ez a jelzés csupán a megfogalmazás eredetét és a szerzői jogokat jelzi, nem szolgál a cikkben szereplő információk forrásmegjelöléseként.
