Мультипроцесор (от англ. multiprocessor, multiprocessing[1]) — це підклас багатопроцесорних комп'ютерних систем, де є декілька процесорів і один адресний простір, видимий для всіх процесорів. В таксономії Флінна мультипроцесори належать до класу (SM-MIMD)-машин. Мультипроцесор запускає одну копію ОС з одним набором таблиць, в том числі ті, які слідкують які сторінки пам'яті вільні.
Класифікація
За ролями, які відіграють процесори в мультипроцесорній системі, розрізняють: симетричні мультипроцесори (SMP) - всі процесори грають однакову роль і мають однаковий доступ до пам'яті і периферії, і (AMP) - процесори грають різні ролі або по-різному належать до периферичних пристроїв. Технологія AMP була лише перехідною в 60-х роках до того моменту, коли була оброблена технологія SMP.
По способу адресації пам'яті розрізняютьдекілька типів мультипроцесорів, серед яких: UMA (Uniform Memory Access), NUMA (Non Uniform Memory Access) і COMA (Cache Only Memory Access).
Поміж того мультипроцесори можуть бути гомогенного типу, коли всі процесори в системі однакові, або гетерогенного типу - коли процесори в системі різного типу.
Програмування
В програмуванні мультипроцесорів можна використовувати дві модели програмування: багатопотоковість, де на кожному процесорі запускається потік виконання, і вони обмінюються один з одним даними через спільні зміні в спільній пам'яті, або (більш складний) message passing, коли на кожному процесорі запускається один процес, і вони обмінюються даними один з одним шляхом обміну повідомленнями. Багатопотокове програмування використовується або явно (в компеляційних мовах програмування за допомогою системних API (наприклад в C/ за допомогою POSIX Threads, а також за допомогою boost::thread або std::thread в C++, починаючи з стандарта C++11), в інтерпретуємих мовах (Java и C#) за допомогою конструкцій мов), або неявно (декларативно за допомогою декларативів компілятора (OpenMP) або автоматично самим компілятором (High Performance Fortran)).
Історія
Мультипроцесорні машини (SMP/UMA) стали пропонуватися на ринку спочатку кінця 1980-х — на початку 1990-х років, спочатку як мінісуперкомп'ютер (наприклад, продукція компаній Alliant (англ.), Convex, Sequent, Encore (англ.) і Synapse), потім як сервера обробки даних, і швидко набрали популярність на ринку серверного оборудования. Першими мультипроцесорами з архітектурою x86 на базі процесорів Intel 80386 і Intel 486 стали сервера Compaq SystemPro, з'явившись на ринок в кінці 1989 — на початку 1990 року. Ріст пропозицій на ринку мультипроцесорних x86-серверів привела компанію Intel до створення стандарту MultiProcessor Specification, який став на довгі роки стандартом де-факто для SMP-машин з архітектурою x86.
Система | Процесор | Максимум процесорів |
---|---|---|
SGI Power Challenge | MIPS R10000 | 36 |
DEC AlphaServer 8400 | Alpha 21164 | 14 |
Sun E6000 | UltraSPARC II | 30 |
Sun E10000 | UltraSPARC II | 64 |
HP/Convex Exemplar | PA-8000 | 16 |
Cray T90 | Cray Vector | 32 |
Першими мультипроцесорами ccNUMA-типу були комп'ютер KSR1 компанії Kendall Square Research і Denelcor HEP компанії Denelcor в середині 1980-х років.
Система | Процесор | Процесорів на вузол | Максимум процесорів |
---|---|---|---|
Data General AV-20000 | Pentium | 4 | 32 |
Sequent NUMA-Q 2000 | Pentium | 4 | 32 |
SGI Origin 2000 | MIPS R10000 | 2 | 128 |
HP Exemplar X-Class | PA-8000 | 16 | 256 |
HP 9000 V-Class |
Були створені також мультипроцесори і без когерентності кешу (nccNUMA):
Система | Процесор | Процесорів на вузол | Максимум процесорів |
---|---|---|---|
Cray T3E | Alpha 21164 | 2 | 2048 |
BBN TC-2000 | Motorola MC88100 | 1 | 256 |
BBN TC-2000 | Motorola 604 | 2 | 512 |
Розвиток мінітюаризації в обчислювальній електроніці дозволило розміщувати декілька процесорів в одному корпусі або на одному кристалі (англ. chip-level multiprocessing, CMP), створюючи мульти-ядерні процесори. Це дозволяло підвищувати продуктивність процесорів шляхом простого збільшення кількості простих по дизайну обчислювальних ядер, замість традиційних спроб підвищення тактової частоти або ускладнення обчислювального конвеєра одноядерного процесора. При цьому багатоядерні процесори більш ефективно використовують пам'ять, працюють з багато-додатками, витрачають мало електроенергії і не розсіюють багато потужності, що идельно підходить для масштабування дата-центрів.
Починаючи приблизно з 2005 року всі процесори для споживчого ринку обчислювальної техніки випускаються в багатоядерному варіанті, тобто є по суті мініатюрними Мультіпроцесори (точніше SMP-машинами з UMA-доступом до пам'яті, з деякими застереженнями). Подальший розвиток цього напрямку призвело до появи багатоядерних мультипроцессоров - систем, де присутні кілька процесорів, а ці процесори в свою чергу містять по кілька ядер. Найбільш поширений варіант серверів в дата-центрах на 2016 рік - сервер з двома 8-ядерними процесорами класу Intel Xeon, Oracle SPARC або IBM POWER, які при цьому ще й апаратно підтримують одночасне виконання декількох потоків.
См. також
Література
- Charles Severance, Kevin Dowd. High Performance Computing (RISC Architectures, Optimization & Benchmarks), 2nd Edition. — O'Reilly Media, 1998. — 466 p. — ISBN 156592312X. (англ.)
- Современные операционные системы (пер. с англ.), Эндрю С. Таненбаум. Глава 8.1 Мультипроцессоры (англ. [ 16 травня 2017 у Wayback Machine.])
Примітки
- ↑ "1930–35; multi- + process + -ing 1" — Dictionary.com Unabridged: "multiprocessor [ 26 грудня 2015 у Wayback Machine.]"
Вікіпедія, Українська, Україна, книга, книги, бібліотека, стаття, читати, завантажити, безкоштовно, безкоштовно завантажити, mp3, відео, mp4, 3gp, jpg, jpeg, gif, png, малюнок, музика, пісня, фільм, книга, гра, ігри, мобільний, телефон, android, ios, apple, мобільний телефон, samsung, iphone, xiomi, xiaomi, redmi, honor, oppo, nokia, sonya, mi, ПК, web, Інтернет
Multiprocesor ot angl multiprocessor multiprocessing 1 ce pidklas bagatoprocesornih komp yuternih sistem de ye dekilka procesoriv i odin adresnij prostir vidimij dlya vsih procesoriv V taksonomiyi Flinna multiprocesori nalezhat do klasu SM MIMD mashin Multiprocesor zapuskaye odnu kopiyu OS z odnim naborom tablic v tom chisli ti yaki slidkuyut yaki storinki pam yati vilni KlasifikaciyaZa rolyami yaki vidigrayut procesori v multiprocesornij sistemi rozriznyayut simetrichni multiprocesori SMP vsi procesori grayut odnakovu rol i mayut odnakovij dostup do pam yati i periferiyi i AMP procesori grayut rizni roli abo po riznomu nalezhat do periferichnih pristroyiv Tehnologiya AMP bula lishe perehidnoyu v 60 h rokah do togo momentu koli bula obroblena tehnologiya SMP Po sposobu adresaciyi pam yati rozriznyayutdekilka tipiv multiprocesoriv sered yakih UMA Uniform Memory Access NUMA Non Uniform Memory Access i COMA Cache Only Memory Access Pomizh togo multiprocesori mozhut buti gomogennogo tipu koli vsi procesori v sistemi odnakovi abo geterogennogo tipu koli procesori v sistemi riznogo tipu ProgramuvannyaV programuvanni multiprocesoriv mozhna vikoristovuvati dvi modeli programuvannya bagatopotokovist de na kozhnomu procesori zapuskayetsya potik vikonannya i voni obminyuyutsya odin z odnim danimi cherez spilni zmini v spilnij pam yati abo bilsh skladnij message passing koli na kozhnomu procesori zapuskayetsya odin proces i voni obminyuyutsya danimi odin z odnim shlyahom obminu povidomlennyami Bagatopotokove programuvannya vikoristovuyetsya abo yavno v kompelyacijnih movah programuvannya za dopomogoyu sistemnih API napriklad v C C za dopomogoyu POSIX Threads a takozh za dopomogoyu boost thread abo std thread v C pochinayuchi z standarta C 11 v interpretuyemih movah Java i C za dopomogoyu konstrukcij mov abo neyavno deklarativno za dopomogoyu deklarativiv kompilyatora OpenMP abo avtomatichno samim kompilyatorom High Performance Fortran IstoriyaMultiprocesorni mashini SMP UMA stali proponuvatisya na rinku spochatku kincya 1980 h na pochatku 1990 h rokiv spochatku yak minisuperkomp yuter napriklad produkciya kompanij Alliant angl Convex Sequent Encore angl i Synapse potim yak servera obrobki danih i shvidko nabrali populyarnist na rinku servernogo oborudovaniya Pershimi multiprocesorami z arhitekturoyu x86 na bazi procesoriv Intel 80386 i Intel 486 stali servera Compaq SystemPro z yavivshis na rinok v kinci 1989 na pochatku 1990 roku Rist propozicij na rinku multiprocesornih x86 serveriv privela kompaniyu Intel do stvorennya standartu MultiProcessor Specification yakij stav na dovgi roki standartom de fakto dlya SMP mashin z arhitekturoyu x86 Prikladi SMP UMA sistem v 1998 roci Sistema Procesor Maksimum procesoriv SGI Power Challenge MIPS R10000 36 DEC AlphaServer 8400 Alpha 21164 14 Sun E6000 UltraSPARC II 30 Sun E10000 UltraSPARC II 64 HP Convex Exemplar PA 8000 16 Cray T90 Cray Vector 32 Pershimi multiprocesorami ccNUMA tipu buli komp yuter KSR1 kompaniyi Kendall Square Research i Denelcor HEP kompaniyi Denelcor v seredini 1980 h rokiv Prikladi ccNUMA sistem v 1998 roci Sistema Procesor Procesoriv na vuzol Maksimum procesoriv Data General AV 20000 Pentium 4 32 Sequent NUMA Q 2000 Pentium 4 32 SGI Origin 2000 MIPS R10000 2 128 HP Exemplar X Class PA 8000 16 256 HP 9000 V Class Buli stvoreni takozh multiprocesori i bez kogerentnosti keshu nccNUMA Prikladi nccNUMA sistem v 1998 roci Sistema Procesor Procesoriv na vuzol Maksimum procesoriv Cray T3E Alpha 21164 2 2048 BBN TC 2000 Motorola MC88100 1 256 BBN TC 2000 Motorola 604 2 512 Rozvitok minityuarizaciyi v obchislyuvalnij elektronici dozvolilo rozmishuvati dekilka procesoriv v odnomu korpusi abo na odnomu kristali angl chip level multiprocessing CMP stvoryuyuchi multi yaderni procesori Ce dozvolyalo pidvishuvati produktivnist procesoriv shlyahom prostogo zbilshennya kilkosti prostih po dizajnu obchislyuvalnih yader zamist tradicijnih sprob pidvishennya taktovoyi chastoti abo uskladnennya obchislyuvalnogo konveyera odnoyadernogo procesora Pri comu bagatoyaderni procesori bilsh efektivno vikoristovuyut pam yat pracyuyut z bagato dodatkami vitrachayut malo elektroenergiyi i ne rozsiyuyut bagato potuzhnosti sho idelno pidhodit dlya masshtabuvannya data centriv Pochinayuchi priblizno z 2005 roku vsi procesori dlya spozhivchogo rinku obchislyuvalnoyi tehniki vipuskayutsya v bagatoyadernomu varianti tobto ye po suti miniatyurnimi Multiprocesori tochnishe SMP mashinami z UMA dostupom do pam yati z deyakimi zasterezhennyami Podalshij rozvitok cogo napryamku prizvelo do poyavi bagatoyadernih multiprocessorov sistem de prisutni kilka procesoriv a ci procesori v svoyu chergu mistyat po kilka yader Najbilsh poshirenij variant serveriv v data centrah na 2016 rik server z dvoma 8 yadernimi procesorami klasu Intel Xeon Oracle SPARC abo IBM POWER yaki pri comu she j aparatno pidtrimuyut odnochasne vikonannya dekilkoh potokiv Sm takozhBagatoprocesornistLiteraturaCharles Severance Kevin Dowd High Performance Computing RISC Architectures Optimization amp Benchmarks 2nd Edition O Reilly Media 1998 466 p ISBN 156592312X angl Sovremennye operacionnye sistemy per s angl Endryu S Tanenbaum Glava 8 1 Multiprocessory angl 16 travnya 2017 u Wayback Machine Primitki 1930 35 multi process ing 1 Dictionary com Unabridged multiprocessor 26 grudnya 2015 u Wayback Machine