Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Буланкин В.Б / Text Uch Pos4сохр.doc
Скачиваний:
80
Добавлен:
22.03.2015
Размер:
4.53 Mб
Скачать

Федеральное агентство по образованию

Государственное образовательное учреждение высшего профессионального образования

Владимирский государственный университет

Кафедра вычислительной техники

В.Б. Буланкин, Д.А.Козлов, К.В. Куликов, С.Г. Мосин

Математическая и алгоритмическая организация высокопроизводительных вычислений на суперЭВМ

Учебное пособие

Владимир 2009

УДК 004.3

ББК 32.972

Б52

Рецензенты:

Заведующий кафедрой ВПМ РГРТУ д.т.н., профессор А.Н. Пылькин

Заведующий кафедрой КТРЭС ВлГУ д.т.н., профессор В.Н. Крылов

Печатается по решению редакционного совета Владимирского государственного университета

В.Б. Буланкин, Д.А. Козлов, К.В. Куликов, С.Г. Мосин Математическая и алгоритмическая организация высокопроизводительных вычислений на суперЭВМ: Учеб. пособие/Владим. гос. ун-т, 2009. -130с.

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

Пособие предназначено для студентов специальности 230101 – «Вычислительные машины, комплексы, системы и сети», а также может быть полезно студентам, бакалаврам и магистрантам других специальностей и направлений, изучающим архитектуру вычислительных систем.

Табл. 12. Ил. 8. Библиогр.: 24 назв.

УДК 004.3

ББК 32.972

© Владимирский государственный университет, 2009.

ВВЕДЕНИЕ

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

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

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

В Главе 3 дано описание структурной организации высокопроизводительных ВС, их классификация по Флину, способы реализации параллелизма в ВС.

Главы 4 – 5 посвящены методам параллельных вычислений и параллельным алгоритмам в задачах сортировки. Показаны формальные методы построения распределенных алгоритмов, примеры расчета параметров ВС и решения задачи на основе интеграла Стилтьеса.

1. Основные понятия высокопроизводительных вычислений

1.1 Характеристики и требования высокоскоростной обработки

Современный уровень развития средств вычислительной техники обеспечивает выполнение от 2,4*109 до 4,8*1012 операций с плавающей точкой в секунду при тактовых частотах 2 -3 ГГц. Первый показатель характерен для большинства однопроцессорных ЭВМ с микропроцессорами фирм Intel, AMD, DEC; второй – самой мощной на сегодняшний день суперЭВМ eServer Blue Gene Solution фирмы IBM, и это не предел. Скорость выполнения операций в вычислительных системах постоянно растет и фиксируется не реже, чем каждые полгода независимыми от производителей компаниями путем тестирования на различных проблемно-ориентированных тестах: Linpack, сотрудниками Аргоннской национальной лаборатории; ливерморские циклы, Ливерморской национальной лабораторией им. Лоуренса; TPC, Советом по оценке производительности обработки транзакций; компании AIM Technology; SPEC, Корпорацией по стандартизации высокопроизводительных вычислений и др. [1]

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

С другой стороны, пользователи нашли свои подходы к высокоскоростной обработке, для лучшего удовлетворения системным требованиям решения. Эти подходы формулируются в виде двух требований:

  1. за более короткий интервал времени Тз решить отдельную задачу, где Тз – время решения задачи;

  2. за один и тот же интервал времени Т решить как можно больше задач, где Т - постоянная времени системы, либо интервал измерения, при полной загрузке КЭШ памяти системы.

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

(1.1)

где - быстродействие системы,j - быстродействие j – ой ветви вычислительного процесса, i - время выполнения i – ой операции, qij - число i - ых операций в j – ой ветви, Nj - число выполнимых операций в j – ой ветви.

Второе требование определяет суммарный объем работ W в вычислительной системе, необходимый для решения множества задач (или фрагментов задачи, распределенных по вычислительным модулям системы) за время Т и характеризует ее производительность Р. Понятие производительности расширяет понятие скорости обработки и по существу представляет системное быстродействие, или эффективную скорость обработки:

. (1.2)

Переменная Т является функцией размерности задачи. Поэтому для сравнительной оценки вычислительных систем по производительности с разной архитектурой и вычислительной мощностью, в выражении (1.2) используется предел отношения, позволяющий произвести сравнение на основе задач вычислительной системы с высшей производительностью.

Лучшее удовлетворение требованию (1.1) автоматически обеспечивает улучшение требования (1.2). Обратное утверждение не справедливо. Например, если на одной вычислительной машине решается одна задача, то, согласно выражению (1.2), повысить производительность в n раз можно, взяв n таких машин. При этом быстродействие решения одной задачи, согласно выражению (1.1), не возрастет.

В процессе развития вычислительной техники появилось достаточно большое количество стандартных методик[2], которые используются для сравнительной оценки динамических характеристик вычислительных систем по быстродействию или производительности. Они в некоторой степени позволяют разработчикам и пользователям осуществить выбор при поиске, как подходящих технических вариантов ВС, так и наиболее рациональных способов представления и решения задач в них на основе количественных показателей. Однако, предлагаемые показатели порой бывают надуманными, не всегда сопоставимыми и приемлемыми. Например, скорость обработки данных в некоторых тестах измеряется в Dhrystone в секунду - скоростью выполнения программы синтетического теста из 100 команд, написанных на языке Си, в других относительно времени решения на компьютерах, которые условно приняты за эталонные. Такими компьютерами в разное время считались VAX 11/780 компании DEC, IBM RS/6000 фирмы IBM и т.д.

В действительности единственной и неоспоримой на протяжении всего времени существования вычислительной техники единицей измерения динамических характеристик ВС является время выполнения реальных программ (1.1), (1.2). Однако, и в этом случае, время (шаг выдачи решения), как единица измерения продуктивности вычислительной системы, должно быть задано в зависимости от системных требований решения для каждой задачи.

Системные требования определяют характер вычисления:

  • однократное или непрерывно повторяющееся решение;

  • динамику самой системы: управление быстропротекающими процессами, полунатурное моделирование, расчет некоторой статической модели и др.;

  • погрешности решения, которые существенным образом влияют на размерность и другие характеристики.

Продуктивность вычислительной системы непосредственно связана масштабом времени, который является функцией времени выдачи решения (Твр) и постоянной времени системы (Тс).

Постоянная времени системы (Тс) – это интервал времени в течение которого система, при наличии на входе сигнала рассогласования (старт системы), достигнет установившегося значения (завершит работу) в пределах заданной погрешности (рисунок 1.1). Различают: реальный, ускоренный и замедленный масштабы времени.

Рисунок 1.1 – Время выдачи решений в системе с реальным, ускоренным и замедленным масштабами времени

Реальный масштаб времени:

Твр = Тс,

Тр Твр, (1.3)

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

Ускоренный масштаб времени:

Твр < Тс,

Тр Твр, (1.4)

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

Реальный и ускоренный масштабы времени имеют возможность повысить продуктивность ВС путем решения дополнительных задач за интервал времени = ТврТр.

Замедленный масштаб времени:

Твр > Тс,

Тр Твр, где а) ТрТс; б) ТрТвр. (1.5)

время выдачи решений Твр больше постоянной времени системы Тс. Система успеет завершить отработку полученных входных значений и до поступления новых, будет находиться в состоянии отсутствия управляющих воздействий, что ведет к росту погрешностей в динамических системах. Величину динамической погрешности можно уменьшить или в некоторых случаях исключить совсем, перейдя к реальному или ускоренному масштабам времени (1.5 а)), если Тр Твр.