Исследование блочно-циклических алгоритмов на семействе кластеров СКИТ
Рассмотрены некоторые особенности создания циклических алгоритмов для параллельных компьютеров и тенденции их развития. Проведены исследования блочно-циклических алгоритмов решения задач линейной алгебры на примере библиотеки программ ScaLAPACK, функционирующей на семействе компьютеров СКИТ, разра...
Збережено в:
| Дата: | 2006 |
|---|---|
| Автори: | , , , , |
| Формат: | Стаття |
| Мова: | Російська |
| Опубліковано: |
Інститут програмних систем НАН України
2006
|
| Теми: | |
| Онлайн доступ: | https://nasplib.isofts.kiev.ua/handle/123456789/1592 |
| Теги: |
Додати тег
Немає тегів, Будьте першим, хто поставить тег для цього запису!
|
| Назва журналу: | Digital Library of Periodicals of National Academy of Sciences of Ukraine |
| Цитувати: | Исследование блочно-циклических алгоритмов на семействе кластеров СКИТ / А.Н. Химич, А.В. Попов, Т.В. Чистякова, О.В. Рудич, Т.А. Герасимова // Проблеми програмування. — 2006. — N 2-3. — С. 177-183. — Бібліогр.: 8 назв. — рос. |
Репозитарії
Digital Library of Periodicals of National Academy of Sciences of Ukraine| _version_ | 1859974399853068288 |
|---|---|
| author | Химич, А.Н. Попов, А.В. Чистякова, Т.В. Рудич, О.В. Герасимова, Т.А. |
| author_facet | Химич, А.Н. Попов, А.В. Чистякова, Т.В. Рудич, О.В. Герасимова, Т.А. |
| citation_txt | Исследование блочно-циклических алгоритмов на семействе кластеров СКИТ / А.Н. Химич, А.В. Попов, Т.В. Чистякова, О.В. Рудич, Т.А. Герасимова // Проблеми програмування. — 2006. — N 2-3. — С. 177-183. — Бібліогр.: 8 назв. — рос. |
| collection | DSpace DC |
| description | Рассмотрены некоторые особенности создания циклических алгоритмов для параллельных компьютеров и тенденции их
развития. Проведены исследования блочно-циклических алгоритмов решения задач линейной алгебры на примере библиотеки
программ ScaLAPACK, функционирующей на семействе компьютеров СКИТ, разработанном в Институте кибернетики им. В.М.
Глушкова НАН Украины.
Characteristic features of the cyclical algorithms’ creation for parallel computers as well as trends of their development are dealt with.
Block cyclical algorithms for the solving of the linear algebra problems have been investigated on the example of ScaLAPACK program
library functioning on CKИT computer family created at V.M. Glushkov Institute of cybernetics.
|
| first_indexed | 2025-12-07T16:22:53Z |
| format | Article |
| fulltext |
Паралельне програмування. Розподілені системи і мережі
© A.Ju. Shelestov, N.N. Kussul, S.V. Skakun, 2006
ISSN 1727-4907. Проблеми програмування. 2006 № 2-3. Спеціальний випуск 177
УДК 519.6
ИССЛЕДОВАНИЕ БЛОЧНО-ЦИКЛИЧЕСКИХ АЛГОРИТМОВ
НА СЕМЕЙСТВЕ КЛАСТЕРОВ СКИТ
А.Н. Химич, А.В. Попов, Т.В. Чистякова, О.В. Рудич, Т.А. Герасимова
Инcтитут кибернетики им. В.М. Глушкова НАН Украины
03680, Киев-187, проспект Академика Глушкова, 40,
e-mail: dept150@insyg.kiev.ua, тел.: 266 1196; факс: (044) 266 7418
Рассмотрены некоторые особенности создания циклических алгоритмов для параллельных компьютеров и тенденции их
развития. Проведены исследования блочно-циклических алгоритмов решения задач линейной алгебры на примере библиотеки
программ ScaLAPACK, функционирующей на семействе компьютеров СКИТ, разработанном в Институте кибернетики им. В.М.
Глушкова НАН Украины.
Characteristic features of the cyclical algorithms’ creation for parallel computers as well as trends of their development are dealt with.
Block cyclical algorithms for the solving of the linear algebra problems have been investigated on the example of ScaLAPACK program
library functioning on CKИT computer family created at V.M. Glushkov Institute of cybernetics.
Введение
Вычислительная техника – основа общества научно-технического прогресса. Несмотря на то, что мир
насыщен разнообразной вычислительной техникой, остаются актуальными проблемы создания и использования
высокопроизводительных компьютеров, производительность которых достигает 1013 операций в секунду [1].
Технологический вызов, связанный с перспективой освоения кристаллов, содержащих от 100 млн. до
1 млрд. транзисторов, может быть поддержан только за счет новых идей в области архитектуры,
системо-техники, новых вычислительных методов, алгоритмических и программных модулей. Так,
прогнозируется, что число транзисторов на кристалле за период 1999 – 2012 гг. увеличится в 70 раз, а тактовая
частота – лишь
в 2,5 раза.
Одним из путей сокращения времени решения научных и инженерных задач является разработка
эффективных алгоритмов и создание на их основе интеллектуального программного обеспечения для
исследования и решения научно-технических задач.
Под эффективным алгоритмом решения научно-технической задачи будем понимать алгоритм,
позволяющий получить достоверное решение задачи с минимальным использованием оперативной памяти за
возможно минимальное время.
Так, учет в алгоритмах и вычислительных схемах особенностей архитектуры и структуры MIMD-
компьютера Parsytec Power Xplorer/4 лишь на операции произведения матриц позволил сократить время
решения задачи в 20 раз (известно, что вычисление произведения двух матриц можно реализовать шестью
различными алгоритмами, причем время их реализации на одном и том же компьютере будет различным, а
некоторые алгоритмы из-за больших погрешностей вычислений могут давать ошибочный машинный результат
при одной и той же длине машинного слова).
Тенденции развития блочно-циклических алгоритмов
Основной целью при создании параллельных алгоритмов является достижение по возможности
наибольшего сокращения времени решения задач. Однако на практике максимальное сокращение времени (в
количество раз, близкое к количеству процессоров) можно получить только для задач, по существу
тривиальных. Главные факторы, препятствующие этому, таковы:
− отсутствие полного параллелизма в алгоритмах исследования и решения задач (некоторые операции
алгоритмов являются последовательными);
− неравномерная загрузка процессоров по числу арифметических операций (несбалансированность
нагрузки процессоров);
− коммуникационные потери, обусловленные необходимостью обмена информацией между
процессорами и синхронизацией вычислительной системы.
Очевидно, что большинство алгоритмов представляет собой комбинацию фрагментов с различными
степенями параллелизма: от минимальной, когда работает один процессор, до максимальной, когда
одновременно могут выполняться все операции. Таким образом, большинство алгоритмов является
попеременно параллельно-последовательными по своей природе.
Для оценки качества параллельных алгоритмов пользуются, как правило, такими критериями как
коэффициент ускорения и коэффициент эффективности.
Паралельне програмування. Розподілені системи і мережі
178
Разработка высокоэффективных параллельных алгоритмов невозможна без выполнения условий
согласованности работы процессоров. Суть этих условий заключается в минимизации коммуникационных
потерь, т.е. ожиданий, связанных с завершением вычислений, и обменов данными.
Таким образом, при разработке и реализации параллельных алгоритмов к уже рассмотренным
проблемам компьютерных вычислений добавились новые, связанные с распараллеливанием вычислений, а
именно:
− распараллеливание не только арифметических действий, а и обменов данными между процессорами;
− определение количества процессоров и топологии межпроцессорных связей, необходимых для
эффективного решения задачи;
− обеспечение равномерной загрузки всех процессоров, которые используются для решения задачи;
− организация обменов данными между процессорами;
− синхронизация обменов данными между процессорами;
− минимизация обменов данными между процессорами;
− распределение исходной информации между процессорами в соответствии с выбранной
конфигурацией и др.
На сегодняшний день можно сделать вывод, что прототипами большинства известных параллельных
алгоритмов за редким исключением (например, в случае ленточных матриц с узкой шириной ленты при
решении систем линейных алгебраических уравнений) являются известные последовательные алгоритмы. При
таком подходе фактически в каждом процессоре одновременно реализуются последовательные вычисли-
тельные схемы над локальным блоком данных, полученным в результате декомпозиции исходных данных по
тому или иному способу. Принципиально важно, что при таком адаптивном подходе для параллельных
алгоритмов сохраняется преемственность результатов, полученных в теории численных методов (точность,
сходимость, сложность и др.).
С этой точки зрения характерна эволюция, которую претерпели параллельные алгоритмы (в задачах
линейной алгебры), основанные на элементарных ортогональных преобразованиях: от алгоритмов,
базирующихся на элементарных односторонних и двусторонних преобразованиях Якоби (как известно, не
лучших по экономичности представителях последовательных алгоритмов), к методам, основанным на
преобразованиях Гивенса, Хаусхолдера – методам, стоящим во главе иерархии списка по эффективности среди
ортогональных последовательных алгоритмов. По-видимому, это обстоятельство связано, с одной стороны, с
естественным параллелизмом алгоритмов, основанных на вращениях Якоби, а с другой стороны, с влиянием
эффекта Гайдна [2], понижающим эффективность методов Гивенса и Хаусхолдера для задач линейной алгебры
при обычном способе хранения матриц (одномерным блочным столбцовым или строчным способом
распределения, рис. 1). В этом случае каждый процессор содержит только один блок столбцов матрицы.
Столбец k хранится на процессоре k/t, где t = n/р – максимальное число столбцов, хранимых в процессоре (на
рис. 1 n = 16 и p = 4). Эта схема не обеспечивает хорошей сбалансированности загрузки процессоров, потому,
что как только первые t столбцов будут обработаны, 0-й процессор закончит работу, после обработки
следующих t столбцов закончит работу 1-й процессор и т.д.. Аналогично не дает хорошей сбалансированности
загрузки процессоров и одномерное блочное распределение строк по процессорам.
Значительным шагом к улучшению сбалансированности загрузки процессоров, а, следовательно, и
эффективности вычислительных алгоритмов стала идея циклического способа хранения и обработки матриц,
который приводит к сбалансированной схеме для алгоритмов триангуляции или трехдиагонализации матриц.
Идея столбцово (строчно) циклического способа хранения и обработки матриц (рис. 2) была независимо
высказана в нескольких работах (см., например, [3], в том числе и в работе авторов [4]). В соответствии,
например, со строчно-циклической схемой матрица распределяется по p процессорах следующим образом:
в i-ом процессоре располагаются строки с номерами i, i+p, i+2p, ... . Эта схема, сохраняя тот же, что и для
последовательных алгоритмов триангуляции или трехдиагонализации матриц, порядок обработки строк
(столбцов), предусматривает изменение на единицу номера процессора при переходе от одной строки к
следующей. Таким образом, достигается примерно одинаковый объем вычислений в каждом процессоре при
реализации алгоритмов, т.е. практически исключается влияние эффекта Гайдна.
0 1 2 3 0 1 2 3 0 1 2 3 0 1 2 3 0 1 2 3
Рис. 1 Рис. 2
Паралельне програмування. Розподілені системи і мережі
179
Такая ситуация характерна не только для алгоритмов, основанных на ортогональных преобразованиях,
но и для алгоритмов Гаусса, Холесского и других алгоритмов приведения матрицы к одному из стандартных
видов, для которых характерен постепенно уменьшающийся от шага к шагу размер обрабатываемой матрицы.
Показанная на рис. 3 третья схема – столбцовая блочно-циклическая, является компромиссом между
дистрибутивными схемами, показанными на рис. 1, 2. Выбирая размер блока nb, делим столбцы по группам
размера nb, и распределяем эти группы циклическим способом (на рис. 3 n = 16, p = 4 и nb = 2). Это означает,
что столбец k хранится в процессоре с номером [(k-1)/ nb]mod p. Фактически, эта схема включает первые две
схемы хранения как специальные случаи для nb = t = n/p и nb = 1. Для nb > 1 такая схема дает несколько худшую
сбалансированность загрузки процессоров, по сравнению с циклическим распределением столбцов, но зато
уменьшается общее время латентности системы, поскольку уменьшается количество соединений между
процессорами для обменов данными.
Четвертая схема (рис. 4), двумерное блочно-циклическое распределение столбцов и строк, включает
все предыдущие схемы как специальные случаи. Одним из важных факторов целесообразности такого
распределения и обработки матриц, наряду с хорошими свойствами сбалансированности и латентности,
является возможность использования процедур стандартных библиотечных программ BLAS, в частности
библиотеки BLAS 3 из [5].
0 1 0 1 0 1 0 1
2 3 2 3 2 3 2 3
0 1 0 1 0 1 0 1
2 3 2 3 2 3 2 3
0 1 0 1 0 1 0 1
2 3 2 3 2 3 2 3
0 1 0 1 0 1 0 1
0 1 2 3 0 1 2 3
2 3 2 3 2 3 2 3
Рис. 3 Рис. 4
Функциональные возможности библиотеки программ Scalapack
Основными сдерживающими факторами широкого использования MIMD-компьютеров являются как
отсутствие развитого прикладного программного обеспечения, так и трудности, связанные с использованием
параллельных компьютеров пользователями, имеющими опыт работы только на компьютерах традиционной
архитектуры.
Преодолению этих трудностей служит идея создания портабельного программного обеспечения. Для
решения систем линейных алгебраических уравнений на однопроцессорных компьютерах эта идея основана на
создании библиотеки процедур, реализующих базисные операции линейной алгебры, BLAS (basic linear algebra
subroutine) и реализована в пакете программ LINPACK. Дальнейшее развитие идеи создания портабельного
программного обеспечения для архитектур параллельных компьютеров привело к созданию пакета программ
LAPACK на основе библиотек BLAS2 и BLAS3. Для компьютеров MIMD-архитектуры BLAS3 основана на
блочных аналогах последовательных алгоритмов решения задач линейной алгебры. Пакет программ
ScaLAPACK [5] по линейной алгебре для компьютеров с распределенной памятью (distributed memory)
реализован с использованием BLAS версий 1, 2, 3 совместно с библиотекой программ BLACS (basic linear
algebra communication subroutine) и обменом информацией посредством передачи сообщений, поддерживающих
PVM (Parallel Virtual Machine) или MPI (Massage Passing Interface). Это – продолжение проекта LAPACK [6]
для параллельных компьютеров с разделяемой памятью (shared memory).
На рис. 5 показана общая структура ScaLAPACK, на котором компоненты библиотеки, выше
расположенные разделительной линии, содержат подпрограммы, которые выполняются параллельно на
некотором наборе процессоров и в качестве аргументов используют векторы и матрицы распределенные по
этим процессорам. Компоненты, которые расположенные ниже разделительной линии, вызываются на одном
процессоре и работают с локальными данными. Каждый из компонентов ScaLAPACK – это независимая
библиотека подпрограмм, которая не является частью библиотеки, но необходима для ее работы.
Функциональные подпрограммы ScaLAPACK, реализующие алгоритмы решения задач, созданы на
основе библиотеки LAPACK как наиболее полно отвечающей архитектуре современных процессоров
(программы оптимизированы для эффективного использования кэш-памяти).
В библиотеке BLAS содержатся подпрограммы первого, второго и третьего уровней, реализующие
базовые операции линейной алгебры (такие как: действия над векторами и скалярами, умножение матрицы на
вектор или произведение двух матриц), которые могут использоваться на векторных суперкомпьютерах и
параллельных компьютерах с разделяемой памятью. Подпрограммы пакета PBLAS содержат аналогичные
подпрограммы трех уровней с параллельной организацией вычислений при использовании подпрограмм
библиотек BLAS и BLACS. BLACS является библиотекой подпрограмм, предназначенных для работы с
параллельными процессами.
Паралельне програмування. Розподілені системи і мережі
180
ScaLAPACK функционирует в операционной системе Linux и поддерживается системой параллельных
вычислений MPI.
Рис. 5
Все подпрограммы ScaLAPACK реализованы на языке Fortran77 в арифметике вещественных чисел
одинарной или двойной точности и в комплексной арифметике, также одинарной или двойной точности.
В состав библиотеки включены 530 подпрограмм, которые разделяются на три категории:
• драйверные подпрограммы, каждая из которых решает некоторую задачу, например, решение систе-
мы линейных алгебраических уравнений или нахождение собственных значений вещественной симметричной
матрицы ( таких подпрограмм 14 для каждого типа данных);
• вычислительные подпрограммы, реализующие логически законченные части алгоритма, например,
LU–разложение матрицы или приведение вещественной симметричной матрицы к трехдиагональному виду;
• служебные подпрограммы, которые выполняют некоторые внутренние вспомогательные действия.
ScaLAPACK поддерживает работу со следующими видами матриц: плотными прямоугольными или
квадратными, ленточными, трехдиагональными. Для каждого из этих видов строится сетка процессоров
различной топологии и используется различная схема распределения данных по процессорам.
Для плотных матриц используется двумерная сетка процессоров. На рис. 6 показан пример, такой,
двумерной сетки размерностью 2×3 из 6 процессоров.
0 1 2
0 0 1 2
1 3 4 5
Рис. 6
Для плотных матриц принят блочно-циклический способ распределения данных по процессорам. При
таком распределении матрица разбивается на блоки размера MB x NB, где MB – количество строк в блоке, а NB
– столбцов, и эти блоки циклически распределяются по процессорам.
Это показано на конкретном примере распределения матрицы общего вида A(9,9), т.е. M = 9, N = 9, на
сетке процессоров 32 ×=× NPCOLNPROW при условии, что размер блока 22 ×=× NBMB . Разбиение
исходной матрицы на блоки 22 × показано на рис. 7.
a11 a12
a21 a22
a13 a14
a23 a24
a15 a16
a25 a26
a17 a18
a27 a28
a19
a29
a31 a32
a41 a42
a33 a34
a43 a44
a35 a36
a45 a46
a37 a38
a47 a48
a39
a49
a51 a52
a61 a62
a53 a54
a63 a64
a55 a56
a65 a66
a57 a58
a67 a68
a59
a69
a71 a72
a81 a82
a73 a74
a83 a84
a75 a76
a85 a86
a77 a78
a87 a88
a79
a89
a91 a92 a93 a94 a95 a96 a97 a98 a99
Рис. 7
Паралельне програмування. Розподілені системи і мережі
181
После циклического распределения блоков вдоль строк и столбцов сетки процессоров 32 × получаем
следующее распределение матричных элементов по процессорам (рис. 8).
0 1 2
0
a11 a12 a17 a18
a21 a22 a27 a28
a51 a52 a57 a58
a61 a62 a67 a68
a91 a92 a97 a98
a13 a14 a19
a23 a24 a29
a53 a54 a59
a63 a64 a69
a93 a94 a99
a15 a16
a25 a26
a55 a56
a65 a66
a95 a96
1
a31 a32 a37 a38
a41 a42 a47 a48
a71 a72 a77 a78
a81 a82 a87 a88
a33 a34 a39
a43 a44 a49
a73 a74 a79
a83 a84 a89
a35 a36
a45 a46
a75 a76
a85 a86
Рис. 8
Для ленточных и трехдиагональных матриц строится одномерная сетка процессоров NPROCS×1 , где
NPROCS – количество используемых процессоров. В этом случае используется блочный принцип распре-
деления. В каждом процессоре хранится только один блок, размер которого выбирается из соображений
равномерности распределения, т.е. NPROCSNNB /≈ . При этом объекты левой части уравнения распре-
деляются по столбцам, а правой – по строкам, т.е. для правых частей уравнений с ленточными и
трехдиагональными матрицами используется транспонированная одномерная сетка 1×NPROCS . На рис. 9
показан пример для ленточной матрицы A(7,7).
А =
777675
67666564
5756555453
4645444342
3534333231
24232221
131211
0000
000
00
00
00
000
0000
aaa
aaaa
aaaaa
aaaaa
aaaaa
aaaa
aaa
Рис. 9
Схема хранения матричных элементов несимметричной ленточной матрицы в 3-х процессорах при
условии NB = 3 показана на рис. 10. Звездочками отмечены неиспользуемые позиции.
0 1 2
* * a13 a24 a35 a46 a57
* a12 a23 a34 a45 a56 a67
a11 a22 a33 a44 a55 a66 a77
a21 a32 a43 a54 a65 a76 *
a31 a42 a53 a64 a75 * *
Рис. 10
Исследование эффективности блочных алгоритмов на семействе СКИТ
Исследования блочных алгоритмов, реализованных в ScaLAPACK, показали, что они наилучшим
образом соответствуют топологии межпроцессорных связей «решетка», что дает возможность эффективно
реализовывать обмены информацией между процессорами. Однако для каждого метода решения и для каждого
порядка матрицы существует свое оптимальное количество процессоров. Диаграмма, которая показана на
рис. 11, иллюстрирует время решения системы линейных алгебраических уравнений с симметричной
Паралельне програмування. Розподілені системи і мережі
182
положительно определенной матрицей методом Холесского на различном количестве процессоров. В этом
случае оптимальное число процессоров – 8.
Кроме того, блочные алгоритмы позволяют варьировать размеры блоков, на которые делятся исходные
матрицы. Таким образом, размеры локальных подматриц можно подобрать так, чтобы блок матрицы, который
многократно используется в матрично-векторных операциях, помещался в кэш-память. Это дает возможность
значительно сократить количество обращений к основной оперативной памяти. Диаграмма на рис. 12
демонстрирует как изменяется время решения системы линейных алгебраических уравнений с плотной
невырожденной матрицей методом Гаусса на одном процессоре при различном количестве строк в блоке.
Порядок матрицы 1000, блок 10*10
0,6256
0,3443 0,3021
0,2335 0,2764
0,3655
1 2 4 8 16 32
Количество процессоров
в
р
ем
я
в
с
ек
.
Порядок матрицы 5000
447,8
42,49 22,31 24,22 28,93
1 10 50 70 100
Количество строк в блоке
в
р
ем
я
в
с
ек
.
Рис. 11 Рис. 12
Диаграммы, показанные на рис. 13, 14, демонстрируют зависимость времени решения системы
линейных алгебраических уравнений с вырожденной матрицей методом наименьших квадратов от количества
процессоров и размеров блоков. Здесь приведены результаты исследований на СКИТ–2, коммутационная сеть
SCI, компилятор Intel, версия MPI – Scali.
Порядок матрицы 4000, блок 50*50
50,46
41,9
20,73
12,23
5,261 3,29
1 2 4 8 16 32
Количество процессоров
в
р
ем
я
в
с
ек
.
Порядок матрицы 4000, блок 20*20
66,13
38,81
24,12
13,37
7,22 4,14
1 2 4 8 16 32
Количество процессоров
в
р
ем
я
в
с
ек
.
Рис. 13 Рис. 14
Значительный прирост производительности алгоритмов дает также эффективное использование
конвейеризации инструкций. Известно, что все современные процессоры имеют конвейер инструкций.
Конвейерный процессор принимает новую инструкцию каждый цикл, даже если предыдущие инструкции не
завершены. Выполнение нескольких инструкций перекрывается – в процессоре, находятся несколько инструк-
ций на разных стадиях готовности (выбор, декодирование, исполнение, запись результатов). Конвейер
инструкций может уменьшить количество циклов на инструкцию, если будет одновременно выполнять
несколько инструкций, которые находятся на разных стадиях. Для правильного заполнения конвейера в
программах целесообразно увеличивать длину линейных участков (без команд перехода) так, чтобы она была
больше глубины конвейера. С этой целью имеет смысл операторы цикла в матрично-векторных операциях
писать с “разворачиванием”. В ScaLAPACK в подпрограммах библиотек BLAS и PBLAS, которые реализуют
матрично-векторные операции, разворачивание циклов реализовано так, чтобы за один проход цикла
вычислялось сразу 4 или 5 элементов.
Заключение
Проведенные на семействе кластеров СКИТ исследования блочно-циклических алгоритмов для
решения задач линейной алгебры, реализованных в ScaLAPACK, выявили высокую эффективность таких
алгоритмов. При этом определяющими являются следующие факторы:
− соответствие алгоритма коммуникационной среде и топологии межпроцессорных связей;
− оптимальные размеры блоков матриц, согласованные с объемом кэш-памяти;
Паралельне програмування. Розподілені системи і мережі
183
− оптимальное количество процессоров для каждой задачи и для каждого размера блоков, на которые
разбивается матрица;
− использование оптимизирующих стилей программирования с учетом конвейера инструкций,
архитектуры процессоров и возможностей компилятора для тех участков алгоритмов, которые требуют
наибольшего времени выполнения.
Однако большинство этих факторов должен учитывать сам пользователь ScaLAPACK. Кроме того, на
пользователя возлагается распределение данных по процессорам, которое, как отмечалось выше, не является
тривиальным. Эти трудности могут быть преодолены с помощью автоматизации процесса исследования и
решения задачи, когда по выявленным компьютером математическим свойствам решаемой задачи
автоматически выбирается экономичный алгоритм решения, а под него формируется (опять-таки
автоматически) необходимая топология межпроцессорных связей MIMD-компьютера. Такая последова-
тельность действий реализуется в интеллектуальном программном обеспечении для исследования и решения
задач [7], [8], в том числе, и для параллельных компьютеров с реализацией принципа скрытого параллелизма.
Интеллектуальное программное обеспечение, реализующее на MIMD-компьютере принцип скрытого
параллелизма, позволяет освободить конечного пользователя от проблем, связанных с организацией
параллельных вычислений и обеспечивает автоматизацию следующих процессов: распараллеливание
алгоритмов; выбор количества процессоров и других параметров алгоритма (например, размеры блоков
матриц), обеспечивающих эффективное решение задачи; создание конфигурации вычислительной системы из
процессоров; распределение исходной информации по процессорам; реализацию обменов информацией между
процессорами; синхронизацию вычислительной системы.
1. Hamilton S. Taking Moore’s law into the new century // Computer – 1999. – N 1. – Р. 12–16.
2. Валях Е. Последовательно-параллельные вычисления. – М.: Мир, 1985. – 456 с.
3. Ортега Дж. Введение в параллельные и векторные методы решения линейных систем. – М.: Мир, 1991. – 368 с.
4. Михалевич В.С., Бик Н.А., Брусникин Б.Н.,…, Химич А.Н. и др. / Под ред. И.Н. Молчанова.Численные методы для многопроцессорного
вычислительного комплекса ЕС. – М.: Издание ВВИА им. Н.Е. Жуковского, 1986. – 401 с.
5. http://www.netlib.org/scalapack
6. http://www.netlib.org/lapack
7. Молчанов И.Н. Проблемы и перспективы развития прикладного программного обеспечения // Управляющие системы и машины. –
1988. – № 1. – С. 56 –61.
8. Молчанов І.М., Галба Є.Ф., Попов О.В., Хіміч О.М., Чистякова Т.В., Яковлев М.Ф. Інтелектуальний інтерфейс для дослідження та
розв’язування задач обчислювальної математики з наближено заданими вхідними даними на MIMD-комп’ютері // Проблемы
программирования. – 2000. – № 1-2. – С. 102 – 112.
|
| id | nasplib_isofts_kiev_ua-123456789-1592 |
| institution | Digital Library of Periodicals of National Academy of Sciences of Ukraine |
| issn | 1727-4907 |
| language | Russian |
| last_indexed | 2025-12-07T16:22:53Z |
| publishDate | 2006 |
| publisher | Інститут програмних систем НАН України |
| record_format | dspace |
| spelling | Химич, А.Н. Попов, А.В. Чистякова, Т.В. Рудич, О.В. Герасимова, Т.А. 2008-08-27T09:46:38Z 2008-08-27T09:46:38Z 2006 Исследование блочно-циклических алгоритмов на семействе кластеров СКИТ / А.Н. Химич, А.В. Попов, Т.В. Чистякова, О.В. Рудич, Т.А. Герасимова // Проблеми програмування. — 2006. — N 2-3. — С. 177-183. — Бібліогр.: 8 назв. — рос. 1727-4907 https://nasplib.isofts.kiev.ua/handle/123456789/1592 519.6 Рассмотрены некоторые особенности создания циклических алгоритмов для параллельных компьютеров и тенденции их развития. Проведены исследования блочно-циклических алгоритмов решения задач линейной алгебры на примере библиотеки программ ScaLAPACK, функционирующей на семействе компьютеров СКИТ, разработанном в Институте кибернетики им. В.М. Глушкова НАН Украины. Characteristic features of the cyclical algorithms’ creation for parallel computers as well as trends of their development are dealt with. Block cyclical algorithms for the solving of the linear algebra problems have been investigated on the example of ScaLAPACK program library functioning on CKИT computer family created at V.M. Glushkov Institute of cybernetics. ru Інститут програмних систем НАН України Паралельне програмування. Розподілені системи і мережі Исследование блочно-циклических алгоритмов на семействе кластеров СКИТ Formation conception of the description and modeling program environment for specification requirements to the wireless network projects Article published earlier |
| spellingShingle | Исследование блочно-циклических алгоритмов на семействе кластеров СКИТ Химич, А.Н. Попов, А.В. Чистякова, Т.В. Рудич, О.В. Герасимова, Т.А. Паралельне програмування. Розподілені системи і мережі |
| title | Исследование блочно-циклических алгоритмов на семействе кластеров СКИТ |
| title_alt | Formation conception of the description and modeling program environment for specification requirements to the wireless network projects |
| title_full | Исследование блочно-циклических алгоритмов на семействе кластеров СКИТ |
| title_fullStr | Исследование блочно-циклических алгоритмов на семействе кластеров СКИТ |
| title_full_unstemmed | Исследование блочно-циклических алгоритмов на семействе кластеров СКИТ |
| title_short | Исследование блочно-циклических алгоритмов на семействе кластеров СКИТ |
| title_sort | исследование блочно-циклических алгоритмов на семействе кластеров скит |
| topic | Паралельне програмування. Розподілені системи і мережі |
| topic_facet | Паралельне програмування. Розподілені системи і мережі |
| url | https://nasplib.isofts.kiev.ua/handle/123456789/1592 |
| work_keys_str_mv | AT himičan issledovaniebločnocikličeskihalgoritmovnasemeistveklasterovskit AT popovav issledovaniebločnocikličeskihalgoritmovnasemeistveklasterovskit AT čistâkovatv issledovaniebločnocikličeskihalgoritmovnasemeistveklasterovskit AT rudičov issledovaniebločnocikličeskihalgoritmovnasemeistveklasterovskit AT gerasimovata issledovaniebločnocikličeskihalgoritmovnasemeistveklasterovskit AT himičan formationconceptionofthedescriptionandmodelingprogramenvironmentforspecificationrequirementstothewirelessnetworkprojects AT popovav formationconceptionofthedescriptionandmodelingprogramenvironmentforspecificationrequirementstothewirelessnetworkprojects AT čistâkovatv formationconceptionofthedescriptionandmodelingprogramenvironmentforspecificationrequirementstothewirelessnetworkprojects AT rudičov formationconceptionofthedescriptionandmodelingprogramenvironmentforspecificationrequirementstothewirelessnetworkprojects AT gerasimovata formationconceptionofthedescriptionandmodelingprogramenvironmentforspecificationrequirementstothewirelessnetworkprojects |