Управление вычислительными процессами в вычислительной системе с автоматическим распределением ресурсов

Пиковая производительность ВПП задается в качестве параметра модели числом “колец” обработки М в векторном блоке процессора, причем каждое ’’кольцо” содержит модуль ПВ и конвейерное АЛУ, что позволяет вести обработку векторов страницами по М элементов в такт. Соответственно, пиковая производительность ВПП равна М операций с плавающей запятой (флоп) в такт, а реальная производительность легко вычисляется по времени выполнения теста в тактах, поскольку общее число операций с плавающей запятой в тесте равно 2/3*N3+2N2.

Как видно из зависимостей на рис. 2, реальная производительность ВПП приближается к пиковой с увеличением размера матрицы N, причем, чем выше пиковая производительность, тем больше и размер матрицы, на котором достигается заданная эффективность. Такой характер зависимостей справедлив и для известных процессоров. Отличие в том, что ВПП обеспечивает значительно более высокую реальную производительность (при той же эффективности), чем существующие векторные процессоры. Так, векторный процессор NEC SX-6 с пиковой производительностью 16 флоп в такт на матрице 100*100 имеет эффективность 14,5% [5], и его реальная производительность равна 2,32 флоп в такт. На том же размере матрицы ВПП с пиковой производительностью 128 флоп в такт имеет эффективность 17,5%, т.е. его реальная производительность почти в 10 раз выше.

Таким образом, результаты тестирования модели ВПП с помощью теста LINPACK показывают, что ВПП действительно может обеспечить на порядок более высокую реальную производительность по сравнению с существующими векторными процессорами и на два порядка - по сравнению со скалярными микропроцессорами.

БИБЛИОГРАФИЧЕСКИЙ СПИСОК

1. Top 500 ranking of the fastest computers. http://www.top500.org/.

2. Дикарев Н.И., Шабанов Б.М. Реальная и пиковая производительности суперЭВМ // Автоматизация проектирования. № 1-2 (13). М., 2000. С.3-15.

3. Oliker L. et al. Evaluation of Cache-based Superscalar and Cacheless Vector Architectures for Scientific Computations. Proc. Int. Conf. on Supercomputing, Nov. 2003, 26 pp.

4. Аблязов Н.А., Дикарев Н.И., Макаров О.С., Шабанов Б.М. Результаты выполнения теста LINPACK на модели векторного потокового процессора // «Высокопроизводительные вычислительные системы и микропроцессоры». Труды ИМВС РАН. Вып. 6, М., 2004. С.42-55.

5. LINPACK Benchmark. http://www.netlib.org/performance/html/ /linpack.data.col0.html, http://www.netlib.org/benchmark/performance.ps.

С.В. Торчигин

УПРАВЛЕНИЕ ВЫЧИСЛИТЕЛЬНЫМИ ПРОЦЕССАМИ В ВЫЧИСЛИТЕЛЬНОЙ СИСТЕМЕ С АВТОМАТИЧЕСКИМ РАСПРЕДЕЛЕНИЕМ РЕСУРСОВ

В настоящее время существует большое количество задач, требующих производительности вычислительных систем порядка 1012 - 1016 операций в секунду [1]. Основным методом увеличения производительности вычислительных систем становится метод распараллеливания вычислительных процессов на математическом уровне. Однако это не решает всей проблемы в целом. В этой связи возникает потребность в разработках вычислительных систем нетрадиционной архитектуры. К таким системам относится вычислительная система с автоматическим распределением ресурсов (ВСАРР) [2]. В основе этой вычислительной системы лежит ме-

ханизм управления потоком данных. ВСАРР обеспечивает на аппаратном уровне распределение вычислительных процессов, синхронизацию по данным в динамике вычислительного процесса и эффективное использование вычислительных средств. В свою очередь, ВСАРР имеет ряд серьезных недостатков, таких как: в ходе вычислительного процесса ассоциативная память вычислительной системы может переполниться, вследствие чего система остановится [3]; в вычислительных системах подобного класса нельзя управлять ходом вычислительных процессов. Некоторые из перечисленных недостатков ВСАРР можно устранить, введя в вычислительную систему новое устройство - устройство управления вычислительными процессами (УУВП), показанное на рис.1.

На рис. 1 ВН - внешние носители; ИУ - исполнительные устройства; МСП -модуль сопоставляющей памяти; УУВП - устройство управление вычислительными процессами. ИУ О

УУВП в ВСАРР выполняет следующие функции.

1. Ротацию вычислительных процессов . На ВСАРР может одновременно выполняться множество вычислительных процессов с различными приоритетами.

2. Принятие мер, предотвращающих переполнение модулей сопоставляющей памяти (МСП) в ВСАРР (причинами переполнения МСП могут быть: взрывной параллелизм вычислительного процесса; неэффективное использование памяти совпадений с точки зрения хранения данных; неравномерное распределение данных по МСП):

• обнаружение угрозы переполнения МСП - определение модулей сопоставляющей памяти, в которых объем записанных данных подходит к критическому;

р МСП о

Смену одного вычислительного процесса другим будем называть ротацией вычислительных процессов.

Коммут;

Ко мм у таті

Л ПО ПТЛП РЫ

• выделение областей в МСП для выгрузки их на внешние носители;

• определение приоритета вычислительного процесса;

• определение интенсивности прохождения вычислительного процесса (количества приходящих и уходящих данных из МСП);

• определение количества уже выгруженных данных из этого МСП на внешние носители;

• определение объема, занятого в МСП каждым вычислительным процессом.

3. Выгрузку выделенной области на внешние носители.

4. Последовательную загрузку выгруженных областей в МСП по мере освобождения в них места.

5. Сбор статистики о прохождении вычислительных процессов и ее анализ.

6. Распределение адресного пространства внешних носителей.

7. Выполнение управляющих программ пользователей :

• загрузку в ВСАРР начальных данных вычислительных процессов;

• мониторинг устройств ВСАРР;

• вывод результатов вычислительных процессов.

8. Обработку исключительных ситуаций устройств ВСАРР.

9. Определение окончания событий:

• конца выгрузки;

• конца загрузки;

• конца инициализации;

• и т. п.

10. Выполнение команд операционной системы.

Устройство управления вычислительными процессами состоит из следующих

блоков.

1. Буферы для временного хранения передаваемых данных.

2. Блок управления буферами.

3. Дешифратор команд операционной системы.

4. Блок обработки команд ОС.

5. Дешифратор данных.

6. Блок управления загрузкой и выгрузкой вычислительных процессов.

7. Блок сбора статистики.

УУВП имеет вспомогательные блоки для работы с стандартными внешними устройствами (см. рис. 2).

Для УУВП была разработана своя система команд, которая позволяет обрабатывать команды ОС, управляющих программ и разрешать внутренние проблемы в ВСАРР. Управление вычислительными процессами может производиться автоматически и с помощью управляющих программ. В режиме автоматического управления вычислительными процессами при переполнении МСП УУВП самостоятельно выбирает область вычислительного процесса и "откачивает" ее на внешние носители. Если происходит дальнейшее переполнение МСП, то УУВП выбирает следующую область и откачивает ее на внешние носители. Если переполнения продолжаются дальше, то ОС, работающая в УУВП, может принять решение вы-

*

Областью в вычислительном процессе будем называть часть виртуального графа вычислительного процесса, отвечающую одному критерию - например, накрытые одной маской [3].

Управляющая программа - это программа, написанная системным программистом или пользователем, выполняющаяся на УУВП; обеспечивает более рациональное использование вычислительных ресурсов ВСАРР.

грузить все данные выбранного вычислительного процесса на внешние носители. Выгружаемые области вычислительных процессов выбираются таким образом, чтобы не останавливать сами вычислительные процессы. Как правило, выгружаемые области представляют собой процедуры или функции вычислительных процессов. Все данные, относящиеся к откачиваемой области, находящиеся в МСП и приходящие от исполнительных устройств и принадлежащие этой области, будут автоматически откачиваться на внешние носители и там распределяться определенным образом. Выбор откачиваемой области УУВП осуществляет по собранной статистике вычислительных процессов идущих на ВСАРР. Таким образом, УУВП осуществляет автоматическое регулирование параллелизма в задачах.

Адаптер ВН

Буфер

входных

-токенов

Рис. 2. Структурная схема устройства управления вычислительными процессами

Блок упр|^ления вводом \ выводом токенов

В режиме управления вычислительным процессом с помощью управляющих программ выгружаемые и загружаемые области и моменты загрузки и выгрузки определены в управляющей программе. Управляющая программа состоит из набора команд, определяющих последовательность операций работы с этими областями, а также работы с самим вычислительным процессом. В управляющую программу входят такие команды как:

• остановить вычислительный процесс;

• откачать вычислительный процесс;

• подкачать вычислительный процесс;

• произвести обмен данными между вычислительными процессами;

• изменить структуру данных в вычислительном процессе;

• инициализировать ВСАРР;

• выделить область вычислительного процесса;

• резервировать места на внешних носителях, и т.д.

Также программист может явно указать в управляющей программе области вычислительного процесса для откачки, что повлияет на более рациональное использование вычислительных ресурсов ВСАРР при автоматическом режиме управления вычислительным процессом. УУВП имеет достаточную гибкость в своей системе команд и позволяет по желанию изменять и дополнять ее.

Существует возможность управлять параллелизмом вычислительного процесса и из самого вычислительного процесса, изменяя алгоритмы программы, но этот случай не будет рассмотрен.

На основе вышеизложенного можно сделать вывод, что вычислительная система с автоматическим распределением ресурсов совместно с устройством управления вычислительными процессами в значительной степени лишена серьезных недостатков, присущих классу вычислительных систем, управляемых потоком данных, хотя остаются еще не решенные проблемы, связанные с отладкой задач на этом классе вычислительных систем.

БИБЛИОГРАФИЧЕСКИЙ СПИСОК

1. Бурцев В.С. Система массового параллелизма с автоматическим распределением аппаратных средств суперЭВМ в процессе решения задачи // В сб. "Вычислительные машины с нетрадиционной архитектурой. СуперЭВМ". Вып. 2. М.: Изд-во ВЦКП РАН, 1994. С.3-37.

2. Бурцев В. С. Новые принципы организации вычислительных процессов высокого параллелизма // Материалы Международной научно-технической конференции «Интеллектуальные и многопроцессорные системы - 2003». Т.1. Таганрог: Изд-во ТРТУ, 2003.

3. Чумаченко Г. О. Иерархия памяти вычислительной системы с автоматическим распределением ресурсов // Материалы Международной научно-технической конференции «Искусственный интеллект - 2004. Интеллектуальные и многопроцессорные системы-2004». Т. 1. Таганрог: Изд-во ТРТУ, 2004.