Symetrie procesorůEdit
Ve víceprocesorovém systému mohou být všechny procesory rovnocenné nebo mohou být některé vyhrazeny pro speciální účely. O symetrii (nebo její absenci) v daném systému rozhoduje kombinace hardwarových a softwarových aspektů návrhu operačního systému. Hardwarová nebo softwarová hlediska mohou například vyžadovat, aby na všechna hardwarová přerušení reagoval pouze jeden konkrétní procesor, zatímco veškerá ostatní práce v systému může být mezi procesory rozdělena rovnoměrně; nebo může být provádění kódu v režimu jádra omezeno pouze na jeden konkrétní procesor, zatímco kód v uživatelském režimu může být prováděn v libovolné kombinaci procesorů. Víceprocesorové systémy se často snadněji navrhují, pokud jsou taková omezení zavedena, ale bývají méně efektivní než systémy, v nichž jsou využity všechny procesory.
Systémy, které se všemi procesory zacházejí stejně, se nazývají symetrické víceprocesorové systémy (SMP). V systémech, kde si všechny procesory nejsou rovny, mohou být systémové prostředky rozděleny různými způsoby, včetně asymetrického multiprocesingu (ASMP), multiprocesingu s nerovnoměrným přístupem do paměti (NUMA) a clusterového multiprocesingu.
Master/slave multiprocesorový systémUpravit
V master/slave multiprocesorovém systému řídí počítač master procesor a slave procesor(y) vykonávají přidělené úlohy. Procesory mohou být zcela odlišné z hlediska rychlosti a architektury. Některé (nebo všechny) procesory mohou mít společnou sběrnici, každý z nich může mít také soukromou sběrnici (pro soukromé zdroje), nebo mohou být izolovány s výjimkou společné komunikační cesty. Stejně tak mohou procesory sdílet společnou paměť RAM a/nebo mít soukromou paměť RAM, ke které ostatní procesory nemají přístup. Role master a slave se mohou u jednotlivých procesorů měnit.
Raným příkladem víceprocesorového systému master/slave je stolní počítač Tandy/Radio Shack TRS-80 Model 16, který byl uveden na trh v únoru 1982 a používal víceuživatelský/víceúlohový operační systém Xenix, verzi UNIXu od společnosti Microsoft (tzv. TRS-XENIX). Model 16 má tři mikroprocesory, 8bitový procesor Zilog Z80 s frekvencí 4 MHz, 16bitový procesor Motorola 68000 s frekvencí 6 MHz a procesor Intel 8021 v klávesnici. Při zavádění systému byl Z-80 hlavním procesorem a zaváděcí proces Xenix inicializoval podřízený 68000 a poté předal řízení 68000, načež si procesory vyměnily role a Z-80 se stal podřízeným procesorem, který byl zodpovědný za všechny I/O operace včetně disku, komunikace, tiskárny a sítě, stejně jako za klávesnici a integrovaný monitor, zatímco operační systém a aplikace běžely na procesoru 68000. Z-80 mohl být používán i k jiným úlohám.
Dřívější TRS-80 Model II, který byl uveden na trh v roce 1979, by mohl být také považován za víceprocesorový systém, protože měl jak procesor Z-80, tak mikroprocesor Intel 8021 v klávesnici. Díky 8021 se Model II stal prvním stolním počítačovým systémem se samostatnou odnímatelnou lehkou klávesnicí spojenou jediným tenkým ohebným drátem a pravděpodobně i první klávesnicí, která používala vyhrazený mikroprocesor, což jsou atributy, které o několik let později okopírovaly společnosti Apple a IBM.
Proudy instrukcí a datUpravit
Ve víceprocesorovém zpracování lze procesory použít k provádění jedné sekvence instrukcí ve více kontextech (single-instruction, multiple-data neboli SIMD, často se používá ve vektorovém zpracování), více sekvencí instrukcí v jednom kontextu (multiple-instruction, single-data nebo MISD, používá se pro redundanci v systémech zabezpečených proti selhání a někdy se používá k popisu pipelined procesorů nebo hyper-threadingu), nebo více sekvencí instrukcí ve více kontextech (multiple-instruction, multiple-data nebo MIMD).
Spojení procesorůEdit
Těsně spojený víceprocesorový systémEdit
Těsně spojené víceprocesorové systémy obsahují více procesorů, které jsou propojeny na úrovni sběrnice. Tyto procesory mohou mít přístup k centrální sdílené paměti (SMP nebo UMA) nebo se mohou podílet na paměťové hierarchii s místní i sdílenou pamětí (SM)(NUMA). Příkladem špičkového systému SMP je IBM p690 Regatta. Procesory Intel Xeon dominovaly trhu s víceprocesorovými počítači pro firmy a byly jedinou významnou volbou x86 až do uvedení řady procesorů AMD Opteron v roce 2004. Obě řady procesorů měly vlastní vestavěnou mezipaměť, ale poskytovaly přístup ke sdílené paměti; procesory Xeon prostřednictvím společného potrubí a procesory Opteron prostřednictvím nezávislých cest k systémové paměti RAM.
Čipové víceprocesorové počítače, známé také jako vícejádrové počítače, zahrnují více než jeden procesor umístěný na jednom čipu a lze je považovat za nejextrémnější formu těsně propojeného víceprocesorového zpracování. Mainframové systémy s více procesory jsou často těsně spřažené.
Volně spřažený víceprocesorový systémEdit
Volně spřažené víceprocesorové systémy (často označované jako clustery) jsou založeny na několika samostatných jedno- nebo dvouprocesorových komoditních počítačích propojených vysokorychlostním komunikačním systémem (běžný je gigabitový Ethernet). Příkladem volně spřaženého systému je linuxový cluster Beowulf.
Těsně spřažené systémy jsou výkonnější a fyzicky menší než volně spřažené systémy, ale v minulosti vyžadovaly větší počáteční investice a mohou se rychle znehodnotit; uzly ve volně spřaženém systému jsou obvykle levné komoditní počítače a po vyřazení z clusteru je lze recyklovat jako nezávislé stroje.
Důležitým faktorem je také spotřeba energie. Těsně spřažené systémy bývají mnohem energeticky účinnější než clustery. Je to proto, že v těsně spřažených systémech lze dosáhnout značné úspory tím, že komponenty jsou od počátku navrženy tak, aby spolupracovaly, zatímco volně spřažené systémy používají komponenty, které nebyly nutně určeny speciálně pro použití v takových systémech.
Volně spřažené systémy mají možnost provozovat různé operační systémy nebo verze OS na různých systémech.