Измерение производительности параллельных компьютеров с распределенной памятью
Розглянуто основні механізми вимірювання продуктивності паралельних комп’ютерів із розподіленою пам’яттю. Показано, що результати, отримані на де-факто стандартному тесті LINPACK, здебільшого мало пов’язані з ефективністю програм і застосувань. В результаті знову набули актуальності моделі та методи...
Збережено в:
| Опубліковано в: : | Кибернетика и системный анализ |
|---|---|
| Дата: | 2009 |
| Автор: | |
| Формат: | Стаття |
| Мова: | Російська |
| Опубліковано: |
Інститут кібернетики ім. В.М. Глушкова НАН України
2009
|
| Теми: | |
| Онлайн доступ: | https://nasplib.isofts.kiev.ua/handle/123456789/44488 |
| Теги: |
Додати тег
Немає тегів, Будьте першим, хто поставить тег для цього запису!
|
| Назва журналу: | Digital Library of Periodicals of National Academy of Sciences of Ukraine |
| Цитувати: | Измерение производительности параллельных компьютеров с распределенной памятью / Р.А. Ющенко // Кибернетика и системный анализ. — 2009. — № 6. — С. 106-117. — Бібліогр.: 16 назв. — рос. |
Репозитарії
Digital Library of Periodicals of National Academy of Sciences of Ukraine| _version_ | 1859591467018747904 |
|---|---|
| author | Ющенко, Р.А. |
| author_facet | Ющенко, Р.А. |
| citation_txt | Измерение производительности параллельных компьютеров с распределенной памятью / Р.А. Ющенко // Кибернетика и системный анализ. — 2009. — № 6. — С. 106-117. — Бібліогр.: 16 назв. — рос. |
| collection | DSpace DC |
| container_title | Кибернетика и системный анализ |
| description | Розглянуто основні механізми вимірювання продуктивності паралельних комп’ютерів із розподіленою пам’яттю. Показано, що результати, отримані на де-факто стандартному тесті LINPACK, здебільшого мало пов’язані з ефективністю програм і застосувань. В результаті знову набули актуальності моделі та методи макроконвеєрних обчислень, сформульовані В.М. Глушковим ще наприкінці 1970-х років Результати цих досліджень висвітлено з позицій сучасної архітектури кластерних комплексів.
The basic techniques for measuring the performance of distributed memory parallel computers are reviewed. The results obtained via de-facto standard LINPACK benchmark suite are shown to be weakly related to the efficiency of applied parallel programs. As a result, models and methods of macro-piping computations proposed by V.M. Glushkov in the late 1970s become topical again. These results are presented in the context of the modern architecture of cluster complexes.
|
| first_indexed | 2025-11-27T15:16:46Z |
| format | Article |
| fulltext |
ÓÄÊ 681.3
Ð. À. ÞÙÅÍÊÎ
ÈÇÌÅÐÅÍÈÅ ÏÐÎÈÇÂÎÄÈÒÅËÜÍÎÑÒÈ ÏÀÐÀËËÅËÜÍÛÕ
ÊÎÌÏÜÞÒÅÐÎÂ Ñ ÐÀÑÏÐÅÄÅËÅÍÍÎÉ ÏÀÌßÒÜÞ
Êëþ÷åâûå ñëîâà: ïàðàëëåëüíûå âû÷èñëåíèÿ, ïðîèçâîäèòåëüíîñòü, îïòèìèçàöèÿ,
êîììóíèêàöèîííûå çàòðàòû, êëàñòåðû, ñóïåðêîìïüþòåðû, âûñîêîïðîèçâîäè-
òåëüíûå âû÷èñëåíèÿ, îáðàáîòêà äàííûõ, MIMD, HPC.
ÂÂÅÄÅÍÈÅ
Ñóïåðêîìïüþòåðû èñïîëüçóþò äëÿ ðåøåíèÿ çàäà÷ â òàêîé ïîñòàíîâêå, îáúåìàõ
è äåòàëèçàöèè, ñ êîòîðûìè ïåðñîíàëüíûé êîìïüþòåð íå ìîæåò ñïðàâèòüñÿ
â ïðèíöèïå èç-çà îãðàíè÷åíèé ïàìÿòè è ïðîèçâîäèòåëüíîñòè. Ñêîðîñòü ñó-
ïåðêîìïüþòåðîâ ñóùåñòâåííî âîçðîñëà çà ïîñëåäíåå âðåìÿ è ïðîäîëæàåò ðàñòè
áûñòðûìè òåìïàìè. Õîòÿ òàêòîâàÿ ÷àñòîòà ïðîöåññîðîâ äîñòèãëà ôèçè÷åñêîãî
ïðåäåëà, ðàñïàðàëëåëèâàíèå àëãîðèòìîâ îòêðûëî âîçìîæíîñòè äëÿ äàëüíåéøåãî
óâåëè÷åíèÿ ïðîèçâîäèòåëüíîñòè. Òàêàÿ òåíäåíöèÿ â ðàâíîé ñòåïåíè çàòðîíóëà
ñóïåðêîìïüþòåðû ñ ìàññîâûì ïàðàëëåëèçìîì, êëàñòåðíûå êîìïëåêñû è ïåðñî-
íàëüíûå êîìïüþòåðû. Ïîÿâèëèñü ñóïåðêîìïüþòåðû, ïðîèçâîäèòåëüíîñòü êîòî-
ðûõ ïðåâûøàåò 1 ÏÔëîïñ.
Ïðèçíàííûé àâòîðèòåò â îáëàñòè ëèíåéíîé àëãåáðû è âûñîêîïðîèçâîäèòåëüíûõ
âû÷èñëåíèé Äæ. Äîíãàððà ïðèâåë ðÿä èíòåðåñíûõ ôàêòîâ.  ñðåäíåì êîìïüþòåð, ëè-
äèðóþùèé ïî ïðîèçâîäèòåëüíîñòè â ñïèñêå «Top-500», çà 6–8 ëåò çàíèìàåò â íåì ïî-
ñëåäíåå ìåñòî. Ñóïåðêîìïüþòåð, çàíèìàâøèé ïîñëåäíåå ìåñòî â ýòîì ñïèñêå, ÷åðåç
8–10 ëåò ïî ìîùíîñòè ñðàâíèâàåòñÿ ñ ïåðñîíàëüíûì êîìïüþòåðîì [1].
Ïîñêîëüêó ïîòðåáëÿåìàÿ ìîùíîñòü ïðîöåññîðà ïðîïîðöèîíàëüíà êóáó òàêòîâîé
÷àñòîòû, à õîðîøåå ðàñïàðàëëåëèâàíèå äàåò ëèíåéíîå óâåëè÷åíèå ñêîðîñòè, èñïîëü-
çîâàíèå áîëüøîãî êîëè÷åñòâà ïðîöåññîðîâ ñ ïîíèæåííîé òàêòîâîé ÷àñòîòîé ïîçâî-
ëÿåò çíà÷èòåëüíî óâåëè÷èòü ïðîèçâîäèòåëüíîñòü ïðè ìàëûõ ýíåðãåòè÷åñêèõ çàòðà-
òàõ. Òàê, êîìïàíèÿ Intel èìååò ýêñïåðèìåíòàëüíûé îáðàçåö ïðîöåññîðà, ñîäåðæàùåãî
80 ÿäåð, ïèêîâîé ïðîèçâîäèòåëüíîñòüþ â 1 ÒÔëîïñ è ïîòðåáëÿþùåãî âñåãî 67 Âò
ýëåêòðîýíåðãèè. Íî ìèð ïðîãðàììíîãî îáåñïå÷åíèÿ îêàçàëñÿ íå ãîòîâ ýêñïëóàòèðî-
âàòü ïàðàëëåëèçì, ïîñêîëüêó çà âðåìÿ èñïîëüçîâàíèÿ îáû÷íûõ êîìïüþòåðîâ íàêîï-
ëåí îãðîìíûé áàãàæ ãîòîâûõ ïîñëåäîâàòåëüíûõ ïðîãðàìì. Ôîðìàëüíûå ìåòîäû ðàñ-
ïàðàëëåëèâàíèÿ ïîñëåäîâàòåëüíûõ ïðîãðàìì íà ïðàêòèêå íå ïîçâîëÿþò ïîëó÷èòü ñó-
ùåñòâåííîãî óñêîðåíèÿ. Óñëîæíÿåò ñèòóàöèþ è ÷àñòàÿ ñìåíà ñëîæèâøèõñÿ
òåõíîëîãèé ïàðàëëåëüíîãî ïðîãðàììèðîâàíèÿ äëÿ ñóïåðêîìïüþòåðîâ, ïîýòîìó ïðî-
ãðàììû ÷àñòî ïðèõîäèòñÿ ïåðåïèñûâàòü. Îäíàêî êîìïüþòåðíûé ìèð óæå ñòàë ïàðàë-
ëåëüíûì è èíîãî ïóòè äîñòèæåíèÿ ìàêñèìàëüíîé ïðîèçâîäèòåëüíîñòè íåò.
Öåëü ñòàòüè — ðàññìîòðåòü âîïðîñû, ñâÿçàííûå ñ ïðîèçâîäèòåëüíîñòüþ ïà-
ðàëëåëüíûõ êîìïüþòåðîâ, âëèÿþùèå íà íåå ôàêòîðû, èñïîëüçóåìûå äëÿ åå
èçìåðåíèÿ èíñòðóìåíòû.
ÎÏÐÅÄÅËÅÍÈÅ ÏÐÎÈÇÂÎÄÈÒÅËÜÍÎÑÒÈ
Ïîä ïðîèçâîäèòåëüíîñòüþ êîìïüþòåðà (â òîì ÷èñëå ïàðàëëåëüíîãî) ïîíèìàåòñÿ
êîëè÷åñòâî (àðèôìåòè÷åñêèõ) îïåðàöèé â ñåêóíäó. Ïîä îïåðàöèÿìè ïðèíÿòî ïî-
íèìàòü êàê ñëîæåíèå, òàê è óìíîæåíèå. Òèï îïåðàíäîâ îïðåäåëÿåò åäèíèöó èç-
ìåðåíèÿ: ìèïñû — äëÿ öåëûõ ÷èñåë, ôëîïñû — äëÿ ÷èñåë ñ ïëàâàþùåé çàïÿ-
òîé1. Ñïîñîá èçìåðåíèÿ êîëè÷åñòâà îïåðàöèé îïðåäåëÿåò òèï ïðîèçâîäèòåëüíîñ-
106 ISSN 0023-1274. Êèáåðíåòèêà è ñèñòåìíûé àíàëèç, 2009, ¹ 6
1Äàëåå, åñëè íå óêàçàíî ñïåöèàëüíî, ïîäðàçóìåâàþòñÿ îïåðàíäû äâîéíîé òî÷íîñòè (double precision).
© Ð. À. Þùåíêî, 2009
òè. Ïîä ïèêîâîé (èäåàëüíîé) ïðîèçâîäèòåëüíîñòüþ ïîíèìàþò ìàêñèìàëüíóþ
òåîðåòè÷åñêè äîñòèæèìóþ ïðîèçâîäèòåëüíîñòü, èñõîäÿ èç ñïåöèôèêàöèè ïðîöåñ-
ñîðà ïðè óñëîâèè ìàêñèìàëüíîé çàãðóæåííîñòè, ìîìåíòàëüíîé ñêîðîñòè äîñòóïà
ê ïàìÿòè è îòñóòñòâèè ëþáûõ íàêëàäíûõ ðàñõîäîâ. Ïèêîâàÿ ïðîèçâîäèòåëüíîñòü
îäíîãî ïðîöåññîðà âû÷èñëÿåòñÿ êàê R F n kc cpeak � , ãäå Fc — òàêòîâàÿ ÷àñòîòà
ÿäðà, nc — êîëè÷åñòâî ÿäåð, k — ôèêñèðîâàííàÿ êîíñòàíòà, çàâèñÿùàÿ îò àðõè-
òåêòóðû ïðîöåññîðà. Ïèêîâàÿ ïðîèçâîäèòåëüíîñòü ïàðàëëåëüíîãî êîìïüþòåðà
âû÷èñëÿåòñÿ êàê ñóììà ïðîèçâîäèòåëüíîñòè åãî ïðîöåññîðîâ. Äàëåå äëÿ ïðîñòî-
òû ïðîöåññîð — ëþáîå óñòðîéñòâî, ãåíåðèðóþùåå ïîòîê èíñòðóêöèé (óçåë êëàñ-
òåðà, ïðîöåññîð, ÿäðî).
Ñðàâíèâàòü ïèêîâûå ïðîèçâîäèòåëüíîñòè íåêîððåêòíî, åñëè àðõèòåêòóðû
ñðàâíèâàåìûõ ïðîöåññîðîâ ðàçëè÷àþòñÿ (â àíãëèéñêîì æàðãîíå áûòóåò ñëîâî
machoflops, èðîíèçèðóþùåå íàä çàâûøåííûìè ïîêàçàòåëÿìè ïèêîâîé ïðîèçâîäè-
òåëüíîñòè). Íî äëÿ ïîçèöèîíèðîâàíèÿ êîìïüþòåðîâ íà ðûíêå íåîáõîäèì óíèôèöè-
ðîâàííûé èíäèêàòîð ïðîèçâîäèòåëüíîñòè. Ñòàíäàðòîì äå-ôàêòî ïðè ñðàâíåíèè
ïðîèçâîäèòåëüíîñòè êîìïüþòåðîâ ñ÷èòàþò ðåçóëüòàòû ïàêåòà LINPACK
Benchmark (äàëåå — òåñò LINPACK). Â îïåðàòèâíîé ïàìÿòè ïàêåò ãåíåðèðóåò ñèñ-
òåìó ëèíåéíûõ àëãåáðàè÷åñêèõ óðàâíåíèé (ÑËÀÓ) ñ ïëîòíîé ìàòðèöåé êîýôôèöè-
åíòîâ, çàïîëíåííóþ ïñåâäîñëó÷àéíûìè ÷èñëàìè, è ðåøàåò åå ìåòîäîì LU-ðàçëîæå-
íèÿ. Ýòîò àëãîðèòì èíòåíñèâíî èñïîëüçóåò ïðîöåññîð, îïåðàòèâíóþ ïàìÿòü è
êîììóíèêàöèîííûå êàíàëû, îñòàâàÿñü âåñüìà ýôôåêòèâíûì, ïîñêîëüêó íàãðóçêà íà
ïðîöåññîð ïðåîáëàäàåò íàä îñòàëüíûìè.
Îòìåòèì, ÷òî ãîâîðèòü î ïðèìåíåíèè ðåçóëüòàòîâ ëþáûõ òåñòîâûõ ïàêåòîâ
(â òîì ÷èñëå LINPACK), ïðåäíàçíà÷åííûõ äëÿ èçìåðåíèÿ «ðåàëüíîé» ïðîèçâîäè-
òåëüíîñòè, äëÿ èçó÷åíèÿ êîíêðåòíîé ïàðàëëåëüíîé ïðîãðàììû ìîæíî ëèøü ïîñëå
äîïîëíèòåëüíîãî èññëåäîâàíèÿ êîððåëÿöèîííîé çàâèñèìîñòè ìåæäó ðåçóëüòàòàìè
òåñòîâîãî ïàêåòà è ïðîèçâîäèòåëüíîñòüþ ïðîãðàììû. Ýòî ïîêàçàíî äàëåå äëÿ
îòíîøåíèÿ èçîýôôåêòèâíîñòè.
Äîñòè÷ü âûñîêîé ïðîèçâîäèòåëüíîñòè êîìïüþòåðà ìîæíî òîëüêî â èñêóññòâåííûõ
óñëîâèÿõ2, ïîýòîìó äëÿ ïàðàëëåëüíûõ ïðîãðàìì îáû÷íî ãîâîðÿò íå î ïðîèçâîäèòåëüíîñ-
òè, à îá ýôôåêòèâíîñòè. Äîñòèæåíèå âûñîêîé ýôôåêòèâíîñòè ïàðàëëåëüíîé ïðîãðàììû
íà÷èíàåòñÿ ñ îïòèìèçàöèè ïîñëåäîâàòåëüíîé ïðîãðàììû, âêëþ÷àþùåé ýêñïëóàòàöèþ
êýø-ïàìÿòè è âåêòîðíûõ îïåðàöèé ïðîöåññîðà. Îáû÷íî ýòó ðàáîòó ïåðåêëàäûâàþò íà
êîìïèëÿòîð. Ïî ðåçóëüòàòàì èññëåäîâàíèé, ïðîâåäåííûõ â ÌÃÓ, èñïîëüçîâàíèå êîìïè-
ëÿòîðà, îïòèìèçèðóþùåãî ïðîãðàììó ïîä êîíêðåòíóþ àðõèòåêòóðó, ìîæåò óâåëè÷èòü
ñêîðîñòü âû÷èñëåíèé íà ïîðÿ-
äîê, ïîçâîëÿÿ, òàêèì îáðàçîì,
ëó÷øå ýêñïëóàòèðîâàòü èìåþùå-
åñÿ «æåëåçî».
Èññëåäîâàíèÿ òàêæå ïîêà-
çàëè, ÷òî íàèáîëüøàÿ ýôôåêòèâ-
íîñòü äîñòèãàåòñÿ íà çàäà÷àõ,
â êîòîðûõ êîëè÷åñòâî àðèôìå-
òè÷åñêèõ îïåðàöèé çíà÷èòåëüíî
ïðåâûøàåò äîñòóï ê îïåðàòèâ-
íîé ïàìÿòè. Íà ðèñ. 1 óñëîâíî
ïîêàçàíû êðèâûå ñêîðîñòè
àðèôìåòè÷åñêèõ îïåðàöèé ïðî-
öåññîðà ïî ñðàâíåíèþ ñî ñêî-
ðîñòüþ äîñòóïà ê ïàìÿòè, è î÷å-
âèäíî, ÷òî ïîñëåäíÿÿ ðàñòåò
ISSN 0023-1274. Êèáåðíåòèêà è ñèñòåìíûé àíàëèç, 2009, ¹ 6 107
0.1
1
10
100
1000
1975 1980 1985 1990 1995 2000 2005
Ãîä
Ñ
ê
î
ð
î
ñ
òü
Ïðîöåññîð
Îïåðàòèâíàÿ ïàìÿòü
Ðèñ. 1
Ïðîöåññîð
Îïåðàòèâíàÿ ïàìÿòü
Ñ
ê
î
ð
î
ñò
ü
Ãîä
2 Íàïðèìåð, ðåøàÿ çàäà÷ó x a b� � , ìîæíî óâåëè÷èòü ïðîèçâîäèòåëüíîñòü, ïåðåïèñàâ âûðàæåíèå:
x a b� �1 1 . Òîãäà áóäåò çàãðóæåí íå òîëüêî ñóììàòîð, íî è óìíîæèòåëü, à ïðîöåññîð ñìîæåò
ðàñïàðàëëåëèòü âû÷èñëåíèå.
ìåäëåííåå. Îäíàêî ìíîãèå àëãîðèòìû ìîæíî îïòèìèçèðîâàòü äëÿ ýôôåêòèâíîãî èñ-
ïîëüçîâàíèÿ êýø-ïàìÿòè ïðîöåññîðà, íà ïîðÿäîê óâåëè÷èâ ñêîðîñòü âû÷èñëåíèé. Äëÿ
ìíîãèõ ìàòåìàòè÷åñêèõ çàäà÷ ñóùåñòâóþò ãîòîâûå áèáëèîòåêè. Íàïðèìåð, äëÿ îïåðà-
öèé ñ âåêòîðàìè è ìàòðèöàìè ïðèíÿò ñòàíäàðò äå-ôàêòî BLAS ñî ìíîæåñòâîì ðåàëè-
çàöèé. Îäíà èç ðåàëèçàöèé, ATLAS, ïðè ñáîðêå àâòîìàòè÷åñêè îïòèìèçèðóåòñÿ äëÿ
êîíêðåòíîé ïëàòôîðìû.
ÎÖÅÍÊÀ ÝÔÔÅÊÒÈÂÍÎÑÒÈ ÏÀÐÀËËÅËÜÍÛÕ ÏÐÎÃÐÀÌÌ
Ýôôåêòèâíîñòü ïàðàëëåëüíîé ïðîãðàììû ÷àñòî îöåíèâàþò, ñðàâíèâàÿ åå ñêî-
ðîñòü ñ ïîñëåäîâàòåëüíîé ëèáî ïàðàëëåëüíîé ïðîãðàììîé, íî âûïîëíÿþùåéñÿ
íà îäíîì ÿäðå. Òàêèì îáðàçîì, ìîæíî îöåíèòü ïåðñïåêòèâû ðàñïàðàëëåëèâàíèÿ,
à òàêæå îïòèìàëüíîå êîëè÷åñòâî ÿäåð.
Ïóñòü ïàðàëëåëüíàÿ ïðîãðàììà âûïîëíÿåòñÿ íà N ÿäðàõ çà âðåìÿ T N TN( ) � .
 ñëó÷àå èäåàëüíîãî ïàðàëëåëèçìà âðåìÿ ðåøåíèÿ ðàâíî T T NN � 1 / . Íî òàêîãî íà
ïðàêòèêå íåëüçÿ äîáèòüñÿ äàæå òîãäà, êîãäà ðåøàåìàÿ çàäà÷à íå èìååò îáìåíîâ
ìåæäó ÿäðàìè (â ëèòåðàòóðå äåêîìïîçèöèþ, íå èìåþùóþ îáìåíîâ ìåæäó ÿäðàìè,
íàçûâàþò òðèâèàëüíûì ïàðàëëåëèçìîì). Íàïðèìåð, êàæäûé îòäåëüíûé ïðîãîí ñî-
âåðøåííî íåçàâèñèì ïðè ìîäåëèðîâàíèè ìåòîäîì Ìîíòå-Êàðëî. Åñëè âûïîëíÿòü
êàæäûé ïðîãîí íà îòäåëüíîì ÿäðå, ìîæíî ïîëó÷èòü õîðîøåå âðåìÿ ðàñïàðàëëåëè-
âàíèÿ, íî îíî âñå ðàâíî áóäåò íå èäåàëüíûì, ïîñêîëüêó ðàçíûå ïðîãîíû ìîãóò
âûïîëíÿòüñÿ çà ðàçíîå âðåìÿ.
Äëÿ îöåíèâàíèÿ ýôôåêòà ðàñïàðàëëåëèâàíèÿ ðàññìàòðèâàþò ïîíÿòèÿ óñêîðå-
íèÿ ( ( ))S N è ýôôåêòèâíîñòè ( ( ))E N :
S N
T
TN
( ) �
1 ,
(1)
E N
S N
N
T
N TN
( )
( )
� �
1 .
(2)
Ýôôåêòèâíîñòü ìîæåò çíà÷èòåëüíî îãðàíè÷èòü ïîñëåäîâàòåëüíàÿ ÷àñòü ïðî-
ãðàììû, ò.å. îñòàþùàÿñÿ ïîñëåäîâàòåëüíîé ÷àñòü, ïîñêîëüêó ñ÷èòàþò, ÷òî âðåìÿ åå
âûïîëíåíèÿ íåñóùåñòâåííî ëèáî ðàñïàðàëëåëèâàòü åå «íåèíòåðåñíî». Íàïðèìåð,
ýòî ñëó÷àåòñÿ ïðè ðåøåíèè êîíå÷íî-ðàçíîñòíûõ è êîíå÷íî-ýëåìåíòíûõ çàäà÷, åñëè
âû÷èñëèòåëüíàÿ ðåøåòêà ãåíåðèðóåòñÿ ïîñëåäîâàòåëüíî, à ñàì ðàñ÷åò âûïîëíÿåòñÿ
ïàðàëëåëüíî. Åñëè ÷èñëî ÿäåð âåëèêî, òî âû÷èñëåíèÿ çàíèìàþò íàìíîãî ìåíüøå
âðåìåíè, ÷åì ãåíåðàöèÿ âû÷èñëèòåëüíîé ðåøåòêè.
Ñåðèÿ îòíîøåíèé è òåîðåì, ïðåäëîæåííûõ Àìäàëîì â 1967 ã. è âïîñëåäñòâèè
ñòàâøèõ èçâåñòíûìè êàê çàêîíû
Àìäàëà, óñòàíàâëèâàåò òåîðåòè-
÷åñêóþ âåðõíþþ ãðàíèöó ðàñïà-
ðàëëåëèâàíèÿ ïðè ôèêñèðîâàí-
íîé äîëå ïîñëåäîâàòåëüíûõ âû-
÷èñëåíèé:
S N
N
( ) �
�
�
1
1
�
�
,
(3)
ãäå � — äîëÿ ïîñëåäîâàòåëü-
íûõ âû÷èñëåíèé.
Íà ðèñ. 2 ïðèâåäåíà çàâè-
ñèìîñòü óñêîðåíèÿ (S) îò êîëè-
÷åñòâà ÿäåð ( )N ïðè ðàçëè÷íûõ
çíà÷åíèÿõ ôèêñèðîâàííîé
108 ISSN 0023-1274. Êèáåðíåòèêà è ñèñòåìíûé àíàëèç, 2009, ¹ 6
0
2
4
6
8
10
12
14
16
18
20
22
1 10 100 1000 10000 100000
Êîëè÷åñòâî ÿäåð, N
Ó
ñ
ê
î
ð
å
í
è
å
,
S
(N
)
?=50%
?=25%
?=10%
?=5%
Ðèñ. 2
Êîëè÷åñòâî ÿäåð, N
Ó
ñê
î
ð
åí
è
å,
S
N(
)
� � 50%
� � 25%
� � 10%
� � 5%
äîëè ïîñëåäîâàòåëüíûõ âû-
÷èñëåíèé ( )� , à íà ðèñ. 3 —
ýôôåêòèâíîñòè ( )Å îò êîëè-
÷åñòâà ÿäåð ( )N . Âåñüìà
ïåññèìèñòè÷íûì âûãëÿäèò òî,
÷òî, åñëè ïîñëåäîâàòåëüíàÿ äîëÿ
âû÷èñëåíèé ñîñòàâëÿåò âñåãî
5%, óæå íà 120 ÿäðàõ èìååì ýô-
ôåêòèâíîñòü ìåíåå 15%.
Íà ïðàêòèêå äîëÿ ïîñëå-
äîâàòåëüíûõ âû÷èñëåíèé
â ïðîãðàììå óìåíüøàåòñÿ
ñ ðîñòîì ðàçìåðîâ çàäà÷è ( )n .
Äëÿ ïîëó÷åíèÿ òðåáóåìîé ýô-
ôåêòèâíîñòè ìîæíî óâåëè-
÷èòü n , íàïðèìåð, ñäåëàâ ìî-
äåëü áîëåå äåòàëüíîé. Ýòîò
ïðèíöèï ïîëîæåí â îñíîâó çàêîíà Ãóñòàâñîíà–Áàðñèñà, ïðåäëîæåííîãî â 1988 ã.
Èñïîëüçóÿ ýòîò çàêîí, ìîæíî ïîäáèðàòü êîëè÷åñòâî ÿäåð èëè ðàçìåð çàäà÷è äëÿ
äîñòèæåíèÿ íóæíîé ýôôåêòèâíîñòè.
Ïóñòü s — äîëÿ âðåìåíè âûïîëíåíèÿ ïîñëåäîâàòåëüíîé ÷àñòè ïàðàëëåëüíîé
ïðîãðàììû,
s n
n
n
n
N
( )
( )
( )
( )
�
�
�
�
�
,
ãäå �( )n — äîëÿ ïàðàëëåëüíûõ âû÷èñëåíèé, �( )n — äîëÿ ïîñëåäîâàòåëüíûõ âû-
÷èñëåíèé. Òîãäà îöåíêà ìàñøòàáèðóåìîãî óñêîðåíèÿ Ãóñòàâñîíà–Áàðñèñà èìååò
âèä
S
T
T
s N s N N s
N
� � � � � � �
1 1 1( ) ( ) . (4)
Çàêîí Ãóñòàâñîíà–Áàðñèñà èñõîäèò èç òîãî, ÷òî äëÿ ëþáîãî ÷èñëà ÿäåð ìîæíî
ïîäîáðàòü çàäà÷ó äîñòàòî÷íî áîëüøîãî ðàçìåðà, ÷òîáû îíà âûïîëíÿëàñü ýôôåêòèâ-
íî. Îäíàêî íà ïðàêòèêå îöåíêè ÷àñòî ÷åðåñ÷óð îïòèìèñòè÷íû.
Àëüòåðíàòèâíîé êîíöåïöèåé ïàðàëëåëèçìà ñ÷èòàþò ïðèíöèï ìàêðîêîíâåéåð-
íûõ âû÷èñëåíèé, ïðåäëîæåííûé Â.Ì. Ãëóøêîâûì â 1978 ã. è èññëåäóåìûé ñîòðóä-
íèêàìè Èíñòèòóòà êèáåðíåòèêè â 1980-õ ãã. Ìàêðîêîíâåéåð — ìîäåëü ïàðàëëåëü-
íîãî êîìïüþòåðà ñ ðàñïðåäåëåííîé ïàìÿòüþ, â êîòîðîé ïðîöåññîðû ñîåäèíåíû
êîììóíèêàöèîííûìè êàíàëàìè. Êàæäîå âû÷èñëèòåëüíîå óñòðîéñòâî îáëàäàåò ñâî-
åé ëîêàëüíîé ïàìÿòüþ, à äàííûå ìåæäó óñòðîéñòâàìè ïåðåäàþòñÿ ïî êàíàëàì. Êðî-
ìå òîãî, êîíöåïöèÿ ïîäðàçóìåâàåò íàëè÷èå âõîäíîãî êàíàëà äëÿ èñõîäíûõ äàííûõ
è âûõîäíîãî — äëÿ ðåçóëüòàòîâ.
Ìîäåëü ìàêðîêîíâåéåðíûõ âû÷èñëåíèé âåñüìà òî÷íî îòðàæàåò ïðè÷èíû íèç-
êîé ïðîèçâîäèòåëüíîñòè òàêèõ ñèñòåì — íàêëàäíûå êîììóíèêàöèîííûå çàòðàòû.
Ïîä êîììóíèêàöèîííûìè çàòðàòàìè �( , )n N ïîäðàçóìåâàþò çàäåðæêè, ñâÿçàííûå
ñ ïåðåñûëêîé äàííûõ ïî êàíàëàì è ñèíõðîíèçàöèåé ïðîöåññîâ. Â çàâèñèìîñòè îò
ñïîñîáà ðàñïàðàëëåëèâàíèÿ è òîïîëîãèè ñâÿçåé ìåæäó âû÷èñëèòåëÿìè ðàññìàòðè-
âàþò èòåðàòèâíûå, âîëíîâûå è ñìåøàííûå ìàêðîêîíâåéåðû ñ ñèíõðîííûì ëèáî
àñèíõðîííûì îáìåíîì äàííûìè. Äëÿ êàæäîãî èç íèõ íàéäåíû îöåíêè âåðõíåé
ãðàíèöû ýôôåêòèâíîñòè [2].
Ïî ñóòè, ìàêðîêîíâåéåð âîïëîùàåò ìîäåëü ïåðâîãî â ÑÑÑÐ êîìïüþòåðà ñ ðàñ-
ïðåäåëåííîé ïàìÿòüþ, àðõèòåêòóðíî àíàëîãè÷íîãî ñîâðåìåííûì êëàñòåðíûì êîì-
ïëåêñàì. Åùå â 1980-õ ãã. Â.Ì. Ãëóøêîâ âèäåë ïåðñïåêòèâû òàêèõ êîìïüþòåðîâ,
ñïîñîáíûõ ìàñøòàáèðîâàòü âû÷èñëåíèÿ íà ñîòíÿõ è òûñÿ÷àõ ïðîöåññîðîâ ïðè
ïðàêòè÷åñêè ëèíåéíîì ðîñòå ñòîèìîñòè. Îí òàêæå ïðåäâèäåë ïðîáëåìû, âîçíèêàþ-
ISSN 0023-1274. Êèáåðíåòèêà è ñèñòåìíûé àíàëèç, 2009, ¹ 6 109
0
0.1
0.2
0.3
0.4
0.5
0.6
0.7
0.8
0.9
1
0 20 40 60 80 100 120 140
Êîëè÷åñòâî ÿäåð, N
Ý
ô
ô
å
ê
òè
â
í
î
ñ
òü
,
E
(N
)
?=50%
?=25%
?=10%
?=5%
Ðèñ. 3
Êîëè÷åñòâî ÿäåð, N
Ý
ô
ô
åê
òè
â
í
î
ñò
ü
,
E
N(
)
� � 50%
� � 25%
� � 10%
� � 5%
ùèå ïðè ðàçðàáîòêå ïàðàëëåëüíûõ àëãîðèòìîâ è ïðîãðàìì. Â íàñòîÿùåå âðåìÿ,
êîãäà ïîÿâèëèñü ïàðàëëåëüíûå êîìïüþòåðû ñ ñîòíÿìè òûñÿ÷ ïðîöåññîðîâ, îïòèìè-
çàöèÿ ìàêðîêîíâåéåðíûõ ñåòåé ÿâëÿåòñÿ îñîáî àêòóàëüíîé çàäà÷åé, è ê íåé ÷àñòî
âîçâðàùàþòñÿ â ïóáëèêàöèÿõ, íî èñïîëüçóÿ íîâóþ òåðìèíîëîãèþ [3].
Îòíîøåíèå èçîýôôåêòèâíîñòè ïîçâîëÿåò îïðåäåëèòü äèàïàçîí ÿäåð, íà êîòî-
ðîì äîñòèãàåòñÿ íåîáõîäèìàÿ ýôôåêòèâíîñòü [4]. Äëÿ ýòîãî óñêîðåíèå ðàññìàòðè-
âàåòñÿ êàê ôóíêöèÿ S n N( , ) , ãäå n — ðàçìåð çàäà÷è, à N — êîëè÷åñòâî
ïðîöåññîðîâ.
Âû÷èñëèòåëüíîé ñèñòåìîé íàçîâåì ïàðàëëåëüíóþ ïðîãðàììó, âûïîëíÿåìóþ íà
ïàðàëëåëüíîì êîìïüþòåðå. Ïîä ìàñøòàáèðóåìîñòüþ âû÷èñëèòåëüíîé ñèñòåìû ïîíè-
ìàþò åå ñïîñîáíîñòü ñîõðàíÿòü ýôôåêòèâíîñòü âû÷èñëåíèé ïðè íàðàùèâàíèè N .
Îïðåäåëèì íàêëàäíûå çàòðàòû êàê T n N N n N n N0 1( , ) ( ) ( ) ( , )� � �� � . Ïîäñòà-
âèì èõ çíà÷åíèå â ôîðìóëó óñêîðåíèÿ S n N
T n
T n N
N n n
n n T n N
( , )
( , )
( , )
( ( ) ( ))
( ) ( ) ( , )
� �
�
� �
1
0
� �
� �
.
Ïðåäïîëîæèì, ýôôåêòèâíîñòü (2) ïîñòîÿííà. Òîãäà âûïîëíÿåòñÿ íåðàâåíñòâî
T n CT n N( , ) ( , )1 0� , (5)
íàçûâàåìîå íåðàâåíñòâîì èçîýôôåêòèâíîñòè. Îòíîøåíèå èçîýôôåêòèâíîñòè èñ-
ïîëüçóþò äëÿ îïðåäåëåíèÿ ñòåïåíè ìàñøòàáèðóåìîñòè âû÷èñëèòåëüíîé ñèñòåìû.
Äëÿ ýòîãî íåðàâåíñòâî èçîýôôåêòèâíîñòè (5) ðàññìàòðèâàþò â âèäå n f N� ( ) ,
ãäå f N( ) — íåêîòîðàÿ ôóíêöèÿ.
Ôóíêöèÿ M n( ) çàäàåò îáúåì ïàìÿòè, íåîáõîäèìûé äëÿ ðåøåíèÿ çàäà÷è ðàçìåð-
íîñòè n, à ôóíêöèÿ ìàñøòàáèðóåìîñòè �( )
( ( ))
N
M f N
N
� — îáúåì ïàìÿòè, íåîáõî-
äèìûé îäíîìó ÿäðó äëÿ ñîõðàíåíèÿ ýôôåêòèâíîñòè. ×òîáû ñîõðàíèòü ýôôåêòèâ-
íîñòü ïðè óâåëè÷åíèè N , íóæíî íàðàùèâàòü ðàçìåð çàäà÷è â ñîîòâåòñòâèè ñ íåðà-
âåíñòâîì èçîýôôåêòèâíîñòè.
Íà ðèñ. 4 ôóíêöèÿ �( )N ïðî-
èëëþñòðèðîâàíà íà íåñêîëüêèõ
ïðèìåðàõ. Øòðèõîì óñëîâíî ïîêà-
çàí îáúåì ïàìÿòè êîìïüþòåðà. Êàê
âèäíî èç ãðàôèêà, ïðè ëèíåéíîì è
âûøå ðîñòå �( )N âû÷èñëèòåëüíàÿ
ñèñòåìà òåðÿåò ýôôåêòèâíîñòü [4].
Ôóíêöèþ ìàñøòàáèðóåìîñòè
çàäàþò äëÿ âû÷èñëèòåëüíîé ñèñòå-
ìû, èñõîäÿ èç âû÷èñëèòåëüíîé
ñëîæíîñòè ïîñëåäîâàòåëüíîãî è ïà-
ðàëëåëüíîãî àëãîðèòìîâ, ñëîæíîñ-
òè çàòðàò íà êîììóíèêàöèþ.
Õîðîøåé ìåðîé îöåíêè äîñ-
òèãíóòîé ýôôåêòèâíîñòè äëÿ ãîòî-
âîé ïàðàëëåëüíîé ïðîãðàììû ïðè åå ðàáîòå íà êîíêðåòíîì ïàðàëëåëüíîì êîìïüþ-
òåðå ñ÷èòàåòñÿ ìåòðèêà Êàðïà–Ôëàòòà, ïðåäëîæåííàÿ â 1990 ã. Îíà ïîçâîëÿåò ýêñ-
ïåðèìåíòàëüíî îöåíèòü ïîñëåäîâàòåëüíóþ ÷àñòü â ïðîãðàììå è äîëþ çàòðàò íà
êîììóíèêàöèþ:
e n N
n n N
n n
S n N N
N
T n
TN( , )
( ) ( , )
( ) ( )
( , )
( )
�
�
�
�
�
�
�
� �
� �
1 1
1
1
1
( )n N
N
�
�
1
1
1
. (6)
Ðåçóëüòàòû (1)–(6) äàþò ïðåäñòàâëåíèå î ïàðàëëåëèçìå è îöåíêå íàêëàäíûõ çà-
òðàò. Íî äëÿ íåêîòîðûõ ïðèêëàäíûõ çàäà÷ îáðàáîòêè äàííûõ áîëüøèõ îáúåìîâ
110 ISSN 0023-1274. Êèáåðíåòèêà è ñèñòåìíûé àíàëèç, 2009, ¹ 6
C
Clog(N)
CN
CNlog(N)
Êîëè÷åñòâî ÿäåð, N
Òåðÿåò ýôôåêòèâíîñòü
Ñîõðàíÿåò ýôôåêòèâíîñòü
Ï
àì
ÿ
òü
ä
ë
ÿ
î
ä
í
î
ãî
ÿ
ä
ð
à,
?
(N
)
Ðèñ. 4
�
(
)
N
êðèòè÷íûì ðåñóðñîì ÿâëÿåòñÿ ñèñòåìà äèñêîâîãî õðàíåíèÿ äàííûõ. Òàêèå çàäà÷è
îáëàäàþò íèçêîé ìàêðîêîíâåéåðíîñòüþ, ïîýòîìó óâåëè÷åíèå ÷èñëà ÿäåð ìîæåò
ïðèâåñòè ê òîìó, ÷òî ñèñòåìà õðàíåíèÿ äàííûõ ñòàíåò óçêèì ìåñòîì âû÷èñëåíèé,
à èñïîëüçîâàíèå á�ëüøåãî ÷èñëà ïðîöåññîðîâ äëÿ ðàñ÷åòà ìîæåò íå òîëüêî íå óâå-
ëè÷èòü, íî äàæå óìåíüøèòü âðåìÿ âû÷èñëåíèé.
Ìåòîäèêà îöåíèâàíèÿ ýôôåêòèâíîñòè ïàðàëëåëüíûõ ïðîãðàìì ñ îäíîðîäíîé
îáðàáîòêîé äàííûõ [5] ïîçâîëÿåò îöåíèòü âðåìÿ âûïîëíåíèÿ ïàðàëëåëüíîé ïðî-
ãðàììû íà îñíîâå íåáîëüøîãî ÷èñëà ýêñïåðèìåíòîâ. Èäåÿ ìåòîäèêè ñîñòîèò â òîì,
÷òî íà êîìïüþòåðå, íàçûâàåìîì áàçîâûì, ïðîâîäÿò ñåðèþ ýêñïåðèìåíòîâ ñ ïîñëå-
äîâàòåëüíîé èëè ïàðàëëåëüíîé ïðîãðàììîé. Ïðè âûïîëíåíèè ýòîé ïðîãðàììû ñî-
áèðàþò ðàçíûå ïðîôèëüíûå äàííûå, íàïðèìåð âðåìÿ âûïîëíåíèÿ, äîëÿ âðåìåíè
äîñòóïà ê äèñêîâîé ïàìÿòè è ïð. Äëÿ èçìåðåíèÿ âñòðàèâàþò ñ÷åò÷èêè íåïîñðåä-
ñòâåííî â òåêñò ïðîãðàììû ëèáî èñïîëüçóþò ñðåäñòâî ïðîôèëèðîâàíèÿ. Äëÿ ïðî-
ãíîçà âðåìåíè âûïîëíåíèÿ íà ïðîèçâîëüíîì êëàñòåðå â ôîðìóëû îöåíîê ýôôåêòèâ-
íîñòè ïîäñòàâëÿþò êîýôôèöèåíòû õàðàêòåðèñòèê áàçîâîãî êîìïüþòåðà è óçëà
êëàñòåðà, à òàêæå ïðîôèëüíûå äàííûå.  ðåçóëüòàòå ïîëó÷èì îöåíî÷íîå âðåìÿ ïðî-
ãðàììû êàê ôóíêöèþ îò ÷èñëà ïðîöåññîðîâ. Äëÿ íåå ìîæíî ïîäîáðàòü îïòèìàëü-
íîå N . Îäíàêî ìåòîäèêà [5] èìååò ïðèíöèïèàëüíûé íåäîñòàòîê, ïîñêîëüêó íå ó÷è-
òûâàåò äèíàìè÷åñêèõ õàðàêòåðèñòèê ïàðàëëåëüíîãî àëãîðèòìà, à çíà÷èò, ðåçóëüòà-
òû íåëüçÿ ïðèìåíèòü, åñëè ðàçìåð ðåøàåìîé çàäà÷è ÿâëÿåòñÿ ïåðåìåííûì. Ïîýòîìó
äàííàÿ ìåòîäèêà íåñêîëüêî ðàñøèðåíà è äëÿ áîëüøåé òî÷íîñòè ðåçóëüòàòîâ ðàçðàáîòà-
íû îöåíêè äëÿ ðàçíûõ ïàòòåðíîâ ïàðàëëåëüíîãî ïðîãðàììèðîâàíèÿ [6].
Òåðìèí «ïàòòåðí» âïåðâûå ïðåäëîæèë àðõèòåêòîð Ê. Àëåêñàíäð â 1977 ã.; îí
îçíà÷àåò ãîòîâûå øàáëîíû ðåøåíèé äëÿ êîíêðåòíûõ ñòðîèòåëüíûõ îáúåêòîâ. Êàæäûé
«àëåêñàíäðîâñêèé» ïàòòåðí îáëàäàåò òðåìÿ îáÿçàòåëüíûìè ýëåìåíòàìè: íàçâàíèå, îïè-
ñàíèå òèïè÷íîé ïðîáëåìû è øàáëîí òèïîâîãî ðåøåíèÿ. Ìåæäó îïèñàíèåì ïðîáëåìû
è åå ðåøåíèåì Ê. Àëåêñàíäð ïèñàë çàãëàâíûìè áóêâàìè ñëîâî «ÏÎÝÒÎÌÓ».
Èñïîëüçîâàíèå ïàòòåðíîâ â ïðîãðàììèðîâàíèè îáóñëîâëåíî òåì, ÷òî ñîâðåìåí-
íûå ÿçûêè ïðîãðàììèðîâàíèÿ íàñûùåíû àáñòðàêöèÿìè, êîòîðûìè íåîáõîäèìî îïåðè-
ðîâàòü äëÿ ýôôåêòèâíîãî íàïèñàíèÿ íàäåæíûõ ïðîãðàìì. Îñîáåííî ýòî îòíîñèòñÿ
ê ÿçûêàì âûñîêîãî óðîâíÿ âðîäå C#. Îáû÷íîå ïðåäñòàâëåíèå ïðîãðàììû â âèäå
áëîê-ñõåìû óäîáíî äëÿ äåòàëüíîãî îïèñàíèÿ ñëîæíûõ àëãîðèòìîâ çàäà÷, íî äàëåêî íå-
äîñòàòî÷íî äëÿ îïèñàíèÿ êîìïëåêñîâ ïðîãðàììíûõ ñèñòåì. Ñîâðåìåííûå ÿçûêè ïðåä-
îñòàâëÿþò ìîùíûå ñðåäñòâà, èñïîëüçóÿ êîòîðûå ìîæíî ñîçäàâàòü èçÿùíûå è óäîáíûå
ñïîñîáû ðåøåíèÿ çàäà÷. Â ðàáîòàõ Ê. Áåêà è Ó. Êàííèíãåìà, à òàêæå â çíàìåíèòîé ðà-
áîòå Å. Ãàììà, Ð. Õåëüìà, Ð. Äæîíñîíà [7] àêêóìóëèðîâàí ïðîãðàììèñòñêèé îïûò
â âèäå êàðêàñîâ äëÿ ðåøåíèÿ çàäà÷ íà îñíîâå îáúåêòíî-îðèåíòèðîâàííîãî ïîäõîäà.
Òåðìèí «ïàòòåðí» (øàáëîí) èñïîëüçîâàí â îáúåêòíî-îðèåíòèðîâàííîì ïðîåê-
òèðîâàíèè äëÿ îïèñàíèÿ øàáëîíîâ êëàññîâ è âçàèìîñâÿçåé ìåæäó íèìè ïðè ðåøå-
íèè òèïè÷íûõ çàäà÷. Òàêîé øàáëîí çàäàåò îïèñàíèå êëàññà èëè îáúåêòà, åãî îòíî-
øåíèå ñ äðóãèìè êëàññàìè ëèáî îáúåêòàìè (àãðåãèðîâàíèå, ñóïåðïîçèöèÿ, àññîöèà-
öèÿ, íàñëåäîâàíèå è äð.) è ñöåíàðèè èõ âçàèìîäåéñòâèÿ äëÿ ðåøåíèÿ êëàññîâ çàäà÷.
Òàê, ïàòòåðí «àäàïòåð» — ýòî êëàññ, çàäà÷à êîòîðîãî — îáåñïå÷åíèå åäèíîãî èíòåð-
ôåéñà äëÿ ìíîæåñòâà êëàññîâ ñî ñõîäíûìè ôóíêöèÿìè, íî ðàçëè÷íûìè èíòåðôåéñà-
ìè. Íàçâàíèÿ ïàòòåðíîâ, îïèñàííûõ â ðàáîòàõ Å. Ãàììà, âîøëè â ëåêñèêîí îáúåê-
òíî-îðèåíòèðîâàííîãî ïðîåêòèðîâàíèÿ, à òàêèå, êàê «ñèíãëåòîí», — â ãðàììàòèêó
ÿçûêîâ ïðîãðàììèðîâàíèÿ. Â ïîääåðæêó ðàçâèòèÿ ïàòòåðíîâ ïðîãðàììèðîâàíèÿ
â 1993 ã. îñíîâàíà íåêîììåð÷åñêàÿ îðãàíèçàöèÿ Hillside Group, ïðîâîäÿùàÿ åæå-
ãîäíûå êîíôåðåíöèè Pattern Language of Programs (PLoP).
Îáëàñòü ïðèìåíåíèÿ ïàòòåðíîâ Ãàììà — îáúåêòíî-îðèåíòèðîâàííîå ïðîåêòè-
ðîâàíèå. Â ïàðàëëåëüíîì ïðîãðàììèðîâàíèè âîçìîæíîãî ðàçíîîáðàçèÿ ðåøåíèé è
èíñòðóìåíòîâ íàìíîãî áîëüøå, ïîýòîìó ðàáîòà Ò. Ìýòòñîíà [8] ñòàëà êðàéíå ïîïó-
ëÿðíà è öèòèðóåìà. Ïðåäëîæåííàÿ â íåé êàñêàäíàÿ òåõíîëîãèÿ ïðîåêòèðîâàíèÿ ïà-
ðàëëåëüíûõ ïðîãðàìì, îñíîâàííàÿ íà ÿçûêå ïàòòåðíîâ, ïîäðàçóìåâàåò ÷åòûðå ñòà-
äèè ïðîåêòèðîâàíèÿ: ïîèñê ïàðàëëåëüíîñòè, ñõåìà àëãîðèòìà, âñïîìîãàòåëüíûå
ñòðóêòóðû è ìåõàíèçìû ðåàëèçàöèè. Îäíàêî ïðîöåäóðà ïðîåêòèðîâàíèÿ íà îñíîâå
ïàòòåðíîâ íå ãàðàíòèðóåò ïîëó÷åíèå íàèëó÷øåãî ïðîåêòà. Íàïðèìåð, àëãîðèòì ðàñ-
ïàðàëëåëèâàíèÿ, èäåàëüíî ïîäõîäÿùèé ê çàäà÷å, ìîæåò îêàçàòüñÿ íåýôôåêòèâíûì
ISSN 0023-1274. Êèáåðíåòèêà è ñèñòåìíûé àíàëèç, 2009, ¹ 6 111
ïðè ðåàëèçàöèè íà êîíêðåòíîì êîìïüþòåðå. Äëÿ ïîëó÷åíèÿ îöåíêè ýôôåêòèâíîñòè
ïàðàëëåëüíîé ïðîãðàììû íà êëàñòåðå íóæíî ðàññìîòðåòü ïàòòåðíû, èñõîäÿ, ïðåæäå
âñåãî, èç ñðåäñòâ ðåàëèçàöèè. Äëÿ çàäà÷ îäíîðîäíîé îáðàáîòêè äàííûõ ðåçóëüòàòû
èññëåäîâàíèé ïîêàçàëè, ÷òî íàèáîëåå öåëåñîîáðàçíû ïàòòåðíû «ìàñòåð-ðàáî÷èé»,
«îäíà ïðîãðàììà — ìíîãî äàííûõ» è «ðàçäåëÿé è âëàñòâóé».
Ïî ðåçóëüòàòàì ìîäåëèðîâàíèÿ ìåòîäîì Ìîíòå-Êàðëî â ñðåäå GPSS äëÿ ïàò-
òåðíîâ ñòàäèè ïðîåêòèðîâàíèÿ ñòðóêòóð ïðîãðàìì «ìàñòåð-ðàáî÷èé» (ÌÐ), «îäíà
ïðîãðàììà — ìíîãî äàííûõ» (ÎÏÌÄ), «ðàçäåëÿé è âëàñòâóé» (ÐÂ) ñôîðìóëèðîâà-
íû ðåêîìåíäàöèè, ïðèâåäåííûå íèæå. Ïàòòåðíû, îáëàäàþùèå ïðåèìóùåñòâîì,
ïîêàçàíû ïåðâûìè.
Ïðåèìóùåñòâî ïàòòåðíîâ ñ ðàçíûõ òî÷åê çðåíèÿ
Ïî òðåáîâàíèÿì
ê äèñêîâîé ïàìÿòè
Ïî áàëàíñèðîâêå
çàãðóçêè
Ïî çàòðàòàì
íà êîììóíèêàöèþ
Ïî ìàñøòàáèðóåìîñòè
ÐÂ ÌÐ ÎÏÌÄ ÌÐ
ÌÐ ÎÏÌÄ ÌÐ ÎÏÌÄ
ÎÏÌÄ ÐÂ ÐÂ ÐÂ
Ý. Êîåèíã ïðåäëîæèë êîíöåïöèþ «àíòèïàòòåðíîâ», êîòîðûå ïîìèìî ñóòè ïðî-
áëåìû è òèïîâîãî ðåøåíèÿ ñîäåðæàò îïèñàíèå òèïîâûõ íåâåðíûõ ðåøåíèé. Â ðóñ-
ëå ïàðàëëåëüíîãî ïðîãðàììèðîâàíèÿ èìååì àíòèïàòòåðíû ëèøü äëÿ ìíîãîïîòîêî-
âîãî ïðîãðàììèðîâàíèÿ.
ÏÐÎÃÐÀÌÌÍÛÅ ÏÀÊÅÒÛ ÈÇÌÅÐÅÍÈß ÏÐÎÈÇÂÎÄÈÒÅËÜÍÎÑÒÈ
Ñóùåñòâóåò ðàçíîîáðàçèå ïðîãðàììíîãî îáå÷ïå÷åíèÿ, ïîçâîëÿþùåãî îöåíèòü ïðîèçâî-
äèòåëüíîñòü ïàðàëëåëüíûõ êîìïüþòåðîâ. Êàê ïðàâèëî, òàêîå èçìåðåíèå ïðîâîäÿò â äâà
ýòàïà. Ïåðâûé — èçìåðåíèå ïðîèçâîäèòåëüíîñòè îòäåëüíûõ óçëîâ è êîìïîíåíòîâ,
âêëþ÷àÿ ïðîöåññîðû, îïåðàòèâíóþ ïàìÿòü, ñåòü, äèñêîâûå ìàññèâû. Çàäà÷à ýòîãî ýòà-
ïà — âûÿâèòü ñáîè â êîìïîíåíòàõ êîìïëåêñà, íå îáÿçàòåëüíî ïðèâîäÿùèå ê ïîòåðå
ðàáîòîñïîñîáíîñòè: ÷àñòî êîìïüþòåð ïðîäîëæàåò ðàáîòàòü ñî ñíèæåííîé ñêîðîñòüþ.
Âòîðîé ýòàï — òåñòèðîâàíèå ïðîèçâîäèòåëüíîñòè â öåëîì.
Äëÿ òåñòèðîâàíèÿ ïðîöåññîðà èñïîëüçóþò îäíîïðîöåññîðíóþ è SMP-âåðñèè
òåñòà LINPACK, à îïåðàòèâíîé ïàìÿòè — óòèëèòó MEMTEST86, STREAM èëè
RandomAccess. Öåëü ýêñïåðèìåíòîâ — óáåäèòüñÿ, ÷òî âñå êîìïîíåíòû èìåþò îäè-
íàêîâûå ïîêàçàòåëè ñêîðîñòè.
Ñêîðîñòü ñåòè êðèòè÷íà äëÿ ìíîãèõ ïàðàëëåëüíûõ âû÷èñëåíèé íà êîìïüþòå-
ðàõ ñ ðàñïðåäåëåííîé ïàìÿòüþ, ïîñêîëüêó îíà ôàêòè÷åñêè îïðåäåëÿåò êîììóíèêà-
öèîííûå çàòðàòû. Îáû÷íî èçìåðÿþò ëàòåíòíîñòü — çàäåðæêó ïðè ïåðåäà÷å ñîîá-
ùåíèÿ ìèíèìàëüíîé äëèíû è ïðîïóñêíóþ ñïîñîáíîñòü — ìàêñèìàëüíîå êîëè÷å-
ñòâî áàéòîâ, ïåðåäàâàåìûõ çà åäèíèöó âðåìåíè. Åñëè ïàðàëëåëüíàÿ ñðåäà
ïîäðàçóìåâàåò îáìåí äàííûìè â ðàìêàõ ñòåêà ïðîòîêîëîâ TCP/IP, èçìåðèòü ëàòåí-
òíîñòü è ïðîïóñêíóþ ñïîñîáíîñòü ìîæíî ñ ïîìîùüþ óòèëèòû «beff». Íî ÷àñòî äëÿ
äîñòèæåíèÿ ìàêñèìàëüíîé ñêîðîñòè âû÷èñëèòåëüíàÿ ñðåäà èñïîëüçóåò ñåòü, ìèíóÿ
ñòåê TCP/IP. Òîãäà èñïîëüçóþò óòèëèòû ñîâìåñòíî ñ ñåòåâûì îáîðóäîâàíèåì, íà-
ïðèìåð ïðîãðàììó «bw», âõîäÿùóþ â ñîñòàâ êîìïëåêòà ïðîãðàìì OFÀ3.
Ïîñêîëüêó ïàðàëëåëüíûå ïðîãðàììû âûïîëíÿþòñÿ â âû÷èñëèòåëüíîé ñðåäå,
îíà êàê ôàêòîð âëèÿåò íà ïðîèçâîäèòåëüíîñòü. Ðàññìîòðèì MPI (Message Passing
Interface) êàê ñòàíäàðò äå-ôàêòî äëÿ ðàñïàðàëëåëèâàíèÿ íà êîìïüþòåðàõ ñ ðàñïðå-
äåëåííîé ïàìÿòüþ. Â íàñòîÿùåå âðåìÿ ñîñóùåñòâóþò äâå ñïåöèôèêàöèè MPI:
MPI 1.2, íàñ÷èòûâàþùàÿ ïîðÿäêà 128 ôóíêöèé äëÿ îáìåíà ñîîáùåíèÿìè, è MPI 2.0
(áîëåå 500 ôóíêöèé). Èíòåíñèâíîñòü èõ èñïîëüçîâàíèÿ çàâèñèò, ïðåæäå âñåãî, îò
ëîãèêè (ìîäåëè ðàñïàðàëëåëèâàíèÿ) ïàðàëëåëüíîé ïðîãðàììû. Èññëåäîâàíèå ñêî-
ðîñòè âûïîëíåíèÿ âàæíî, âî-ïåðâûõ, äëÿ âûáîðà íàèáîëåå ïîäõîäÿùåé ìîäåëè
ðàñïàðàëëåëèâàíèÿ, à âî-âòîðûõ, ÷òîáû óáåäèòüñÿ, ÷òî âñå íåîáõîäèìûå äëÿ ðåàëè-
çàöèè ïàðàëëåëüíîé ïðîãðàììû ôóíêöèè ðàáîòàþò äîëæíûì îáðàçîì è ñ îæèäàå-
112 ISSN 0023-1274. Êèáåðíåòèêà è ñèñòåìíûé àíàëèç, 2009, ¹ 6
3 Open Fabric Alliance (OFÀ) — ìåæäóíàðîäíàÿ íåêîììåð÷åñêàÿ îðãàíèçàöèÿ, ôèíàíñèðóåìàÿ
ðàçðàáîò÷èêàìè âûñîêîñêîðîñòíûõ òåõíîëîãèé. Åå çàäà÷à — óíèôèêàöèÿ ïðîòîêîëîâ
âûñîêîñêîðîñòíîãî îáìåíà äàííûìè äëÿ ðàçëè÷íûõ ñåòåâûõ òåõíîëîãèé.
ìîé ýôôåêòèâíîñòüþ äëÿ çàäàííûõ îáúåìîâ äàííûõ. Àâòîð ñòàëêèâàëñÿ ñî ñëó÷àÿ-
ìè, êîãäà èç-çà îøèáîê â ðåàëèçàöèè MPI îïåðàöèè êîëëåêòèâíîãî îáìåíà
(MPI_Bcast) âûïîëíÿëèñü íàìíîãî ìåäëåííåå ïîñëåäîâàòåëüíîé ðàññûëêè îïåðàöè-
ÿìè òèïà «òî÷êà-òî÷êà» (MPI sub Send/MPI sub Recv).
Ïàêåò SKaMPI [9] ïðåäíàçíà÷åí äëÿ óãëóáëåííîãî òåñòèðîâàíèÿ ôóíêöèé MPI.
Âåðñèÿ 4 îò 2001 ã. âêëþ÷àåò ïîëíîñòüþ àâòîìàòèçèðîâàííûé ïðîöåññ òåñòèðîâà-
íèÿ ñ ãåíåðàöèåé îò÷åòà â ôîðìàòå PostScript (.ps). Ïîñëåäíÿÿ, ïÿòàÿ, âåðñèÿ îáëà-
äàåò ñëîæíûì ìåõàíèçìîì íàñòðîåê äëÿ îïèñàíèÿ çàäà÷è òåñòèðîâàíèÿ, ÷òî
ïîçâîëÿåò ñôîêóñèðîâàòü èññëåäî-
âàíèÿ íà îïðåäåëåííóþ ôóíêöèî-
íàëüíîñòü.
Ïðîâåäåííûå íà êîìïëåêñå
Èíïàðêîì-64 ýêñïåðèìåíòû ñâèäå-
òåëüñòâóþò, ÷òî ýôôåêòèâíîñòü
ðàçíûõ ðåàëèçàöèé MPI ìîæåò
âåñüìà îòëè÷àòüñÿ. Íà pèñ. 5 ïðèâå-
äåíû ðåçóëüòàòû ñðàâíåíèÿ ñêîðîñ-
òè ïåðåäà÷è ñîîáùåíèÿ äëÿ ðàçíûõ
ðåàëèçàöèé MPI, ïîääåðæèâàþùèõ
ñåòè InfiniBand. Êðèâûìè ïðîèëëþ-
ñòðèðîâàíà çàâèñèìîñòü âðåìåíè ïå-
ðåäà÷è ñîîáùåíèÿ îò åãî îáúåìà
â áàéòàõ.  òàáë. 1 ïåðå÷èñëåíû ðåà-
ëèçàöèè MPI, ïðèìåíÿÿ êîòîðûå óäà-
ëîñü äîñòè÷ü ìàêñèìàëüíîé ñêîðîñòè
îòäåëüíûõ îïåðàöèé.
Äëÿ íåêîòîðûõ çàäà÷, îñîáåííî ñâÿçàííûõ ñ îäíîðîäíîé îáðàáîòêîé äàííûõ
áîëüøîãî îáúåìà, êðàéíå âàæíà ñêîðîñòü äîñòóïà ê äèñêîâîé ïàìÿòè. Îäíà èç ïðî-
ñòûõ óòèëèò èçìåðåíèÿ ñêîðîñòè äèñêîâîé ïàìÿòè — Bonnie.
Ïðîãðàììíûé ïàêåò IoMeter èñïîëüçóþò äëÿ èçó÷åíèÿ äîñòóïà ê äèñêîâîé ïà-
ìÿòè, ìèíóÿ ôàéëîâóþ ñèñòåìó. Òàêæå ïàêåò ïîçâîëÿåò òåñòèðîâàòü äîñòóï ê äèñ-
êîâîé ïàìÿòè ñîãëàñíî ïàòòåðíó, îïðåäåëÿåìîìó äîëåé ÷òåíèÿ/çàïèñè è óðîâíåì
«ñëó÷àéíîñòè» äîñòóïà.
Ïðîâåäåííîå NERSC âûÿâëåíèå òèïè÷íûõ ïàòòåðíîâ ðàáîòû ñ äèñêîâîé ïà-
ìÿòüþ îñíîâàíî íà ïðàêòèêå ñîáñòâåííîãî èññëåäîâàòåëüñêîãî öåíòðà â îáñëóæè-
âàíèè íàó÷íî-èññëåäîâàòåëüñêèõ ðàñ÷åòîâ äëÿ áîëåå 300 ïîëüçîâàòåëåé, èç êîòî-
ðûõ âûáðàíî 50 íàèáîëåå èíòåíñèâíî èñïîëüçóþùèõ äèñêîâóþ ïàìÿòü [9]. Ðåçóëü-
òàòîì ñòàë èçâåñòíûé ïàêåò IOR äëÿ èçìåðåíèÿ ñêîðîñòè äèñêîâîé ïàìÿòè,
îðèåíòèðîâàííûé íà âûñîêîïðîèçâîäèòåëüíûå âû÷èñëåíèÿ.
ISSN 0023-1274. Êèáåðíåòèêà è ñèñòåìíûé àíàëèç, 2009, ¹ 6 113
0
2
4
6
8
10
12
14
16
0 2 4 6 8 10
Ðàçìåð ñîîáùåíèÿ, Ìá
Â
ð
å
ì
ÿ
,
ñ
OpenMPI
LAM MPI
MPICH
Pèñ. 5
Ðàçìåð ñîîáùåíèÿ, Ìá
Â
ð
åì
ÿ
,
ñ
Ò à á ë è ö à 1 . Ðåàëèçàöèè MPI, íàèáîëåå áûñòðûå ïðè âûïîëíåíèè îïåðàöèé
Îïåðàöèè MPI
Îáùàÿ ïàìÿòü Ðàñïðåäåëåííàÿ ïàìÿòü
Ëàòåíòíîñòü Ïðîïóñêíàÿ
ñïîñîáíîñòü
Ëàòåíòíîñòü Ïðîïóñêíàÿ
ñïîñîáíîñòü
MPI_Send/MPI_Recv LAM MPI OpenMPI LAM MPI OpenMPI
MPI_Bsendrecv LAM MPI MPICH LAM MPI MPICH
MPI_Barrier OpenMPI – OpenMPI –
MPI_Bcast LAM MPI OpenMPI LAM MPI OpenMPI
MPI_Reduce LAM MPI OpenMPI LAM MPI OpenMPI
MPI_Allreduce LAM MPI OpenMPI LAM MPI OpenMPI
MPI_Gather LAM MPI OpenMPI LAM MPI OpenMPI
MPI_AllToAll OpenMPI OpenMPI MPICH OpenMPI
Ïîñëå ïðîâåðêè êàæäîãî êîìïîíåíòà êàæäîãî óçëà ìîæíî ïðèñòóïàòü ê òåñòè-
ðîâàíèþ ïðîèçâîäèòåëüíîñòè â öåëîì.
Òåñò LINPACK, â íåêîòîðîì ñìûñëå, ÿâëÿåòñÿ ñëó÷àéíîñòüþ, ïîñêîëüêó èçíà-
÷àëüíî çàäóìàí êàê âñïîìîãàòåëüíàÿ óòèëèòà äëÿ îöåíêè âðåìåíè ðåøåíèÿ ñèñòåì
ëèíåéíûõ óðàâíåíèé ñ èñïîëüçîâàíèåì áèáëèîòåêè LINPACK [11]. Ðóêîâîäñòâî ïî
áèáëèîòåêå LINPACK çà 1979 ã. ñîäåðæàëî ðåçóëüòàòû ïî ÑËÀÓ 100-ãî ïîðÿäêà
äëÿ ðàñïðîñòðàíåííûõ â òî âðåìÿ êîìïüþòåðîâ. Çíàÿ ýòè ðåçóëüòàòû, ïîëüçîâàòåëè
ìîãëè âûáðàòü ïîäõîäÿùèé êîìïüþòåð äëÿ ðåøåíèÿ èõ çàäà÷ è îöåíèòü âðåìÿ ðå-
øåíèÿ, ýêñòðàïîëèðóÿ äàííûå èç ðóêîâîäñòâà. Ñî âðåìåíåì ñïèñîê «ïðîèçâîäè-
òåëüíîñòè íà òåñòå LINPACK» ðàñøèðÿëñÿ íà äîáðîâîëüíûõ íà÷àëàõ è äîñòèã ïî-
ðÿäêà 1300 êîìïüþòåðîâ.
 íàñòîÿùåå âðåìÿ òåñò LINPACK4 ÿâëÿåòñÿ ñòàíäàðòîì äå-ôàêòî äëÿ âû÷èñëåíèÿ
ñêîððåêòèðîâàííîé ïèêîâîé ïðîèçâîäèòåëüíîñòè ïðè ñðàâíåíèè ðàçíûõ êîìïüþòåðîâ.
Ïðîåêò «Top-500», íà÷àòûé â 1993 ã., îòñëåæèâàåò 500 íàèáîëåå ìîùíûõ ñóïåðêîì-
ïüþòåðîâ â ìèðå è ïóáëèêóåò ðåçóëüòàòû äâàæäû â ãîä.  2008 ã. íà÷àë ôóíêöèîíèðî-
âàòü ïðîåêò Green500, ó÷àñòíèêè êîòîðîãî ïóáëèêóþò ðåéòèíã 500 ñóïåðêîìïüþòåðîâ
èç ñïèñêà «Top-500», â ïîðÿäêå ïðîèçâîäèòåëüíîñòè íà âàòò ýëåêòðîýíåðãèè.
Òåñò LINPACK ïîçâîëÿåò ïîëó÷èòü õîðîøóþ êîððåêöèþ ïèêîâîé ïðîèçâîäè-
òåëüíîñòè, ïðèâîäÿ ôàêòè÷åñêè âåðõíþþ ãðàíèöó âîçìîæíîãî ðàñïàðàëëåëèâàíèÿ
ïðèêëàäíûõ çàäà÷. Óòâåðäèëñÿ ìèô, ÷òî, èñïîëüçóÿ ïðîèçâîäèòåëüíîñòü, êîòîðîé
óäàëîñü äîñòè÷ü íà òåñòå LINPACK è êîòîðóþ ñïåêóëÿòèâíî íàçûâàþò «ðåàëüíîé»,
ìîæíî àäåêâàòíî ñïðîãíîçèðîâàòü ýôôåêòèâíîñòü ïðèêëàäíîãî ïðèëîæåíèÿ. Ýòî
äàëåêî íå âñåãäà òàê, äàæå åñëè ðåøàåìàÿ çàäà÷à — íàõîæäåíèå ðåøåíèÿ ÑËÀÓ.
Íà ïðàêòèêå óäà÷íûìè ìîæíî ñ÷èòàòü òå ïðèêëàäíûå ïðîãðàììû, ïðîèçâîäèòåëü-
íîñòü êîòîðûõ ïðåâûøàåò 10% ïðîèçâîäèòåëüíîñòè, ïîêàçàííîé òåñòîì LINPACK.
Ýòî ïðîèñõîäèò ïî ðÿäó ïðè÷èí.
1. Ðåçóëüòàòû, èìåþùèå ìàêñè-
ìàëüíóþ ïðîèçâîäèòåëüíîñòü, ïîëó-
÷àþò ïîäáîðîì ðàçìåðà çàäà÷è. Íà
ïðàêòèêå, åñëè çàäàííûé ðàçìåð çàäà-
÷è îòëè÷àåòñÿ îò îïòèìàëüíîãî
â áîëüøóþ èëè ìåíüøóþ ñòîðîíó,
ïðîèçâîäèòåëüíîñòü îêàçûâàåòñÿ
íèæå îïòèìàëüíîé.
Íà ðèñ. 6 ïîêàçàíû ðåçóëüòàòû
ýêñïåðèìåíòîâ íà òåñòå LINPACK,
ïðîâåäåííûõ íà êîìïëåêñå Èíïàð-
êîì-128 íà âñåõ ÿäðàõ. Èç ãðàôèêà
âèäíî, ÷òî ìàêñèìàëüíàÿ ýôôåê-
òèâíîñòü äîñòèãàåòñÿ, òîëüêî åñëè
çàäà÷à äîñòàòî÷íî áîëüøàÿ, ÷òîáû
çàíÿòü âñþ îïåðàòèâíóþ ïàìÿòü
êîìïëåêñà. Åñëè çàäà÷à íàñòîëüêî áîëüøàÿ, ÷òî íå ïîìåùàåòñÿ â îïåðàòèâíóþ
ïàìÿòü, âðåìÿ ðåøåíèÿ ñòðåìèòåëüíî ïàäàåò.
2. Ðåçóëüòàòû ïîëó÷åíû íà òåñòå LINPACK ïåðåáîðîì ìíîãî÷èñëåííûõ ïàðà-
ìåòðîâ, âëèÿþùèõ íà ïðîèçâîäèòåëüíîñòü (ñðåäè íèõ: ðàçìåð áëîêà, êîíôèãóðàöèÿ
ðàçáèåíèÿ íà áëîêè, òîïîëîãèÿ îáìåíîâ). Ïîäáîð ïàðàìåòðîâ — äëèòåëüíûé ïðîöåññ
(äî íåäåëü) «èñêóñíîãî» ïîëó÷åíèÿ ìàêñèìàëüíîé ïðîèçâîäèòåëüíîñòè íà òåñòå
LINPACK. Äëÿ ðåàëüíûõ çàäà÷ çàíèìàòüñÿ ïåðåáîðîì íå õâàòàåò âðåìåíè.
3. Ïðîèçâîäèòåëüíîñòü ïàðàëëåëüíîé ïðîãðàììû çàâèñèò îò áàëàíñèðîâêè íàãðóçêè
ðàçíûõ ðåñóðñîâ ïàðàëëåëüíîãî êîìïüþòåðà: ÿäåð, îïåðàòèâíîé ïàìÿòè, ñåòè, äèñêîâ. Òåñò
LINPACK îáëàäàåò ôèêñèðîâàííûì ñîîòíîøåíèåì èíòåíñèâíîñòè èñïîëüçîâàíèÿ ýòèõ
ðåñóðñîâ, êîòîðîå ðåäêî ñîâïàäàåò ñ ñîîòíîøåíèÿìè ïðèêëàäíûõ çàäà÷.
114 ISSN 0023-1274. Êèáåðíåòèêà è ñèñòåìíûé àíàëèç, 2009, ¹ 6
0
200
400
600
800
1000
1200
1400
0 50000 100000 150000 200000
Ïîðÿäîê ÑËÀÓ (n)
Ï
ð
î
è
çâ
î
ä
è
òå
ë
ü
í
î
ñ
òü
,
Ã
Ô
ë
î
ï
ñ
Ïðîèçâîäèòåëüíîñòü íà òåñòå LINPACK
Ïèêîâàÿ ïðîèçâîäèòåëüíîñòü
Ðèñ. 6
Ïîðÿäîê ÑËÀÓ, ( )n
Ï
ð
î
è
çâ
î
ä
è
òå
ë
ü
í
î
ñò
ü
,
Ã
Ô
ë
î
ï
ñ
Ïðîèçâîäèòåëüíîñòü íà òåñòå LINPACK
Ïèêîâàÿ ïðîèçâîäèòåëüíîñòü
4 Â çàâèñèìîñòè îò àðõèòåêòóðû ïàðàëëåëüíîãî êîìïüþòåðà ñóùåñòâóþò ðàçíûå ðåàëèçàöèè «LINPACK
Benchmark», íàçûâàåìûå ïî-ðàçíîìó, íàïðèìåð: «LINPACK 100», «LINPACK 1000», «LINPACK
Parallel», «HPL».
4. Äîñòóï ê äèñêîâîé ïàìÿòè íå ó÷èòûâàåòñÿ. Äàæå ìàòðèöó ÑËÀÓ äëÿ òåñòà
LINPACK â îïåðàòèâíîé ïàìÿòè ñîçäàåò ãåíåðàòîð ïñåâäîñëó÷àéíûõ ÷èñåë, à íà ïðàêòè-
êå åå ñ÷èòûâàþò ñ äèñêà. Ïðè äîñòàòî÷íî áîëüøèõ îáúåìàõ (äåñÿòêè è ñîòíè Ãá) ÷òåíèå
èñõîäíûõ äàííûõ è ñîõðàíåíèå ðåçóëüòàòîâ ñîñòàâëÿåò âåñîìóþ äîëþ âû÷èñëåíèé.
5. Ïðîèçâîäèòåëüíîñòü ïî òåñòó LINPACK ìîæåò äàòü òîëüêî êà÷åñòâåííîå
ïðåäñòàâëåíèå î ïðîèçâîäèòåëüíîñòè ïðèêëàäíîé ïðîãðàììû, ïîñêîëüêó, âî-ïåð-
âûõ, ñëîæíî èçìåðèòü ïðîèçâîäèòåëüíîñòü ïðèêëàäíîé ïðîãðàììû (âî ôëîïñàõ),
à èíîãäà è íåâîçìîæíî; âî-âòîðûõ, äëÿ ïðèêëàäíîé ïðîãðàììû âàæíî âðåìÿ âû-
ïîëíåíèÿ, íåëèíåéíî çàâèñÿùåå îò ïðîèçâîäèòåëüíîñòè.
Ïðîèçâîäèòåëüíîñòü ïàðàëëåëüíîãî êîìïüþòåðà íåâîçìîæíî ïðåäñòàâèòü
îäíèì ÷èñëîì. Ïîñêîëüêó òåñò LINPACK ÷àñòî èñïîëüçóþò íå ïî íàçíà÷åíèþ,
îøèáî÷íî íàäåÿñü äîáèòüñÿ ýôôåêòèâíîñòè, ñðàâíèìîé ñ åãî ïîêàçàòåëÿìè, ðàçðà-
áîò÷èêè LINPACK ïðåäëîæèëè íîâûé ïàêåò òåñòèðîâàíèÿ HPCC (HPC Challenge
Benchmark Suite) [12]. Åãî çàäà÷à — èçìåðåíèå ïðîèçâîäèòåëüíîñòè ðàçíûõ êîìïî-
íåíòîâ ïàðàëëåëüíîãî êîìïüþòåðà, ñïîñîáíûõ îãðàíè÷èòü âûïîëíåíèå ïðèêëàäíûõ
ïðîãðàìì. Ýòîò ïàêåò ñîñòîèò èç íåñêîëüêèõ èçâåñòíûõ ïàêåòîâ, èçìåðÿþùèõ îò-
äåëüíûå àñïåêòû ïðîèçâîäèòåëüíîñòè, à òàêæå ïðåäîñòàâëÿåò ñðåäó äëÿ ïîäêëþ÷å-
íèÿ äîïîëíèòåëüíûõ òåñòîâ.  ÷àñòíîñòè, ïàêåò HPCC âêëþ÷àåò òàêèå èçâåñòíûå
ïðîãðàììû èçìåðåíèÿ ïðîèçâîäèòåëüíîñòè, êàê STREAM (ñêîðîñòü îïåðàòèâíîé
ïàìÿòè), HPL, DGEMM (óìíîæåíèå ìàòðèö), PTRANS (òðàíñïîíèðîâàíèå ìàòðèö,
FFT, RandomAccess (ñêîðîñòü ïðîèçâîëüíîãî äîñòóïà ê ïàìÿòè), b_eff (ëàòåíòíîñòü
è ïðîïóñêíàÿ ñïîñîáíîñòü êàíàëîâ). Ðåçóëüòàò èçìåðåíèÿ ïðîèçâîäèòåëüíîñòè
â HPCC — íå îäíî, à ðÿä çíà÷åíèé ïðîèçâîäèòåëüíîñòè.
Êîììåð÷åñêèé ïàêåò SPEC CPU 2006 âêëþ÷àåò ðÿä ïàðàëëåëüíûõ ðàñ÷åòíûõ
ìîäóëåé äëÿ èçâåñòíûõ ïðèêëàäíûõ ïðîãðàìì. Ïðè èññëåäîâàíèè êîìïüþòåðà ýòîò
ïàêåò ïîñëåäîâàòåëüíî âûïîëíÿåò êîíòðîëüíûå ïðèìåðû êëàññîâ çàäà÷ ãèäðîäèíà-
ìèêè, êâàíòîâîé õèìèè, áèîëîãèè, êîíå÷íî-ðàçíîñòíûõ è êîíå÷íî-ýëåìåíòíûõ
ñõåì, ëèíåéíîãî ïðîãðàììèðîâàíèÿ, ðàñïîçíàâàíèÿ îáðàçîâ. Ðåçóëüòàòû èññëåäîâà-
íèé â ýòîì ïàêåòå äàþò êàðòèíó ïðîèçâîäèòåëüíîñòè êîìïüþòåðà, ïðèîáðåòàåìîãî
ïîä ðåøåíèå êëàññà çàäà÷. (Íà ìîìåíò íàïèñàíèÿ ñòàòüè óêàçàííûé ïàêåò ïîääåð-
æèâàåò òîëüêî êîìïüþòåðû ñ îáùåé ïàìÿòüþ.)
ÈÑÑËÅÄÎÂÀÍÈÅ ÏÐÎÈÇÂÎÄÈÒÅËÜÍÎÑÒÈ ÃÎÒÎÂÛÕ ÏÐÎÃÐÀÌÌ
Èíïàðêîì (Èíòåëëåêòóàëüíûé ïàðàëëåëüíûé êîìïüþòåð) — ñåìåéñòâî àïïàðàòíî-ïðî-
ãðàììíûõ êîìïëåêñîâ, ðàçðàáîòàííûõ Èíñòèòóòîì êèáåðíåòèêè èì. Â.Ì. Ãëóøêîâà
ÍÀÍ Óêðàèíû ñîâìåñòíî ñ ÃÍÏÏ «Ýëåêòðîíìàø». Èíòåëëåêòóàëüíîå ïðîãðàììíîå
îáåñïå÷åíèå êîìïëåêñîâ Èíïàðêîì ïîçâîëÿåò èññëåäîâàòü è ðåøàòü ðÿä àêòóàëüíûõ
â íàóêå è èíæåíåðèè ìàòåìàòè÷åñêèõ çàäà÷ [13]. Íà äàííûé ìîìåíò êîìïëåêñû
Èíïàðêîì ãîòîâû ê ñåðèéíîìó ïðîèçâîäñòâó (òàáë. 2).
Äëÿ êîìïëåêñîâ Èíïàðêîì ðåàëèçîâàíà ñèñòåìà óïðàâëåíèÿ êëàñòåðîì ACMS
ñ öåíòðàëèçîâàííûì óïðàâëåíèåì ðåñóðñàìè è ìîíèòîðèíãîì [14]. Â ñîñòàâ ACMS
âêëþ÷åí ïîëüçîâàòåëüñêèé èíòåðôåéñ äëÿ èçó÷åíèÿ ýôôåêòèâíîñòè ïàðàëëåëüíîé
ïðîãðàììû, ïðîãíîçà ýôôåêòèâíîñòè, óñêîðåíèÿ è âðåìåíè âûïîëíåíèÿ ïàðàëëåëü-
íîé ïðîãðàììû íà ðàçíîì ÷èñëå ÿäåð.
ISSN 0023-1274. Êèáåðíåòèêà è ñèñòåìíûé àíàëèç, 2009, ¹ 6 115
Ò à á ë è ö à 2 . Ëèíåéêà êîìïëåêñîâ ñåìåéñòâà Èíïàðêîì
Íàçâàíèå
êîìïëåêñà
Êîëè÷åñòâî
óçëîâ
Êîëè÷åñòâî
ÿäåð
Äèñêîâîå
õðàíèëèùå
Ïðîèçâîäèòåëüíîñòü,
ÃÔëîïñ Ãîä ñäà÷è
Ïèêîâàÿ LINPACK
Èíïàðêîì-8 1 8 – 75 63 2008
Èíïàðêîì-16 16 16 – 102 82 2005
Èíïàðêîì-32 16 32 – 205 161 2006
Èíïàðêîì-64 8 64 îò 1 Òá 596 486 2007
Èíïàðêîì-128 16 128 îò 1 Òá 1193 970 2008
Èíïàðêîì-256 32 256 îò 1 Òá 2386 1854 2008
Äëÿ çàïóñêà ïàðàëëåëüíîé ïðîãðàììû íà êîìïëåêñå Èíïàðêîì íóæíî ñîçäàòü
òàê íàçûâàåìûé ïðîôèëü çàäàíèÿ, â êîòîðîì óêàçàòü ÷èñëî ÿäåð äëÿ âûïîëíåíèÿ
ïðîãðàììû. Åñëè âûïîëíåí îäèí ïðîôèëü íà ðàçíîì ÷èñëå ÿäåð, àâòîìàòè÷åñêè ñî-
áèðàåòñÿ ñòàòèñòèêà è àíàëèçèðóåòñÿ ýôôåêòèâíîñòü. Íà ðèñ. 7 ïîêàçàíî âðåìÿ âû-
ïîëíåíèÿ òåñòà LINPACK íà ðàçíîì ÷èñëå ÿäåð. Ïî ãðàôèêó âðåìåíè âûïîëíåíèÿ
ïðîãðàììû äëÿ ðàçíîãî ÷èñëà ïðîöåññîðîâ ñëîæíî ÷òî-ëèáî ñêàçàòü îá ýôôåêòèâ-
íîñòè, ïîýòîìó â ïðîòîêîëå èññëåäîâàíèé íà ðèñ. 8 ïîêàçàíû òàêæå ãðàôèêè óñêî-
ðåíèÿ ýôôåêòèâíîñòè è íàêëàäíûõ çàòðàò.
Íà ðèñ. 7, 8 ïðèâåäåíû ãðàôèêè äëÿ òåñòà LINPACK. Ìàêñèìàëüíîå óñêîðåíèå
íà êîìïëåêñå Èíïàðêîì-256 íå äîñòèãíóòî, çíà÷èò, óâåëè÷èâ ÷èñëî ïðîöåññîðîâ
óêàçàííîé àðõèòåêòóðû, ïîëó÷èì ëó÷øèå ðåçóëüòàòû ïî òåñòó LINPACK, äàæå íå
íàðàùèâàÿ ðàçìåðíîñòü çàäà÷è.
116 ISSN 0023-1274. Êèáåðíåòèêà è ñèñòåìíûé àíàëèç, 2009, ¹ 6
Ðèñ. 7
Ðèñ. 8
Ðèñ. 9
Íà ðèñ. 9 ïðèâåäåíû ãðàôèêè óñêîðåíèÿ è ýôôåêòèâíîñòè äëÿ îäíîé èç ïðè-
êëàäíûõ çàäà÷, ðåøåííîé íà êîìïëåêñå. Îïòèìàëüíîå ÷èñëî ÿäåð äëÿ ýòîé çàäà-
÷è — ïðèìåðíî 80.
ÇÀÊËÞ×ÅÍÈÅ
 íàñòîÿùåå âðåìÿ ïðîèñõîäèò ñìåíà ïàðàäèãì ïðîãðàììèðîâàíèÿ, à ýâîëþöèÿ
îáîðóäîâàíèÿ îïåðåæàåò ïðîãðàììíûå ñðåäñòâà, êîìïüþòåðû ñ ðàçäåëåííîé ïà-
ìÿòüþ âûøëè çà ïðåäåëû ïðîèçâîäèòåëüíîñòè â 1 ÏÔëîïñ. Ñíîâà àêòóàëüíû
ïðîáëåìû, êîòîðûìè çàíèìàëèñü îòå÷åñòâåííûå ó÷åíûå â 1970–1980 ãã., ñðåäè
íèõ ïðîåêòèðîâàíèå è îïòèìèçàöèÿ ìàêðîêîíâåéåðíûõ ñåòåé Â.Ì. Ãëóøêîâà äëÿ
ðàçðàáîòêè ýôôåêòèâíûõ ïàðàëëåëüíûõ àëãîðèòìîâ ñ êîíòðîëüíûìè òî÷êàìè
è âîçîáíîâëåíèåì ïîñëå ñáîåâ íà ñâåðõáîëüøîì ÷èñëå ïðîöåññîðîâ [15]. Ïðîâî-
äÿòñÿ íîâûå èññëåäîâàíèÿ äîñòîâåðíîñòè ðåçóëüòàòîâ (â ÷àñòíîñòè, àíàëèç ÷èñëà
îáóñëîâëåííîñòåé), à òàêæå ýìóëèðóåìîé è èíòåðâàëüíîé àðèôìåòèêè, àðèôìå-
òèêè ñî ñìåøàííîé ðàçðÿäíîñòüþ [16].
×òî êàñàåòñÿ ïðîèçâîäèòåëüíîñòè êîìïüþòåðîâ, òî íå ñóùåñòâóåò îäíîãî ÷èñ-
ëà, äîñòàòî÷íîãî äëÿ õàðàêòåðèñòèêè ïàðàëëåëüíîãî êîìïüþòåðà. Áóäóùåå çà ìíî-
ãîêðèòåðèàëüíûì ñðàâíåíèåì ïðîèçâîäèòåëüíîñòè ïîä êîíêðåòíûé êëàññ çàäà÷ íà
îñíîâå ðåçóëüòàòîâ òàêèõ ðàñøèðåííûõ ïàêåòîâ èçìåðåíèÿ ïðîèçâîäèòåëüíîñòè,
êàê HPCC. Èíòåëëåêòóàëüíûå ñðåäñòâà èññëåäîâàíèÿ è ïðîãíîçèðîâàíèÿ ïðîèçâî-
äèòåëüíîñòè îòêðûâàþò íîâûå âîçìîæíîñòè â âûáîðå îïòèìàëüíîãî ÷èñëà ïðîöåñ-
ñîðîâ, ïëàíèðîâàíèè çàäàíèé è áàëàíñèðîâêå çàãðóçêè.
ÑÏÈÑÎÊ ËÈÒÅÐÀÒÓÐÛ
1. P e r f o r m a n c e of various computers using standard linear equations software: LINPACK benchmark
report / J. Dongarra; Univ. of Tennessee. — 2008. — 89 p.
2. Ã ë ó ø ê î â Â . Ì . , Ê à ï è ò î í î â à Þ . Â . , Ë å ò è ÷ å â ñ ê è é À . À . Ê òåîðèè ïðîåêòèðîâàíèÿ
ñõåìíîãî è ïðîãðàììíîãî îáîðóäîâàíèÿ ìíîãîïðîöåññîðíûõ ÝÂÌ // Êèáåðíåòèêà. — 1978. — ¹ 6.
— Ñ. 1–15.
3. S o m e issues in dense linear algebra for multicore and special purpose architectures: EECS Tech. Report
LAWN #200 / M. Baboulin, J. Dongarra, S. Tomov. — 2008. — 615 p.
4. G r a m a A . Y . , G u p t a A . , K u m a r V . Isoefficiency: Measuring the scalability of parallel algo-
rithms and architectures // EEE Computer Soc. Press. — 1993. — 1, N 3. — P. 12–21.
5. Ï å ð å â î ç ÷ è ê î â à Î . Ë . , Ò ó ë ü ÷ è í ñ ê è é Â . Ã . , Þ ù å í ê î Ð . À . Ïîñòðîåíèå è îïòè-
ìèçàöèÿ ïàðàëëåëüíûõ êîìïüþòåðîâ äëÿ îáðàáîòêè áîëüøèõ îáúåìîâ äàííûõ // Êèáåðíåòèêà è
ñèñòåìíûé àíàëèç. — 2006. — ¹ 4. — Ñ. 117–129.
6. Þ ù å í ê î Ð . À . Îöåíêà ýôôåêòèâíîñòè ñóïåðêîìïüþòåðíûõ àðõèòåêòóð äëÿ ðàçëè÷íûõ ïàò-
òåðíîâ ïàðàëëåëüíîãî ïðîãðàììèðîâàíèÿ // Èñêóññòâ. èíòåëëåêò. — 2007. — ¹ 3. — Ñ. 447–453.
7. G a m m a E . , H e l m R . , J o h n s o n R . , e t a l . Design patterns: Elements on reusable object-ori-
ented software. — New York: Addison–Wesley, 1995. — 385 p.
8. M a t t s o n T . , S a n d e r s B . , M a s s i n g i l B . L . Patterns for parallel programming. — New York:
Addison-Wesley, 2004. — 355 p.
9. R e u s s n e r R . , S a n d e r s P . , P r e c h e l t L . , e t a l . SKaMPI: A detailed, accurate MPI benchmark
// Proc. Int. Conf. “EuroPVM/MPI’98”. — Liverpool: Kluwer Acad. Pub., 1998. — P. 83–93.
10. S h a n H . , S h a l f J . Using IOR to Analyze the I/O performance for HPC Platforms / Lawrence Berkeley
Nat. Lab. — Paper LBNL-62647. — 2007. (http://repositories.cdlib.org/lbnl/LBNL-62647)
11. D o n g a r r a J . , L u s z c z e k P . , P e t i t e t A . The LINPACK Benchmark: Past, present, and future //
Concurrency and Computation: Practice and Experience. — 2002. — 15, N 9. — P. 803–820.
12. I n t r o d u c t i o n to the HPC Challenge Benchmark Suite / P. Luszczek, J.J. Dongarra, D. Koester, et al. //
http://icl.cs.utk.edu/projectsfiles/hpcc/pubs/hpcc-challenge-benchmark05.pdf
13. × è ñ ë å í í î å ïðîãðàììíîå îáåñïå÷åíèå MIMD-êîìïüþòåðà Èíïàðêîì / À.Í. Õèìè÷, È.Í. Ìîë-
÷àíîâ, Â.È. Ìîâà, Î.Ë. Ïåðåâîç÷èêîâà è äð. — Êèåâ: Íàóê. äóìêà, 2007. — 221 ñ.
14. Þ ù å í ê î Ð . À . Ñèñòåìà óïðàâëåíèÿ êëàñòåðîì äëÿ êîìïëåêñîâ Èíïàðêîì // Êîìïüþòåðíàÿ
ìàòåìàòèêà. — 2007. — ¹ 1. — Ñ. 96–103.
15. A l g o r i t h m i c based fault tolerance applied to high performance computing / G. Bosilca, R. Delmas,
J. Dongarra, J. Langou // LAPACK Working Note. — 2008. — N 205. — P. 5–17.
16. A c c e l e r a t i n g scientific computations with mixed precision algorithms / M. Baboulin, A. Buttari,
J. Dongarra, et al. // Computational Physics. — 2008. — P. 35–49.
Ïîñòóïèëà 07.07.2009
ISSN 0023-1274. Êèáåðíåòèêà è ñèñòåìíûé àíàëèç, 2009, ¹ 6 117
|
| id | nasplib_isofts_kiev_ua-123456789-44488 |
| institution | Digital Library of Periodicals of National Academy of Sciences of Ukraine |
| issn | 0023-1274 |
| language | Russian |
| last_indexed | 2025-11-27T15:16:46Z |
| publishDate | 2009 |
| publisher | Інститут кібернетики ім. В.М. Глушкова НАН України |
| record_format | dspace |
| spelling | Ющенко, Р.А. 2013-06-02T09:16:35Z 2013-06-02T09:16:35Z 2009 Измерение производительности параллельных компьютеров с распределенной памятью / Р.А. Ющенко // Кибернетика и системный анализ. — 2009. — № 6. — С. 106-117. — Бібліогр.: 16 назв. — рос. 0023-1274 https://nasplib.isofts.kiev.ua/handle/123456789/44488 681.3 Розглянуто основні механізми вимірювання продуктивності паралельних комп’ютерів із розподіленою пам’яттю. Показано, що результати, отримані на де-факто стандартному тесті LINPACK, здебільшого мало пов’язані з ефективністю програм і застосувань. В результаті знову набули актуальності моделі та методи макроконвеєрних обчислень, сформульовані В.М. Глушковим ще наприкінці 1970-х років Результати цих досліджень висвітлено з позицій сучасної архітектури кластерних комплексів. The basic techniques for measuring the performance of distributed memory parallel computers are reviewed. The results obtained via de-facto standard LINPACK benchmark suite are shown to be weakly related to the efficiency of applied parallel programs. As a result, models and methods of macro-piping computations proposed by V.M. Glushkov in the late 1970s become topical again. These results are presented in the context of the modern architecture of cluster complexes. ru Інститут кібернетики ім. В.М. Глушкова НАН України Кибернетика и системный анализ Программно-технические комплексы Измерение производительности параллельных компьютеров с распределенной памятью Вимірювання продуктивності паралельних комп’ютерів з розподіленою пам’яттю Performance measurement for distributed memory parallel computers Article published earlier |
| spellingShingle | Измерение производительности параллельных компьютеров с распределенной памятью Ющенко, Р.А. Программно-технические комплексы |
| title | Измерение производительности параллельных компьютеров с распределенной памятью |
| title_alt | Вимірювання продуктивності паралельних комп’ютерів з розподіленою пам’яттю Performance measurement for distributed memory parallel computers |
| title_full | Измерение производительности параллельных компьютеров с распределенной памятью |
| title_fullStr | Измерение производительности параллельных компьютеров с распределенной памятью |
| title_full_unstemmed | Измерение производительности параллельных компьютеров с распределенной памятью |
| title_short | Измерение производительности параллельных компьютеров с распределенной памятью |
| title_sort | измерение производительности параллельных компьютеров с распределенной памятью |
| topic | Программно-технические комплексы |
| topic_facet | Программно-технические комплексы |
| url | https://nasplib.isofts.kiev.ua/handle/123456789/44488 |
| work_keys_str_mv | AT ûŝenkora izmerenieproizvoditelʹnostiparallelʹnyhkompʹûterovsraspredelennoipamâtʹû AT ûŝenkora vimírûvannâproduktivnostíparalelʹnihkompûterívzrozpodílenoûpamâttû AT ûŝenkora performancemeasurementfordistributedmemoryparallelcomputers |