Процесори матрици- SIMD процесори- Част 2

- Секция Компютри

2.4. Масов паралелизъм

Под този термин трябва да се разбира броя на паралелно работещите процесори. Ограничаващ фактор за масовия паралелизъм се явява техническата възможност за разместване на максимален брой процесори, елементи на паметта и междуелементните съединения в едно устройство. Естествено, с развитието на технологията, се увеличава броя на паралелно работещите процесори. Така например, в началото на 70 години максималния брой процесори е 512-1024, докато 25 г. по-късно той достига до 256К. Броят на максимално работещите процесори се влияние и от предназначението на матричния процесор. Ако той е стационарен, броят на процесорите ще бъде на порядък или два по-голям отколкото случая при матричен процесор предназначен за мобилни цели, където други фактори, като малкото тегло, ниска консумация на енергия, малкия обем и т.н. са от първостепенно значение
 
Да припомним, че основното предназначение на матричния процесор е достигането на висока скорост на изчисление с използването на голям обем обикновени компоненти, работещи с невисока скорост, а не за сметка на използване на няколко скъпи много мощни устройства, работещи на пределната си скорост. Ето защо за достигане на максимален паралелизъм, структурата на процесорите в матричните процесори силно се опростява. За тази цел аритметичните устройства най-често се свеждат до едноразрядни, които е прието в случая да се наричат процесорни елементи (ПЕ). Естествено, разрядността на паметта и на шината памет - ПЕ също е един бит. Това означава, че изчисленията чрез ПЕ трябва да се изпълняват побитово.
На базата на разгледания по-долу пример ще покажем какви са предимствата при използването на ПЕ.
 
Пример. Дадени са два вектора - x и y с дължина n елемента. Всеки елемент представлява b (b n) разрядно число. Да се разработи устройство, на базата на еднобитов пълен суматор, което намира елементите на вектора z по формулата
 
zi=xi+yi,       i=1,2,...n.
 
Задачата може да се реши по три начина. Преди да се разгледат по отделно трите начина, ще посочим, че времето за работа на суматора е La, а времето за достъп до паметта е Lm.
 
Първи начин. Първото устройство е изградено на базата на един единствен еднобитов пълен суматор - фиг.8-6. Това е възможно най-простото устройство за сумиране на два вектора с дължина n
 


Фиг.8-6. Еднобитов суматор в качеството на градивен елемент за сумиране на два вектора с произволна дължина.
елемента, като всеки елемент съдържа b бита.
Най-напред се подават на входовете на суматора последователно битовете на първите елементи, после на вторите елементи и т.н. Изчислителният процес е строго последователен и времето T1 за получаване на крайния резултат е
Втори начин. На разположение са b на брой еднобитови суматора, свързани по начин показани на фиг.8-7. В това устройство паралелно се обработват битовете на елементите на векторите x и y, а отделните елементи - последователно. Процесът е известен като обработка паралелно по битове, последователно по думи. Строго погледнато процеса не е паралелен, защото последователно се предават преносите от суматор j към суматор j+1.


Фиг.8-7. Обединение на суматора във верига, за паралелно сумиране по разряди.
Понастоящем това е най-популярният начин за обработка на данните (в случая сумиране) в съвременните компютри. Данните се съхраняват в паметта по начин показан на фиг. 8-8.
Времето T2 за получаване на крайния резултат е


Фиг.8-8. Организация на паметта по думи.
Трети начин. Устройството включва отново b на брой пълни суматора, но те са аранжирани по начин показан на фиг.8-9. Така всеки еднобитов суматор се използва като независим блок, който осъществява последователно сумиране на битовете на всеки елемент от x и y. Преносът от едната стъпка трябва да се съхранява в регистър, за да се въведе в следващата стъпка. Понеже са налице b на брой суматора, всеки от който обработва независимо от другите битовете на различни думи ( в случая b на брой), то изчислителният процес е известен като обработка последователно по битове, паралелно по думи.


Фиг.8-9. Разрядно-секционен подход за обработка на вектори.
За да се реализира изчислителния процес по описания начин е необходимо данните да се съхраняват в паметта както е показано на фиг.8-10.
Времето T3 за получаване на крайния резултат е
където означава най-малкото цяло, по-голямо от частното 


Фиг.8-10. Организация на данните за разрядно-секционна обработка.
Нека сега да оценим получените резултати. Очевидно първият подход изисква най-голямо време за решаване на поставената задача. Ето защо той не намира (и никога не е намирал) практическо приложение, независимо от минимума апаратни средства. За да определим кой от двата останали начина е по добър, нека да намерим отношението T2/T3.
С цел да се опрости горния израз, да предположим, че b се нанася цяло число пъти в n. Тогава:
Полученият резултат дава възможност да се направят следните изводи:
а) Ако La<<Lmто двата подхода са равностойни. В началото на 50-те години, при наличието на феритна памет, е било в сила съотношението Очевидно това се явява най-вероятната причина за това, че компютрите са се развили като разрядно-паралелни, последователни по думи.
б) Ако La ~ Lm третият подход има определени предимства. Съотношението La<<Lmотразява съвременното състояние, когато логика и памет се изграждат по една и съща технология и най-често се намират на един и същ чип. Ако положим b=32 (най-често използвана ширина на думата понастоящем), то Т23=8.75. Този резултат е впечатляващ, защото производителността се увеличава почти 9 пъти само с промяна организацията на изчисление!
И така по-високата производителност, която се получава и възможността да се включат няколко десетки хиляди паралелно работещи ПЕ, за да се получи масов паралелизъм, определя интереса на изследователи и проектанти на SIMD компютрите към ПЕ.
 
2.5. Ъглово завъртане
 
Поразрядното изпълнение на командите на ПЕ води към усложнен формат на представяне на данните - фиг.8-10. Тъй като понастоящем преобладават последователните компютри, данните предимно се организират с отчитане на това обстоятелство.
Това означава, че данните постъпват във формат последователно по думи, паралелно по разряди, а работата на ПЕ изисква последователно по разряди, паралелно по думи. Следователно е необходимо да се преобразуват форматите на данните. Този процес се нарича ъглово завъртане. На фиг.8-11а е показана класическата организация на паметта. Побитовата организация на данните с паралелни думи, необходими за работа на побитовите асоциативни процесори е показана на фиг.8-11б. На фиг.8-11в е показан пример за препокриване на тези два вида организации за съхраняване на данните. Във всички матрични процесори указаната трансформация на данните се реализира по апаратен път.
 


Фиг.8-11. Двумерно ъглово завъртане:

а) по думи; б) по разряди; в) смесено (ортогонална памет).
 
2.6 Високи скорости на обмен на данните.
 
Основно препятствие за успешно използване на матричните процесори се явява ограничената скорост на обмен на данните с обикновените периферни устройства. Затова подобни процесори се оказват най-ефективни само в някои специални случаи, например при работа с бази данни, когато е необходима реакция в реално време, а цялата база от данни може изцяло да се размести в паметта на SIMD процесорa. Друг случай на успешно приложение е свързан със задачите за обработка на изображения и машинна графика, за които вход/изхода може да се осъществи с висока скорост, съизмерима със скоростта на обработка.
 
2.7. Определяне на производителността.
 
Едно от основните измерения на производителността на суперкомпютрите е пропускателната способност на паметта, т.е. количеството битове данни, предавани в процесора за 1 сек. Абсолютно ясно е, че обработката на данните е невъзможна до тогава докато те не попаднат в процесорите. С увеличаване скоростта на обмен между паметта и процесорите, може да се очаква нарастване на производителността като цяло. Ето защо някои автори считат, че ако трябва да се избере един прост параметър за производителността то най-добре това да бъде пропускателната способност на паметта.
 
3. Различия между матричните процесори.
 
Съществуват редица признаци, по които се различават матричните процесори. Тези особености определят различни възможности и следователно водят към проблемно-ориентиран подход при избора на процесора за решение на поставените задачи. Най-често принципните особености са свързани с:
 
· избор на метода на комутация на процесорите;
· конфигурацията на "памет- ПЕ";
· възможността за ъглово завъртване;
· управление на шината от основния процесор към матричния процесор.
 
Комутация на процесорите.
 
На този изключително важен въпрос за паралелните компютри е посветена тема 11. Там са разгледани различни комуникационни мрежи, техните характеристики, особености и са дадени примери, реализирани в различните компютри.
 
Конфигурация "памет - ПЕ".
 
Дву- и тримерните запомнящи устройства позволяват да се използват естествено организираните данни за съхранение в паметта. Например, данните от изображение могат да се поместят в двумерна памет с естествена матрична адресация A[j,k], което води към възможност за паралелна обработка на редове стълбове и дори на цялото изображение.
Конфигурацията на паметта по определен начин е свързана с конфигурацията на ПЕ. За голяма част от матричните системи с двумерна организация на матрицата ПЕ, структурата на паметта може да се охарактеризира като тримерна. В общия случай, понеже ПЕ се явява еднобитов, при едно обръщение към паметта на всеки процесор се предава един разряд. Тримерна памет е реализирана в компютрите GAPP, MPP, DAP, IUA, Blitzen.

В компютрите Staran и Aspro процесорите са разположени линейно, а паметта е двумерна. Комуникационната мрежа осигурява възможност за достъп към паметта и по двата начина - по битове и по думи - фиг.8-12.


Фиг.8-12. Линейна конфигурация на ПЕ
Компютърът CM-2 на Thinking Machine Corporation притежава значително по-широки възможности за настройки - шестмерна структура на процесорите, а паметта е седеммерна.
 
Устройство за ъглово завъртване.
 
В т. 2.4 и 2.5 беше показна същността и обосновано ъгловото завъртване на данните. В съответствие с изложеното по-горе, трябва да се подчертае, че ъгловото завъртване е съобразено с размерността на паметта. Функцията "ъглово завъртване" се реализира от специално устройство, включено между паметта и процесорната матрица. Естествено, това ще доведе до увеличено време за достъп до данните, а от там и до забавяне на изчисленията. В компютрите Staran и Aspro функцията "ъглово завъртане" се реализира изключително ефективно чрез използваната комуникационна мрежа, при обикновено обръщение към паметта -фиг.8-12.
 
Пирамидални архитектури.
 
Концепцията за използване на пирамидалните архитектури за обработка на изображението за първи път е била предложена от L. Uhr. Пирамидалните архитектури са предназначени за решаването на специални задачи, напр. за обработка на изображението, и са пример за тясната връзка между приложението (приложенията) и архитектурата на паралелния компютър [4]. При такъв подход на най-ниското ниво компютърът представлява двумерна матрица от процесори за груба обработка на изображението. В пирамидалната архитектура, процесорите от по-високите нива са свързани със своя част от процесорите на по-ниските нива. На фиг.8-13. е показано свързването на четири процесора от по-ниско ниво с един процесор от по-високо ниво.


Фиг. 8-13. Пример за пирамидален процесор.
Колкото по-високо се придвижваме в пирамидата толкова по слабо са синхронизирани операциите. На най-високото ниво в пирамидата често се оказва компютър от тип MIMD.
 
Например, в проекта IUA (Image Understanding Array) на Масачузетския технологичен институт, на най-ниското ниво се намира паралелен ассоциативен процесор CAAPP (Content Addressed Array Parallel Processor). Той представлява матрица от 512х512 едноразрядни процесори. Тази матрица е предназначена за изпълнение на операции над изображения на ниво пиксели. На следващото ниво също се намира асоциативен процесор ICAP (Intermediate Communications and Associative Processor). Той е матрица с размери 64х64 16-разредни процесори, работещи под синхронно или асинхронно управление от тип MIMD. На най-високото ниво на пирамидата се намира матричен процесор за символна обработка SPA (Symbolic Processing Array), представляващ 64, 32 разрядни процесора, работещи в многопроцесорен режим, който е способен да изпълнява LISP програми. Тази система е способна да изпълнява изчисления, представляващи въвеждане, формиране на хипотеза и верификация, анализ на неопределеност и моделна обработка.

Съдържание:

Процесори матрици- SIMD процесори- Част 1

Процесори матрици- SIMD процесори- Част 2

 






Коментирай свободно: