Kako podesiti pametne telefone i računare. Informativni portal

SMP arhitektura. Prednosti i nedostaci

SMP arhitektura

SMP arhitektura (symmetric multiprocessing) - simetrična višeprocesorska arhitektura. Glavna karakteristika sistema sa SMP arhitekturom je prisustvo zajedničke fizičke memorije koju dele svi procesori.

Memorija je način prijenosa poruka između procesora, dok svi računarski uređaji kada joj pristupaju imaju jednaka prava i isto adresiranje za sve memorijske ćelije. Zato se SMP arhitektura naziva simetrična.

Glavne prednosti SMP sistema:

Jednostavnost i svestranost za programiranje. SMP arhitektura ne nameće ograničenja na model programiranja koji se koristi za kreiranje aplikacije: obično se koristi model paralelnog grananja, kada svi procesori rade potpuno nezavisno jedan od drugog - međutim, mogu se implementirati i modeli koji koriste međuprocesorsku komunikaciju. Korišćenje zajedničke memorije povećava brzinu takve razmene, a korisnik takođe ima pristup celokupnoj količini memorije odjednom. Za SMP sisteme postoje relativno efektivna sredstva automatska paralelizacija.

Jednostavnost upotrebe. Tipično, SMP sistemi koriste sistem hlađenja zasnovan na klimatizaciji, što ih čini lakšim za održavanje.

Relativno ne visoka cijena.

Nedostaci:

Sistemi sa zajednička memorija izgrađene na sistemskoj magistrali su slabo skalabilne
Ovaj važan nedostatak SMP sistema ne dozvoljava da se smatraju zaista obećavajućim. Razlozi za lošu skalabilnost su to što je magistrala trenutno sposobna obraditi samo jednu transakciju, što rezultira problemima rješavanja sukoba kada više procesora istovremeno pristupa istim područjima dijeljene fizičke memorije.

MPP arhitektura

MPP arhitektura (masivno paralelno procesiranje) - masivno paralelna arhitektura. glavna karakteristika Ova arhitektura znači da je memorija fizički odvojena. U ovom slučaju, sistem je izgrađen od pojedinačni moduli koji sadrži procesor, lokalna banka operativnu memoriju(OP), dva komunikacijska procesora (rutera) ili mrežni adapter, ponekad - tvrdi diskovi i/ili druge ulazno/izlazne uređaje.

Glavna prednost:

Glavna prednost sistema sa zajedničkom memorijom je dobra skalabilnost: za razliku od SMP sistema, u mašinama sa deljenom memorijom, svaki procesor ima pristup samo svojoj lokalnoj memoriji, pa stoga nema potrebe za sinhronizacijom procesora sat po sat. Gotovo svi današnji rekordi performansi postavljeni su na mašinama upravo ove arhitekture, koje se sastoje od nekoliko hiljada procesora (ASCI Red, ASCI Blue Pacific).

Nedostaci:

Nedostatak zajedničke memorije značajno smanjuje brzinu međuprocesorske komunikacije, jer ne postoji zajedničko okruženje za pohranjivanje podataka namijenjenih razmjeni između procesora. Za implementaciju razmjene poruka između procesora potrebne su posebne tehnike programiranja.
Svaki procesor može koristiti samo ograničenu količinu lokalne memorijske banke.
Zbog ovih arhitektonskih nedostataka potreban je značajan napor da se maksimalno iskoriste sistemski resursi. To je ono što određuje visoku cijenu softver za masovno paralelne sisteme sa odvojenom memorijom.

PVP arhitektura

PVP (Parallel Vector Process) - paralelna arhitektura sa vektorskim procesorima.
Glavna karakteristika PVP sistema je prisustvo specijalnih vektorsko-cevovodnih procesora, koji obezbeđuju komande istog tipa za obradu vektora nezavisnih podataka, efikasno izvršavane na funkcionalnim uređajima cevovoda. Tipično, nekoliko ovih procesora (1-16) radi istovremeno sa zajedničkom memorijom (slično SMP) u višeprocesorskim konfiguracijama. Nekoliko takvih čvorova može se povezati pomoću prekidača (slično MPP). Od prijenosa podataka na vektorski format se obavlja mnogo brže nego u skalarnoj mašini (maksimalna brzina može biti 64 Gb/s, što je 2 reda veličine brže nego kod skalarnih mašina), tada problem interakcije između tokova podataka tokom paralelizacije postaje beznačajan. A ono što je loše paralelno na skalarnim mašinama dobro je paralelizovano na vektorskim mašinama. Dakle, sistemi PVP arhitekture mogu biti mašine opće namjene(sistemi opšte namene). Međutim, pošto su vektorski procesori veoma skupi, ove mašine neće biti široko dostupne.

Arhitektura klastera

Klaster se sastoji od dva ili više kompjutera(često se nazivaju čvorovi) povezani putem mrežne tehnologije baziran na arhitekturi sabirnice ili prekidaču i predstavljen korisnicima kao jedinstven informacijski i računarski resurs. Serveri, radne stanice, pa čak i obični personalni računari mogu se odabrati kao čvorovi klastera. Prednost u izvedbi klasteriranja postaje očigledna kada čvor otkaže: drugi čvor u klasteru može preuzeti opterećenje neuspjelog čvora bez da korisnici primjete bilo kakav prekid u pristupu.

Amdahlov zakon(engleski) Amdahlov zakon, ponekad takođe Amdahl-Ware zakon) - ilustruje ograničenje rasta performansi računarskog sistema sa povećanjem broja računara. Gene Amdahl je formulirao zakon 1967. godine, otkrivši jednostavno u suštini, ali nepremostivo ograničenje rasta produktivnosti pri paraleliziranju proračuna: „U slučaju kada je zadatak podijeljen na nekoliko dijelova, ukupno vrijeme njegovog izvršenja na paralelni sistem ne može biti kraći od vremena izvršenja najdužeg fragmenta." Prema ovom zakonu, ubrzanje izvršavanja programa zbog paralelizacije njegovih instrukcija na više računara ograničeno je vremenom potrebnim za izvršavanje njegovih sekvencijalnih instrukcija.

Matematički izraz

Pretpostavimo da trebamo riješiti neki računski problem. Pretpostavimo da je njegov algoritam takav da se udio u ukupnom proračunu može dobiti samo uzastopnim proračunima i, shodno tome, udio se može idealno paralelizirati (to jest, vrijeme izračunavanja će biti obrnuto proporcionalno broju uključenih čvorova) . Tada ubrzanje koje se može postići na računarskom sistemu koji se sastoji od procesora, u poređenju sa jednoprocesorskim rešenjem, neće premašiti

Ilustracija

Tabela pokazuje koliko puta će se program brže izvršavati uz udio sekvencijalnih proračuna kada se koriste procesori. . Dakle, ako je polovina koda sekvencijalna, onda ukupno povećanje nikada neće premašiti dva.

]Ideološko značenje

Amdahlov zakon pokazuje da povećanje računske efikasnosti zavisi od algoritma problema i ograničeno je odozgo za bilo koji problem sa . Nema smisla svaki zadatak povećati broj procesora u računarskom sistemu.

Štaviše, ako uzmemo u obzir vrijeme potrebno za prijenos podataka između čvorova računarskog sistema, tada će ovisnost vremena računanja o broju čvorova imati maksimum. Ovo nameće ograničenje na skalabilnost računarskog sistema, odnosno znači da će od određene tačke dodavanje novih čvorova sistemu povećati vrijeme proračuna zadatka.

Za MIMD sisteme trenutno je opšte prihvaćena klasifikacija zasnovana na metodama koje se koriste za organizovanje RAM-a u ovim sistemima. Prema ovoj klasifikaciji, prije svega, razlikuju se višeprocesorski računarski sistemi(ili multiprocesori) ili računarski sistemi dijeljene memorije (višeprocesori, zajednički memorijski sistemi, sistemi dijeljene memorije) i višekompjuterski računarski sistemi(multiračunari) ili računarski sistemi sa distribuiranom memorijom (multiračunari, distribuirani memorijski sistemi). Struktura višeprocesorskih i višeračunarskih sistema prikazana je na Sl. 1, gdje je procesor, je memorijski modul.

Rice. 1. a) - višeprocesorska struktura; b) – struktura multikompjutera.

Multiprocesori.

U multiprocesorima, adresni prostor svih procesora je isti. To znači da ako se ista varijabla naiđe u programima više procesora višeprocesora, tada će za dobivanje ili promjenu vrijednosti ove varijable ovi procesori pristupiti jednoj fizičkoj ćeliji dijeljene memorije. Ova okolnost ima i pozitivne i negativne posljedice.

S jedne strane, nema potrebe za fizičkim premeštanjem podataka između programa za prebacivanje, što eliminiše vreme utrošeno na međuprocesorsku razmenu.

S druge strane, budući da istovremeni pristup više procesora zajedničkim podacima može dovesti do pogrešnih rezultata, potrebni su sistemi za sinhronizaciju paralelnih procesa i osiguravanje memorijske koherentnosti. Budući da procesori moraju vrlo često da pristupaju zajedničkoj memoriji, zahtjevi za propusnošću komunikacijskog okruženja su izuzetno visoki.

Posljednja okolnost ograničava broj procesora u višeprocesorima na nekoliko desetina. Ozbiljnost problema pristupa dijeljenoj memoriji može se djelomično ublažiti podjelom memorije na blokove, koji omogućavaju paraleliziranje pristupa memoriji iz razni procesori.

Napomenimo još jednu prednost multiprocesora - višeprocesorski sistem radi pod kontrolom jedne kopije operativnog sistema (obično nalik UNIX-u) i ne zahtijeva prilagođavanje svaki procesorski čvor.

Homogeni multiprocesori sa jednakim (simetričnim) pristupom zajedničkoj RAM memoriji obično se nazivaju SMP sistemi (sistemi sa simetričnom multiprocesorskom arhitekturom). SMP sistemi su se pojavili kao alternativa skupim višeprocesorskim sistemima baziranim na vektorsko-pipeline procesorima i vektorsko-paralelnim procesorima (vidi sliku 2).


Multicomputers.

Zbog jednostavnosti njihove arhitekture, multiračunari su trenutno najrašireniji. Multiračunari ne dijele memoriju. Stoga se međuprocesorska razmjena u takvim sistemima obično obavlja preko komunikaciona mreža koristeći prenošenje poruka.

Svaki procesor u multiračunaru ima nezavisni adresni prostor. Dakle, prisustvo varijable sa istim imenom u programima različiti procesori, dovodi do pristupa fizički različitim ćelijama sopstveno sećanje ovih procesora. Ova okolnost zahtijeva fizičko kretanje podataka između programa za prebacivanje u različitim procesorima. Najčešće, najveći broj poziva svaki procesor upućuje vlastitoj memoriji. Stoga su zahtjevi za komutacijsko okruženje opušteni. Kao rezultat toga, broj procesora u višeračunarskim sistemima može doseći nekoliko hiljada, desetine hiljada, pa čak i stotine hiljada.

Vrhunske performanse najvećih sistema dijeljene memorije su niže od vršnih performansi najvećih distribuiranih memorijskih sistema; cijena sistema sa podijeljenom memorijom veća je od cijene sistema s distribuiranom memorijom sličnih performansi.

Homogeni multiračunari sa distribuiranom memorijom nazivaju se računarski sistemi sa masivno paralelnom arhitekturom(MPP sistemi) - vidi sliku 2.

Negdje između SMP sistema i MPP sistema su NUMA sistemi.


Klasterski sistemi (računarski klasteri).

Klaster sistemi(računarski klasteri) predstavljaju više jeftina opcija MPP sistemi. Računarski klaster se sastoji od kolekcije personalnih računara ili radnih stanica) ujedinjenih lokalnom mrežom kao komunikacionim medijem. Računarski klasteri će biti detaljnije razmotreni kasnije.

Rice. 2. Klasifikacija multiprocesora i multiračunara.

SMP sistemi

Svi procesori SMP sistema imaju simetričan pristup memoriji, tj. SMP sistemska memorija je UMA memorija. Pod simetrijom podrazumijevamo sljedeće: jednaka prava svih procesora na pristup memoriji; isto adresiranje za sve memorijske elemente; jednako vrijeme pristupa memoriji za sve sistemske procesore (bez uzimanja u obzir međusobnih zaključavanja).

Opća struktura SMP sistemi su prikazani na sl. 3. Komunikaciono okruženje SMP sistema je izgrađeno na osnovu neke sistemske magistrale velike brzine ili brzog prekidača. Osim identični procesori i zajednička memorija M, I/O uređaji su povezani na istu magistralu ili prekidač.

Očigledna jednostavnost SMP sistema krije značajne probleme, uglavnom vezane za RAM. Činjenica je da trenutno brzina RAM-a znatno zaostaje za brzinom procesora. Kako bi premostili ovaj jaz, moderni procesori su opremljeni brzom bafer memorijom (keš memorija). Brzina pristupa ovoj memoriji je nekoliko desetina puta veća od brzine pristupa glavnoj memoriji procesora. Međutim, prisustvo keš memorije krši princip jednakog pristupa bilo kojoj tački u memoriji, budući da su podaci koji se nalaze u keš memoriji jednog procesora nedostupni drugim procesorima. Stoga je nakon svake izmjene kopije varijable koja se nalazi u keš memoriji procesora potrebno izvršiti sinkronu modifikaciju same ove varijable koja se nalazi u glavnoj memoriji. U modernim SMP sistemima, koherenciju keša održava hardver ili operativni sistem.

Rice. 3. Opća struktura SMP sistema

Najpoznatiji SMP sistemi su SMP serveri i radne stanice kompanija IBM, HP, Compaq, Dell, Fujitsu itd. SMP sistem radi pod jednim operativnim sistemom (najčešće UNIX i sličnim).

Zbog ograničene propusnosti komunikacijskog okruženja, SMP sistemi se ne skaliraju dobro. Trenutno u stvarni sistemi ne koristi se više od nekoliko desetina procesora.

Dobro poznato neugodno svojstvo SMP sistema je da njihov trošak raste brže od performansi kako se povećava broj procesora u sistemu.

MPP sistemi.

MPP sistemi su izgrađeni od procesorskih čvorova koji sadrže procesor, lokalnu RAM jedinicu, komunikacijski procesor ili mrežni adapter, a ponekad i čvrste diskove i/ili druge ulazno/izlazne uređaje. U stvari, takvi moduli su računari sa punim funkcijama (vidi sliku 4.). Pristup bloku RAM-a ovog modula ima samo procesor istog modula. Moduli međusobno komuniciraju putem nekog komunikacijskog medija. Postoje dvije opcije za rad operativnog sistema na MPP sistemima. U jednoj verziji, puna operativni sistem funkcioniše samo uključeno kontrolni kompjuter, a svaki pojedinačni modul pokreće vrlo smanjenu verziju operativnog sistema, podržavajući samo osnovne funkcije kernela operativnog sistema. U drugoj opciji, svaki modul pokreće punopravni operativni sistem sličan UNIX-u. Imajte na umu da potreba da svaki procesor ima MPP operativni sistem (u ovom ili onom obliku) dozvoljava korištenje samo ograničene količine memorije za svaki procesor.

U poređenju sa SMP sistemima, arhitektura MPP sistema eliminiše i problem sukoba pristupa memoriji i problem koherentnosti keša.

Glavna prednost MPP sistema je dobra skalabilnost. Tako su superračunari serije CRAY T3E u mogućnosti da skaliraju do 2048 procesora. Gotovo svi rekordi performansi danas su postavljeni na MPP sistemima koji se sastoje od nekoliko hiljada procesora.

Rice. 4. Opća struktura MPP sistema.

S druge strane, nedostatak zajedničke memorije značajno smanjuje brzinu međuprocesorske komunikacije u MPP sistemima. Ova okolnost za MPP sisteme stavlja u prvi plan problem efikasnosti komunikacionog okruženja.

Osim toga, MPP sistemi zahtijevaju posebne tehnike programiranja za implementaciju razmjene podataka između procesora. Ovo objašnjava visoku cijenu softvera za MPP sisteme. Ovo takođe objašnjava zašto je pisanje efikasnih paralelnih programa za MPP sisteme teži zadatak od pisanja istih programa za SMP sisteme. Za širok spektar problema za koje su poznati dobro dokazani sekvencijalni algoritmi, nije moguće konstruisati efikasne paralelne algoritme za MPP sisteme.

NUMA sistemi.

Logično opšti pristup pristup podacima se takođe može obezbediti sa fizički distribuiranom memorijom. U ovom slučaju, udaljenost između različitih procesora i različitih memorijskih elemenata je, općenito govoreći, različita i trajanje pristupa različitih procesora različitim memorijskim elementima je različito. One. Memorija takvih sistema je NUMA memorija.

NUMA sistem se obično gradi na bazi homogenih procesorskih čvorova koji se sastoje od veliki broj procesora i memorijske jedinice. Moduli su povezani pomoću nekog medija velike brzine (vidi sliku 5). Podržan je jedan adresni prostor, hardverski je podržan pristup udaljenoj memoriji, tj. u memoriju drugih modula. U ovom slučaju, pristup lokalnoj memoriji je nekoliko puta brži nego udaljenoj memoriji. U suštini, NUMA sistem je MPP sistem koji koristi SMP čvorove kao zasebne računarske elemente.

Među NUMA sistemima razlikuju se sljedeće vrste sistema:

  • COMA sistemi, u kojima se samo lokalna keš memorija procesora koristi kao RAM (arhitektura cache-only memorije - COMA);
  • CC-NUMA sistemi, u kojima hardver osigurava koherentnost lokalne keš memorije različitih procesora (cache-coherent NUMA - CC-NUMA);
  • NCC-NUMA sistemi u kojima hardver ne podržava koherentnost lokalne keš memorije različitih procesora (non-cache coherent NUMA - NCC-NUMA). TO ovaj tip Ovo uključuje, na primjer, Cray T3E sistem.

Rice. 5. Opšta struktura NUMA sistema.

Logička dostupnost memorije u NUMA sistemima, s jedne strane, omogućava vam da radite sa jednim adresnim prostorom, a sa druge strane olakšava osiguravanje visoke skalabilnosti sistema. Ova tehnologija trenutno omogućava kreiranje sistema koji sadrže do nekoliko stotina procesora.

NUMA sisteme masovno proizvode mnogi kompjuterske kompanije kao multiprocesorski serveri i čvrsto drže liderstvo u klasi malih superračunara.

15.02.1995 V. Pyatenok

Jednoprocesorska arhitektura Modifikovana jednoprocesorska arhitektura SMP arhitektura SMP ruter arhitektura koju je predložio Wellfleet Pregled arhitekture Detalji obrade paketa Sažetak Literatura Ruteri su evoluirali koristeći tri različite arhitekture: jednoprocesorsku, modifikovanu jednoprocesorsku i simetričnu višeprocesorsku. Sva tri su dizajnirana da podrže veoma kritične aplikacije.

Ruteri su u svom razvoju koristili tri različite arhitekture: jednoprocesor, modificirani jednoprocesor i simetrični višeprocesor. Sva tri su dizajnirana da podrže veoma kritične aplikacije. Međutim, glavne zahtjeve ovih zahtjeva, a to su visoke, skalabilne performanse, kao i visok nivo dostupnosti, uključujući punu toleranciju grešaka i oporavak neoperativnih komponenti („hot standby“), nisu u mogućnosti da zadovolje u istoj mjeri . Članak govori o prednostima simetrične višeprocesorske arhitekture.

Jednoprocesorska arhitektura

Jednoprocesorska arhitektura koristi nekoliko modula mrežnog interfejsa - ovo omogućava dodatnu fleksibilnost u konfigurisanju čvorova. Moduli mrežnog interfejsa su povezani na jedan centralni procesor preko zajedničke sistemske magistrale. Ovaj pojedinačni procesor se brine za sve zadatke obrade. A ovi zadaci jesu savremenom nivou razvoj korporativne mreže složen i raznolik: filtriranje i prosljeđivanje paketa, neophodna modifikacija zaglavlja paketa, ažuriranja tabela usmjeravanja i mrežne adrese, tumačenje kontrolnih paketa usluge, odgovori na SNMP zahtjeve, generiranje kontrolnih paketa, pružanje drugih specifičnih usluga kao što je lažiranje, odnosno postavljanje posebnih filtera za postizanje poboljšanih sigurnosnih karakteristika i performansi mreže.

Ovo tradicionalno arhitektonsko rješenje je najlakše za implementaciju. Međutim, nije teško zamisliti ograničenja kojima će biti podložni performanse i dostupnost ovakvog sistema.

Zaista, sve pakete sa svih mrežnih interfejsa mora obraditi jedan centralni procesor. Kako se dodaju dodatni mrežni interfejsi, performanse se primjetno smanjuju. Osim toga, svaki paket mora putovati duž magistrale dva puta - od "izvornog" modula do procesora, a zatim od procesora do modula "prijemnika". Paket čini ovo putovanje čak i ako je namijenjen istom mrežnom sučelju iz kojeg je došao. Ovo takođe dovodi do značajnog pada performansi kako se povećava broj modula mrežnog interfejsa. Dakle, postoji klasično usko grlo.

Pouzdanost je takođe niska. Ako centralni procesor pokvari, funkcionalnost rutera u cjelini će biti poremećena. Osim toga, za takvu arhitekturu nemoguće je implementirati „vrući oporavak“ iz rezerve oštećenih elemenata sistema.

Moderne implementacije ove arhitekture rutera obično koriste prilično moćan RISC procesor i brzu prednju magistralu da bi se prevazišla ograničenja performansi. Ovo je čisto nasilan pokušaj da se riješi problem - povećana produktivnost za veliko početno ulaganje. Međutim, takve implementacije ne pružaju skaliranje performansi, a njihov nivo pouzdanosti je unaprijed određen pouzdanošću procesora.

Modificirana jednoprocesorska arhitektura

Da bi se prevazišli neki od gore navedenih nedostataka jednoprocesorske arhitekture, izmišljena je njena modifikacija. Osnovna arhitektura je očuvana: moduli interfejsa su povezani na jedan procesor preko zajedničke sistemske magistrale. Međutim, svaki od modula mrežnog sučelja uključuje poseban periferni procesor kako bi se barem djelimično rasteretio CPU.

Periferni procesori su, po pravilu, bit-slace ili univerzalni mikroprocesori koji filtriraju i usmjeravaju pakete namijenjene mrežnom sučelju istog modula iz kojeg su ušli u ruter. (Nažalost, mnogi su dostupni u trenutno implementacije to mogu postići samo za određene tipove paketa, kao što su Ethernet okviri, ali ne i IEEE 802.3.

Centralni procesor je i dalje odgovoran za one zadatke koji se ne mogu delegirati perifernom procesoru (uključujući usmjeravanje između modula, operacije na cijelom sistemu, administraciju i upravljanje). Stoga je optimizacija performansi postignuta na ovaj način prilično ograničena (da budemo pošteni, u nekim slučajevima, uz pravilan dizajn mreže, mogu se postići dobri rezultati). Istovremeno, uprkos blagom smanjenju broja paketa koji se prenose preko sistemske magistrale, i dalje ostaje veoma usko grlo.

Uključivanje perifernih procesora u arhitekturu ne poboljšava dostupnost rutera u cjelini.

SMP arhitektura

Simetrična višeprocesorska arhitektura nema nedostatke svojstvene gore navedenim arhitekturama. U ovom slučaju, računarska snaga je u potpunosti raspoređena na sve module mrežnog interfejsa.

Svaki modul mrežnog interfejsa ima svoj namenski procesorski modul, koji obavlja sve zadatke vezane za rutiranje. U ovom slučaju, sve tablice rutiranja, još jedna potrebne informacije, kao i softver koji implementira protokole, repliciraju se (tj. kopiraju) na svaki procesorski modul. Kada procesorski modul primi informacije o usmjeravanju, on ažurira svoju vlastitu tablicu i zatim širi ažuriranja na sve ostale module procesora.

Ova arhitektura, naravno, obezbeđuje gotovo linearnu (ako zanemarimo troškove replikacije i propusni opseg komunikacionog kanala između modula) skalabilnost. To, zauzvrat, znači mogućnost značajnog proširenja mreže bez primjetnog pada performansi. Ako je potrebno, samo trebate dodati dodatni modul mrežnog sučelja - uostalom, u ovoj arhitekturi jednostavno nema centralnog procesora.

Sve pakete obrađuju lokalni procesori. Eksterni (odnosno namijenjeni drugim modulima) paketi se prenose komunikacijskim kanalom između procesora samo jednom. To dovodi do značajnog smanjenja prometa unutar rutera.

Što se tiče dostupnosti, sistem neće otkazati ako pokvari jedan modul procesora. Ovaj kvar će utjecati samo na one segmente mreže koji su povezani na oštećeni procesorski modul. Osim toga, oštećeni modul se može zamijeniti ispravnim modulom bez isključivanja rutera i bez utjecaja na sve ostale module.

Proizvođači računara prepoznaju prednosti SMP arhitekture. U proteklih nekoliko godina pojavilo se mnogo sličnih platformi, i to samo ograničen broj standardni operativni sistemi koji su u potpunosti mogli da shvate prednosti hardvera su zaustavljali njihovo širenje. Drugi proizvođači, uključujući proizvođače aktivnih mrežnih uređaja, također koriste SMP arhitekturu kada kreiraju specijalizirane računarske uređaje.

U ostatku ovog odjeljka detaljnije ćemo pogledati tehničke detalje Wellfleetove SMP arhitekture rutera.

Arhitektura SMP rutera koju je predložio Wellfleet

Wellfleet, jedan od vodećih proizvođača rutera i mostova, zasigurno nije štedio troškove u evaluaciji i testiranju različitih arhitektura rutera koje podržavaju različite globalne i globalne protokole. lokalne mreže preko raznih fizički mediji i dizajniran za raznim uslovima saobraćaja. Rezultati ovih studija formulisani su u obliku liste zahteva uzetih u obzir prilikom projektovanja rutera namenjenih izgradnji poslovnih mrežnih okruženja za visoko kritične aplikacije. Predstavimo neke od ovih zahtjeva – onih koji, po našem mišljenju, opravdavaju upotrebu višeprocesorske arhitekture.

1. Potreba za skalabilnim performansama, visokim nivoom dostupnosti i fleksibilnošću konfiguracije diktira upotrebu SMP arhitekture.

2. Nivo zahtjeva za računarskom snagom višeprotokolnog rutiranja (posebno kada se koriste moderni protokoli za rutiranje kao što je TCP/IP OSPF) mogu zadovoljiti samo moderni, moćni 32-bitni mikroprocesori. Međutim, budući da rutiranje uključuje paralelno servisiranje velikog broja sličnih zahtjeva, zahtijeva brzo prebacivanje između različitih procesa, što zahtijeva izuzetno malo kašnjenje prebacivanja konteksta, kao i integriranu keš memoriju.

3. Za skladištenje softvera za podršku i kontrolu protokola, tabela rutiranja i adresa, statističkih i drugih informacija, potreban je dovoljno veliki memorijski kapacitet.

4. Da obezbedi maksimalna brzina prijenos između mreža i modula za obradu rutera, zahtijeva kontrolere mrežnog sučelja velike brzine i međuprocesorske komunikacijske kontrolere s integriranim mogućnostima direktan pristup u memoriju (DMA - Direktan pristup memoriji).

5. Minimiziranje kašnjenja zahtijeva 32-bitne kanale podataka visokog propusnog opsega i adrese za sve resurse.

6. Zahtevi dostupnosti uključuju distribuiranu računarsku snagu, redundantne podsisteme napajanja i, kao dodatnu, ali veoma važnu karakteristiku, redundantne međuprocesorske komunikacione kanale.

7. Treba doći širok raspon mrežna okruženja - od jednog udaljenog čvora ili mreže radne grupe do organizacije visokih performansi sa visoka dostupnost okosnica - zahtijeva korištenje skalabilne višeprocesorske arhitekture.

Pregled arhitekture

Slika 2 prikazuje šematski dijagram simetrične višeprocesorske arhitekture koja se koristi u svim Wellfleet modularnim ruterima. Postoje tri glavna arhitektonski element: komunikacijski moduli, procesorski moduli i međuprocesna komunikacija.

Komunikacijski moduli pružaju fizička mrežna sučelja koja omogućavaju povezivanje s lokalnim i globalne mreže gotovo bilo koje vrste. Svaki komunikacioni modul je direktno povezan sa svojim namenskim procesorskim modulom preko Intelligent Link Interface (ILI). Paketi koje prima komunikacioni modul prenose se do procesorskog modula koji je na njega povezan preko sopstvene direktne veze. Procesor određuje kojem su mrežnom sučelju ovi paketi namijenjeni i ili ih preusmjerava na drugo mrežno sučelje istog komunikacijskog modula, ili, preko međuprocesorske veze velike brzine, na drugi procesorski modul, koji će proslijediti paket na povezani komunikacijski modul .

Zaustavimo se detaljnije na strukturi svake od komponenti.

Procesorski modul uključuje:

Stvarna centralna procesorska jedinica;

Lokalna memorija, koja pohranjuje protokole i tablice rutiranja, tablice adresa i druge informacije koje lokalno koristi CPU;

Globalna memorija, koja igra ulogu bafera za "tranzitne" pakete podataka koji dolaze od komunikacijskog modula do modula procesora koji je na njega priključen ili od drugih procesorskih modula (naziva se globalna jer je vidljiva i dostupna svim procesorskim modulima);

OMA procesor, koji pruža mogućnost direktnog pristupa memoriji prilikom prijenosa paketa između globalnih memorijskih bafera smještenih u različitim procesorskim modulima;

Komunikacijski interfejs koji omogućava vezu s odgovarajućim komunikacijskim modulom;

Interni 32-bitni kanali podataka koji povezuju sve gore navedene resurse i dizajnirani su da obezbijede najviše moguće propusnost i minimalno vrijeme kašnjenja; postoji više kanala, što omogućava istovremeno izvršenje operacije između različitih računarskih uređaja (na primjer, CPU i DMA procesor) i osigurava da ne postoje uska grla koja usporavaju prosljeđivanje i obradu paketa.

Različiti modeli Wellfleet rutera koriste ACE (Advanced Communication Engine) procesorske module bazirane na Motorola 68020 ili 68030 procesorima ili module Fast Routing Engine (FRE) bazirane na MC68040.

Komunikacioni modul uključuje:

Konektori koji pružaju interfejs sa određenim mrežama (na primer, sinhroni, Ethernet, Token Ring FDDI);

Komunikacijski kontroleri koji prenose pakete između fizičkog mrežnog sučelja i globalne memorije koristeći DMA kanal; komunikacijski kontroleri su također dizajnirani za određenu vrstu mrežnog sučelja i sposobni su za prijenos paketa brzinom koja odgovara brzini žice;

Filteri ( dodatna prilika za komunikacione module za FDDI i Ethernet) koji obavljaju predfiltriranje dolaznih paketa, štedeći računarske resurse za smislenu obradu datoteka.

Standardni VMEbus se često koristi kao međuprocesorski komunikacioni kanal, pružajući ukupnu propusnost od 320 Mbit/s.

Stariji modeli koriste interfejs Parallel Packet Express (PPX) koji je razvio sam Wellfleet sa propusnim opsegom od 1 Gbit/s, koristeći četiri nezavisna, redundantna kanala podataka od 256 Mbit/s sa dinamičkom distribucijom opterećenja. Ovo pruža visoke ukupne performanse i omogućava vam da postignete nešto što nije dostupno u arhitekturi. jedna tačka neuspjeh. Svaki procesorski modul je povezan na sva četiri kanala i ima mogućnost odabira bilo kojeg od njih. Za svaki paket nasumično se bira određeni kanal, koji bi trebao osigurati ravnomjernu distribuciju saobraćaja između svih dostupnih kanala. Ako jedan od PPX kanala podataka postane nedostupan, preuzimanje se automatski distribuira među preostale.

Detalji obrade paketa

Ovisno o mreži, dolazne pakete prima jedan ili drugi komunikacijski kontroler. Ako je dodatni filter uključen u konfiguraciju komunikacijskog modula, neki paketi se odbacuju, a drugi se prihvaćaju. Primljeni paketi ih komunikacijski kontroler postavlja u globalni memorijski bafer procesorskog modula koji je direktno povezan s njim. Za brzi prijenos paketa, svaki komunikacijski kontroler uključuje kanal za direktni pristup memoriji.

Jednom u globalnoj memoriji, CPU preuzima pakete za rutiranje. CPU detektuje izlazni mrežni interfejs, modifikuje paket na odgovarajući način i vraća ga u globalnu memoriju. Zatim se izvodi jedna od dvije radnje:

1. Paket se preusmjerava na mrežni interfejs modula koji je direktno povezan s njim. Komunikacijski kontroler izlaznog mrežnog sučelja prima upute od CPU-a da odabere pakete iz globalne memorije i pošalje ih mreži.

2. Paket se prosljeđuje na mrežni interfejs drugog komunikacionog modula. DMA procesor prima instrukcije od CPU-a da pošalje pakete drugom procesorskom modulu i učitava ih preko međuprocesorske veze u globalnu memoriju procesorskog modula spojenog na izlazno mrežno sučelje. Komunikacioni kontroler izlaznog mrežnog interfejsa bira pakete iz globalne memorije i šalje ih mreži.

Odluke o rutiranju donosi CPU nezavisno od drugih procesorskih modula. Svaki procesorski modul održava nezavisnu bazu podataka o rutiranju i adresama u svojoj lokalnoj memoriji, koja se ažurira kada modul primi informacije o promjenama u tabelama usmjeravanja ili adresama (u ovom slučaju promjene se šalju svim ostalim procesorskim modulima).

Istovremeni rad komunikacijskog kontrolera, CPU-a i DMA procesora omogućava ukupne visoke performanse. (Naglašavamo da se sve ovo dešava u uređaju gdje je obrada paralelizirana kroz nekoliko višeprocesorskih modula). Na primjer, možete zamisliti situaciju u kojoj komunikacijski kontroler postavlja pakete u globalnu memoriju, dok CPU ažurira tabelu rutiranja u lokalnu memoriju, a DMA procesor postavlja paket u međuprocesorsku vezu.

Sažetak

Sama činjenica prodora kompjuterskih tehnologija razvijenih za jedno područje primjene u druge srodne nije nova. Međutim, svi konkretan primjer privlači pažnju specijalista. U arhitekturi rutera o kojoj se govori u ovom članku, pored ideje simetrične višeprocesne obrade, dizajnirane da obezbedi skalabilne performanse i visok nivo dostupnosti, koristi se i mehanizam dupliranja kanala podataka između procesora (za iste svrhe), kao i ideja replikacije podataka (ili replikacije), čija je upotreba tipičnija za industriju distribuiranog DBMS-a.

Književnost

Simetrična višeprocesorska arhitektura. Wellfleet Communications, 10/1993.

G.G. Baron, G.M. Ladyzhensky. "Tehnologija za replikaciju podataka u distribuiranim sistemima" , " Otvoreni sistemi“, proljeće 1994.

*) Wellfleet se prošle jeseni spojio sa drugim liderom u mrežnoj tehnologiji, SunOptics Communications. Spajanje je dovelo do stvaranja novog mrežnog giganta - Bay Networks (napomena urednika)



UMA – Uniform Memory Access

5. SMP arhitektura se koristi u serverima i PC računarima na bazi Intel procesori, AMD, Sun, IBM, HP

(+) : jednostavnost, “razrada” osnovni principi

(-) : vrši se sva razmjena između procesora i memorije. Po 1 sabirnica - usko grlo arhitekture - ograničenje performansi, skalabilnost.

primjer:

MPP – arhitektura: Masivno paralelno procesiranje

Masivno paralelni sistem. To je bilo zasnovano transputer– moćan univerzalni procesor, čija je posebnost bila prisutnost 4 veze (komunikacijskih kanala). Svaki link se sastoji od dva dijela koji služe za prijenos informacija u suprotnim smjerovima, a koristi se za međusobno povezivanje transputera i povezivanje eksternih uređaja. Arhitektura: mnogo čvorova, svaki čvor – OP+CPU

Klasična MPP arhitektura: svaki čvor je povezan sa 4 čvora putem veze od tačke do tačke.

primjer: Intel Peragon

Arhitektura klastera

Implementacija kombinacije mašina koja se pojavljuje kao jedinstvena celina za OS, sistemski softver, aplikativni programi korisnika.

Vrste klastera

  1. Sistemi visoke dostupnosti (HA).
  2. Sistemi za računarstvo visokih performansi (High Performance, HP, Compute clusters).
  3. Sistemi sa više navoja.
  4. Klasteri za balansiranje opterećenja. (raspodjela računskog opterećenja)

primjer: arhitektura klastera HIVE

5. NUMA arhitektura Non Uniform Memory Access - nejednaki pristup memoriji

Svaki procesor ima pristup svojoj i tuđoj memoriji (za pristup tuđoj memoriji koristi se komutatorska mreža ili čak postotak tuđeg čvora). Pristup memoriji drugog čvora može biti podržan hardverom: posebnim. kontrolori.



-: skupo, loša skalabilnost.

Sada: NUMA programski pristupa stranoj memoriji.

Računarski sistem NUMA se sastoji od skupa čvorova (sadrži jedan ili više procesora, koji pokreću jednu kopiju OS), koji su međusobno povezani prekidačem ili mrežom velike brzine.

Topologija veza podijeljena je na nekoliko nivoa. Svaki sloj pruža veze u grupama s malim brojem čvorova. Takve grupe se tretiraju kao pojedinačni čvorovi na višem nivou.

OP je fizički distribuiran, ali logično javan.

Ovisno o putu za pristup elementu podataka, vrijeme provedeno na ovoj operaciji može značajno varirati.

Primjeri specifičnih implementacija: cc-NUMA, SOMA, NUMA-Q

primjer: HP Integrity SuperDome

Pojednostavljeni blok dijagrami SMP (a) i MPP (b)

  1. Pet glavnih arhitektura aviona visokih performansi, njihova kratak opis, primjeri. Poređenje arhitekture klastera i NUMA.

U klasteru svaki procesor ima pristup samo svojoj memoriji; u NUMA-i ne samo svojoj, već i tuđoj (za pristup tuđoj memoriji koristi se komutatorska mreža i procesor tuđeg čvora).

  1. SMP arhitektura. Principi organizacije. Prednosti, nedostaci. Skalabilnost u "užem" i "širom" smislu. Obim, primjeri aviona na SMP.

SMP arhitektura (simetrično višeprocesiranje)- simetrična multiprocesorska arhitektura. Glavna karakteristika sistema sa SMP arhitekturom je prisustvo zajedničke fizičke memorije koju dele svi procesori.

1. SMP sistem je izgrađen na bazi brze sistemske magistrale, na čije su utore priključena tri tipa funkcionalnih blokova: procesori (CPU), RAM(OP), ulazno/izlazni podsistem (I/O).

2. Memorija je način za prijenos poruka između procesora.

3. Prilikom pristupa OP-u, svi računarski uređaji imaju jednaka prava i isto adresiranje za sve memorijske ćelije.



4. Poslednja okolnost vam omogućava da veoma efikasno razmenjujete podatke sa drugim računarskim uređajima.

5. SMP se koristi u serverima i radnim stanicama baziranim na Intel, AMD, Sun, IBM, HP procesorima.

6. SMP sistem radi pod jednim OS-om (bilo nalik UNIX-u ili Windows). OS automatski (tokom rada) distribuira procese među procesorima, ali ponekad je moguće eksplicitno povezivanje.

Principi organizacije:

SMP sistem se sastoji od nekoliko homogenih procesora i dijeljenog memorijskog niza.

Jedan od pristupa koji se često koristi u SMP arhitekturi za kreiranje skalabilnog, zajedničkog memorijskog sistema je homogeno organizovanje pristupa memoriji kroz organizaciju skalabilnog memorijsko-procesorskog kanala.

Svaka operacija pristupa memoriji se tumači kao transakcija na sabirnici procesor-memorija.

U SMP-u, svaki procesor ima barem jednu vlastitu keš memoriju (a moguće i nekoliko). Možemo reći da je SMP sistem jedan računar sa nekoliko jednakih procesora.

Koherenciju keša podržava hardver.

Sve ostalo je u jednoj kopiji: jedna memorija, jedan ulazno/izlazni podsistem, jedan operativni sistem.

Riječ "peer" znači da svaki procesor može učiniti sve što i bilo koji drugi procesor. Svaki procesor ima pristup svoj memoriji, može izvršiti bilo koju I/O operaciju i prekinuti druge procesore.

Skalabilnost:

U "užem" smislu: mogućnost povezivanja hardvera u određenim granicama (procesori, memorija, interfejsi).

U "širom" smislu: linearni rast performansi kako se hardver povećava.

Prednosti:

Jednostavnost i svestranost za programiranje. SMP arhitektura ne nameće ograničenja na model programiranja koji se koristi za kreiranje aplikacije: obično se koristi model paralelnog grananja, kada svi procesori rade potpuno nezavisno jedan od drugog - međutim, mogu se implementirati i modeli koji koriste međuprocesorsku komunikaciju. Korišćenje zajedničke memorije povećava brzinu takve razmene, a korisnik takođe ima pristup celokupnoj količini memorije odjednom.

Jednostavnost upotrebe. Tipično, SMP sistemi koriste sistem hlađenja zasnovan na klimatizaciji, što ih čini lakšim za održavanje.

Relativno niska cijena.

Prednost paralelizma. Implicitni prijenos podataka između keš memorija putem SMP hardvera je najbrži i najjeftiniji način komunikacije u bilo kojoj paralelnoj arhitekturi opće namjene. Stoga, ako postoji veliki broj kratkih transakcija (tipično, na primjer, za bankarske aplikacije), kada pristup zajedničkim podacima mora biti često sinhronizovan, SMP arhitektura je najbolji izbor; bilo koja druga arhitektura radi lošije.

SMP arhitektura je najsigurnija. To ne znači da je prijenos podataka između keša poželjan. Paralelni program će se uvijek izvršavati brže što su njegovi dijelovi manje u interakciji. Ali ako ovi dijelovi moraju često komunicirati, tada će program raditi brže na SMP-u.

Nedostaci:

SMP sistemi nisu dobro skalirani:

1. Sistemska magistrala ima ograničen (iako visok) propusni opseg i ograničen broj slotova, takozvano “usko grlo”.

2. U svakom trenutku, magistrala je sposobna da obradi samo jednu transakciju, zbog čega nastaju problemi rješavanja sukoba kada nekoliko procesora istovremeno pristupa istim područjima dijeljene fizičke memorije. Kada dođe do takvog sukoba zavisi od brzine komunikacije i broja računarskih elemenata.

Sve ovo sprečava povećanje performansi kako se povećava broj procesora i broj povezanih korisnika. U stvarnim sistemima ne može se efikasno koristiti više od 8-16-32 procesora.

Područje primjene: raditi sa bankarske aplikacije

primjer: Sun Fire T2000 arhitektura. UltraSPARC T1 arhitektura.

  1. SMP arhitektura. Poboljšanje i modifikacija SMP arhitekture. SMP u modernom višejezgarni procesori. Keš koherencija.

SMP arhitektura (simetrično višeprocesiranje)- simetrična multiprocesorska arhitektura. Glavna karakteristika sistema sa SMP arhitekturom je prisustvo zajedničke fizičke memorije koju dele svi procesori.

Poboljšanje i modifikacija SMP-a:

primjer: Arhitektura QBB serverskih sistema serije GS DEC

Da bi se povećale performanse magistrale, pokušano je ukloniti sabirnicu, ali ostaviti zajednički pristup memoriji --> tranzicija i zamjena dijeljene magistrale lokalni prekidač(ili sistem prekidača): svaki procesor u bilo kom trenutku se prebacuje sa 4 memorijske banke.

Svaki procenat radi sa nekom vrstom memorijske banke,

Prebacuje na drugu memorijsku banku

Počinje raditi s drugom memorijskom bankom.


Rice. 3.1.

Memorija služi, posebno, za prijenos poruka između procesora, dok svi računarski uređaji pri pristupu imaju jednaka prava i isto adresiranje za sve memorijske ćelije. Zbog toga se SMP arhitektura naziva simetrična. Ova posljednja okolnost vam omogućava da vrlo efikasno razmjenjujete podatke sa drugim računarskim uređajima. SMP sistem je izgrađen na bazi sistemske magistrale velike brzine (SGI PowerPath, Sun Gigaplane, DEC TurboLaser), na čije su slotove povezani funkcionalni blokovi sljedećih tipova: procesori (CPU), ulazno-izlazni podsistem ( I/O), itd. Za povezivanje sa I/O modulima koristite sporije sabirnice (PCI, VME64). Najpoznatiji SMP sistemi su SMP serveri i radne stanice zasnovane na Intel procesorima (IBM, HP, Compaq, Dell, ALR, Unisys, DG, Fujitsu, itd.) Ceo sistem radi pod jednim OS (obično nalik UNIX-u). , ali Windows NT je podržan za Intel platforme). OS automatski (tokom rada) distribuira procese među procesorima, ali ponekad je moguće eksplicitno povezivanje.

Glavne prednosti SMP sistema:

  • jednostavnost i svestranost za programiranje. SMP arhitektura ne nameće ograničenja na model programiranja koji se koristi za kreiranje aplikacije: tipično se koristi model paralelnog grananja, sa svim procesorima koji rade nezavisno jedan od drugog. Međutim, također je moguće implementirati modele koji koriste međuprocesorsku komunikaciju. Korišćenje zajedničke memorije povećava brzinu takve razmene, a korisnik takođe ima pristup celokupnoj količini memorije odjednom. Za SMP sisteme, postoje prilično efikasna sredstva automatske paralelizacije;
  • jednostavnost rada. Tipično, SMP sistemi koriste sistem klimatizacije zasnovan na vazdušno hlađen, što olakšava njihovo održavanje;
  • relativno niska cijena.

Nedostaci:

  • sistemi dijeljene memorije nisu dobro skalirani.

Ovo značajan nedostatak SMP sistemi nam ne dozvoljavaju da ih smatramo zaista obećavajućim. Uzrok loše skalabilnost je da je u ovom trenutku sabirnica sposobna obraditi samo jednu transakciju, zbog čega nastaju problemi rješavanja sukoba kada više procesora istovremeno pristupa istim područjima zajednička fizička memorija. Računski elementi počinju da ometaju jedni druge. Kada dođe do takvog sukoba zavisi od brzine komunikacije i broja računarskih elemenata. Trenutno može doći do sukoba sa 8-24 procesora. osim toga, sistemska sabirnica ima ograničenu (iako visoku) propusnost i ograničen broj slotova. Sve ovo očigledno sprečava povećanje performansi kako se povećava broj procesora i broj povezanih korisnika. U stvarnim sistemima ne može se koristiti više od 32 procesora. Za izgradnju skalabilnih sistema baziranih na SMP, koriste se klaster ili NUMA arhitekture. Pri radu sa SMP sistemima koriste tzv programska paradigma sa zajedničkom memorijom (paradigma zajedničke memorije).

MPP arhitektura

MPP (masivno paralelno procesiranje) – masovno paralelna arhitektura. Glavna karakteristika ove arhitekture je da je memorija fizički podijeljena. U ovom slučaju, sistem je izgrađen od odvojenih modula koji sadrže procesor, lokalnu banku operativne memorije (RAM), komunikacioni procesori(ruteri) ili mrežni adapteri , ponekad tvrdi diskovi i/ili drugi ulazno/izlazni uređaji. U stvari, takvi moduli su računari sa punim funkcijama (vidi sliku 3.2). Samo procesori (CPU) iz istog modula imaju pristup OP banci iz datog modula. Moduli su povezani posebnim komunikacionih kanala. Korisnik može odrediti logički broj procesora na koji je povezan i organizirati razmjena poruka sa drugim procesorima. Postoje dvije opcije za rad sa operativnim sistemom (OS) na mašinama sa MPP arhitekturom. U jednom kompletnom operativni sistem(OS) radi samo na kontrolnoj mašini (front-end); svaki pojedinačni modul pokreće znatno smanjenu verziju OS-a, osiguravajući rad samo grane paralelne aplikacije koja se nalazi u njemu. U drugoj opciji, svaki modul pokreće punopravni OS sličan UNIX-u, instaliran zasebno.


Rice. 3.2.

Glavna prednost sistema sa odvojenom memorijom je dobra skalabilnost: za razliku od SMP sistema, u mašinama sa odvojenom memorijom svaki procesor ima pristup samo svojoj lokalna memorija, te stoga nema potrebe za sinhronizacijom procesora sat po sat. Gotovo svi rekordi performansi danas se postavljaju na mašine upravo ove arhitekture, koje se sastoje od nekoliko hiljada procesora (

Najbolji članci na ovu temu