ProcessorsymmetrieEdit

In een multiprocessingsysteem kunnen alle CPU’s gelijk zijn, of kunnen sommige zijn gereserveerd voor speciale doeleinden. Een combinatie van hardware en besturingssysteem software ontwerp overwegingen bepalen de symmetrie (of het gebrek daaraan) in een bepaald systeem. Overwegingen met betrekking tot hardware of software kunnen bijvoorbeeld vereisen dat slechts één bepaalde CPU reageert op alle hardware-interrupts, terwijl al het andere werk in het systeem gelijkelijk over CPU’s kan worden verdeeld; of de uitvoering van kernel-mode code kan worden beperkt tot slechts één bepaalde CPU, terwijl gebruikers-mode code kan worden uitgevoerd in elke combinatie van processoren. Multiprocessing-systemen zijn vaak gemakkelijker te ontwerpen als dergelijke beperkingen worden opgelegd, maar zij hebben de neiging minder efficiënt te zijn dan systemen waarin alle CPU’s worden gebruikt.

Systemen waarin alle CPU’s gelijk worden behandeld, worden symmetrische multiprocessing-systemen (SMP) genoemd. In systemen waarin alle CPU’s niet gelijk zijn, kunnen de systeembronnen op een aantal manieren worden verdeeld, waaronder asymmetrische multiprocessing (ASMP), non-uniform memory access (NUMA) multiprocessing, en geclusterde multiprocessing.

Master/slave multiprocessor systeemEdit

In een master/slave multiprocessor systeem heeft de master CPU de controle over de computer en voert de slave CPU(‘s) toegewezen taken uit. De CPU’s kunnen totaal verschillend zijn qua snelheid en architectuur. Sommige (of alle) CPU’s kunnen een gemeenschappelijke bus hebben, elk kan ook een eigen bus hebben (voor eigen bronnen), of zij kunnen geïsoleerd zijn met uitzondering van een gemeenschappelijk communicatiepad. Evenzo kunnen de CPU’s gemeenschappelijk RAM delen en/of privé RAM hebben waartoe de andere processor(s) geen toegang heeft (hebben). De rol van master en slave kan per CPU verschillen.

Een vroeg voorbeeld van een master/slave multiprocessor systeem is de Tandy/Radio Shack TRS-80 Model 16 desktop computer die in februari 1982 uitkwam en draaide op het multi-user/multi-tasking Xenix besturingssysteem, Microsofts versie van UNIX (genaamd TRS-XENIX). Het Model 16 heeft 3 microprocessoren, een 8-bit Zilog Z80 CPU met een snelheid van 4MHz, een 16-bit Motorola 68000 CPU met een snelheid van 6MHz en een Intel 8021 in het toetsenbord. Bij het opstarten van het systeem was de Z-80 de master en het Xenix opstartproces initialiseerde de slaaf 68000, waarna de besturing werd overgedragen aan de 68000, waarna de CPU’s van rol wisselden en de Z-80 een slaafprocessor werd die verantwoordelijk was voor alle I/O operaties, waaronder schijf, communicatie, printer en netwerk, en ook het toetsenbord en de geïntegreerde monitor, terwijl het besturingssysteem en de toepassingen op de 68000 CPU draaiden. De Z-80 kon worden gebruikt voor andere taken.

Het eerdere TRS-80 Model II, dat in 1979 uitkwam, kon ook worden beschouwd als een multiprocessor systeem, omdat het zowel een Z-80 CPU als een Intel 8021 microprocessor in het toetsenbord had. De 8021 maakte van de Model II het eerste desktop computersysteem met een afzonderlijk afneembaar lichtgewicht toetsenbord verbonden met een enkele dunne flexibele draad, en waarschijnlijk het eerste toetsenbord dat gebruik maakte van een eigen microprocessor, beide eigenschappen die jaren later zouden worden gekopieerd door Apple en IBM.

Instructie- en datastromenEdit

In multiprocessing kunnen de processoren worden gebruikt om een enkele sequentie van instructies in meerdere contexten uit te voeren (single-instruction, multiple-data of SIMD, vaak gebruikt in vector processing), meerdere reeksen instructies in een enkele context (multiple-instruction, single-data of MISD, gebruikt voor redundantie in fail-safe systemen en soms toegepast om pijplijngestuurde processoren of hyper-threading te beschrijven), of meerdere reeksen instructies in meerdere contexten (multiple-instruction, multiple-data of MIMD).

ProcessorkoppelingEdit

Nauwgekoppeld multiprocessorsysteemEdit

Nauwgekoppelde multiprocessorsystemen bevatten meerdere CPU’s die op busniveau met elkaar zijn verbonden. Deze CPU’s kunnen toegang hebben tot een centraal gedeeld geheugen (SMP of UMA), of kunnen deelnemen aan een geheugenhiërarchie met zowel lokaal als gedeeld geheugen (SM)(NUMA). De IBM p690 Regatta is een voorbeeld van een high-end SMP-systeem. Intel Xeon-processoren domineerden de multiprocessormarkt voor zakelijke pc’s en waren de enige belangrijke x86-optie totdat in 2004 de Opteron-processorreeks van AMD op de markt kwam. Beide reeksen processoren hadden hun eigen cache aan boord, maar boden toegang tot gedeeld geheugen; de Xeon-processoren via een gemeenschappelijke pijp en de Opteron-processoren via onafhankelijke paden naar het systeem-RAM.

Chip-multiprocessoren, ook bekend als multi-core computing, omvatten meer dan één processor op een enkele chip en kunnen worden beschouwd als de meest extreme vorm van strak gekoppelde multiprocessing. Mainframesystemen met meerdere processoren zijn vaak strak gekoppeld.

Losjes gekoppelde multiprocessorsysteemEdit

Main article: shared nothing architecture

Losjes gekoppelde multiprocessorsystemen (vaak clusters genoemd) zijn gebaseerd op meerdere standalone commoditycomputers met één of twee processoren die onderling zijn verbonden via een snel communicatiesysteem (Gigabit Ethernet is gebruikelijk). Een Linux Beowulf-cluster is een voorbeeld van een losgekoppeld systeem.

Nauwgekoppelde systemen leveren betere prestaties en zijn fysiek kleiner dan losgekoppelde systemen, maar vergden historisch gezien grotere initiële investeringen en kunnen snel worden afgeschreven; nodes in een losgekoppeld systeem zijn gewoonlijk goedkope commodity-computers en kunnen als onafhankelijke machines worden gerecycled wanneer ze uit het cluster verdwijnen.

Het stroomverbruik is ook een punt van overweging. Strak gekoppelde systemen zijn doorgaans veel energiezuiniger dan clusters. Dit komt doordat bij strak gekoppelde systemen aanzienlijke besparingen kunnen worden gerealiseerd door componenten zo te ontwerpen dat zij vanaf het begin samenwerken, terwijl bij losjes gekoppelde systemen componenten worden gebruikt die niet noodzakelijkerwijs specifiek voor gebruik in dergelijke systemen waren bedoeld.

Losjes gekoppelde systemen hebben de mogelijkheid om verschillende besturingssystemen of besturingssysteemversies op verschillende systemen te draaien.

Geef een antwoord

Het e-mailadres wordt niet gepubliceerd.