ПредишенСледващото

Мултипроцесор и multicomputer система

В момента тенденцията в развитието на микропроцесори и системи, базирани на тях, насочени към повишаване и повишаване на производителността. Компютърни възможности на всяка система достигат до най-високата си производителност се дължи на два фактора:

използването на високоскоростни елементи и паралелно изпълнение на голям брой операции. Насоки, свързани с повишаване на ефективността на отделните микропроцесори, които обсъдихме в предишните глави, и в тази лекция ще се фокусират върху проблемите на паралелното за обработка на информация.

Има няколко възможности за класифициране на паралелни системи за обработка. Според -vidimomu, най-ранните и най-добре познат е класификацията на компютърна архитектура, предложен през 1966 г. от М. Flynn. Класификацията се базира на концепцията на потока, който е определен като последователност от елементи, команди и данни се обработват от процесора. Въз основа на броя на потоците от команди и потоци от данни са четири класа архитектури:

SISD (една инструкция поток / един поток на данни) - един поток инструкции и един поток данни. Този клас включва предимно класически последователни машини или друго машина тип фон Нойман. В такива машини, има само една нишка. Всички команди се обработват последователно една след друга и всяка команда започва с една операция с един поток данни. Без значение на факта, че увеличението на скоростта на обработка на команди и скоростта на операциите по процесорни аритметични да използвате конвейер. В това разбиране на този клас машина не е действително свързано с паралелни системи.

SIMD (една инструкция поток / множествена поток на данни) - един поток инструкции и многократно потока от данни. Що се отнася до един микропроцесор, този подход е приложен в MMX - и ССИ - разширения на съвременните микропроцесори. системи тип микропроцесорна SIMD се състоят от голям брой еднакви обработващи елементи. има свой собствен памет. Всички елементи за преработка в такава машина изпълняват една и съща програма. Това ви позволява да изпълнява една аритметична операция едновременно на много данни - elementamivektora. Очевидно е, че такава система е съставена от голям брой процесори, може да осигури значителни подобрения в производителността само върху тези задачи, решаването на които всички процесори могат да вършат същата работа.

MISD (multIPe инструкция поток / един поток на данни) - множествена инструкция поток и един поток данни. Определение предполага наличието в архитектурата на много процесори, които обработват по същия поток данни. Няколко изследователи са приписвани на този клас машина конвейер.

MIMD (multIPe инструкция поток / множествена поток на данни) - множествена инструкция поток и многократно потока от данни. Основният модел на изчисление в този случай е колекция от независими процеси, от време на време достъп до споделени данни. В тази система всеки процесорен елемент изпълнява своята програма съвсем независимо от други елементи на обработка. MIMD архитектура осигурява голяма гъвкавост: с адекватна подкрепа от хардуер и софтуер, MIMD може да работи като система за един потребител, осигуряване на обработка с висока производителност на данни за една приложни задачи, като например мулти-програма машина, която изпълнява множество задачи в паралел, и като някаква комбинация от тези възможности. В допълнение, архитектурата MIMD могат да се възползват напълно от съвременната микропроцесорна технология на базата на задълбочен анализ на отношенията на цена / производителност. Всъщност, почти всички модерни многопроцесорни системи са изградени на същата микропроцесор, който може да се намери в персонални компютри, работни станции и малки един процесор сървъри.

Както и всяка друга, по-горе класификация не е съвършен: има машини директно в него не се вписват, има и важни знаци, които не са включени в тази класификация. Помислете за класификация многопроцесорни и multicomputer системи, базирани на друга функция - степента на отделяне на изчислителни ресурси на системата.

В този случай, има следните 4 класове системи:

  • система с симетрична многопроцесорна (симетрична многопроцесорна), или SMP-система;
  • системи, базирани на неравномерно технология достъп до паметта (не-ООН достъп IForm памет), или NUMA система;
  • клъстери;
  • компютри, масово паралелни системи (масивната паралелна процесор) или МРР-система.

Най-високото ниво на интеграция на ресурси разполага със система с многопроцесорни системи, или SMP-система (фиг. 13.1).

В тази архитектура, всички процесори имат равен достъп до цялото пространство на паметта и I / O. Ето защо, ОМП - архитектура се нарича симетрична. Тя има допирни точки за достъп до I / O и кеша на система за контрол на ОП, системен софтуер, и така нататък. Н. са изработени по такъв начин, че да се гарантира последователен достъп до споделени ресурси. Подходящи заключващи механизми, предвидени в интерфейса на автобус и компоненти на операционната система, както и в изграждането на кеша.

Знайте, Intuit, лекция, многопроцесорни и multicomputer система


Фиг. 13.1. симетрична мултипроцесорна система

От гледна точка на приложни задачи, SMP-система е компютър с едно-единствено изчислителни ресурси, пропорционални на броя на процесорите. Паралелното предоставена от инсталиран на един от процесорите на операционната система. Цялата система работи на една операционна система (обикновено UNIX-подобна, но за Intel-поддържаните платформи Windows NT).

OS автоматично в процеса на разпределяне на процесите на процесорни ядра. оптимизиране на използването на ресурсите. Ядра се използват еднакво и приложенията могат да работят в паралел на целия набор от ядра. Така се постига максимална ефективност на системата. Важно е, че приложенията за синхронизиране вместо сложни механизми и функции стандарт операционна система Interprocess комуникация протокол се използват. Така, че е по-лесно за изпълнение на проекти паралелното програма потоци. Общо за набор от основни OS ви позволява да използвате инструмента за услуга за събиране на статистически, общи за всички архитектури. Съответно, може да помогне за отстраняване на грешки и оптимизиране на приложения на етапа на проектиране или мащабиране за други форми на многопроцесорна.

Като цяло, приложението. писмено за система с един процесор, не изисква промяна в неговото прехвърляне в многопроцесорни среда. Въпреки това, за оптимална производителност на работа с програми или части от него са пренаписани, специално за използване в многопроцесорни среда.

Сравнително малък брой процесори в такива машини позволява да има един централизиран споделена памет и съчетават процесори и памет с помощта на автобус.

Ограничаващ фактор в такива системи е капацитетът на магистрала, която води до лошо мащабиране. Причината за това е, че по всяко време на гумата може да обработи само една сделка, при възникване на проблеми за разрешаване на конфликти по време на работа на множество процесори за същите общи области на физическата памет. Изчислителни елементи започват да си пречат взаимно. Когато се появи такъв конфликт. Това зависи от скоростта на комуникация, както и броя на компютърни елементи. В допълнение, системната шина е с ограничен брой слотове. Всичко това очевидно не позволява увеличаване на производителността чрез увеличаване на броя на процесорите. не повече от 32 процесори могат да бъдат експлоатирани в реални системи.

В съвременните микропроцесори подкрепи изграждането на многопроцесорни системи се полага при изпълнението на хардуер MP, което прави многопроцесорни системи е сравнително евтин.

Така че, за да се позволи работа на комън рейл микропроцесор всеки Intel, като се започне с Pentium Pro е вградена поддръжка за двуцифрен идентификатор на процесора - APIC (Advanced Programmable прекъсват контролер). По подразбиране CPU с най-висок ID номер става процесор обувка. Това улеснява идентифицирането на трансфер на данни арбитража на в SMP-система. Такива средства видяхме в MP Power4, където подкрепа хардуер ниво създаване на чип модул MCM на микропроцесора 4, включваща множество ядра 8.

Днес, ОМП се използва широко в многопроцесорни суперкомпютри и сървърни приложения. Все пак, ако имате нужда от детерминирана изпълнение на програми в реално време, като например, когато предлагат възможности за обработка на мултимедия sugubosimmetrichnoy данни са много ограничени. А ситуация може да възникне, когато приложения, работещи на различни ядра, се отнасят за една и съща операционна система ресурс. В този случай ще получите достъп само едно от ядрата.

Други ще бъдат празни, докато освобождаването на критичната област.

Естествено, това значително намалява производителността на приложения в реално време.

Изчерпване на системи SMP-достъп за изпълнение системна шина, когато голям брой процесори към едно общо пространство на паметта и фундаментални ограничения автобус технология са довели до възпиране на производителност растеж SMP системи. В момента този проблем има две решения. Първият - подмяна на системната шина, за да превключите на висока производителност. с едновременно без блокиране на достъпа до различни места на паметта. Второто решение предлага NUMA технология.

Знайте, Intuit, лекция, многопроцесорни и multicomputer система


Фиг. 13.2. Система изградена върху технология, за да нехомогенни ступа памет

Когато се използва най-често изпълнение сега е сс-NUMA (cache- последователен NUMA - неравномерно достъп до паметта с съвпадение съдържание кеш) кеш памет условие други компоненти данни.

Обикновено, цялата система работи на една операционна система, както и в пазарите на ценни книжа. Има и опции за динамична система за разделяне, когато отделните сектори на системата се изпълняват различни операционни системи.

Доста дълго време, за да получите достъп до RAM в сравнение със съседните възли с достъпа до нейните възли ОП Numa системи в момента прави такова използване не е съвсем оптимално.

Така че пълната функционалност на SMP-sistemNUMA компютри днес не притежават. Въпреки това, сред системите за общо предназначение, Нума-системи са едни от най-висока мащабируемост и по този начин изпълнението. В момента максималният брой процесори в я-система на сс-Numa може да надвишава 1000 (много OrigIN3000). Един от най-продуктивните суперкомпютри - Тера 10 - е с капацитет от 60 и се състои от Tflops SMP -uzlov 544, всеки от които е от 8 до 16 2 Itanium процесори.

Следващото ниво в йерархията на паралелни системи са сложни, и се състои от отделни машини, но само частично споделя някои ресурси. Ние говорим за клъстери.

Подкрепете проекта - споделете линка, благодаря!