Высокопроизводительные вычислительные системы
Покупка
Основная коллекция
Тематика:
Проектирование, отладка и тестирование ПО. Вспомогательные средства проектирования. CASE-технологии
Издательство:
Новосибирский государственный технический университет
Год издания: 2020
Кол-во страниц: 80
Дополнительно
Вид издания:
Учебное пособие
Уровень образования:
ВО - Бакалавриат
ISBN: 978-5-7782-4185-5
Артикул: 778341.01.99
Учебное пособие посвящено актуальным вопросам обработки информации. Кратко описываются систолические и волновые матричные процессоры, матричные процессорные системы. Особое внимание уделено перспективным средствам обработки информации - вычислительным системам с программируемой структурой. Приводятся примеры промышленных вычислительных систем,
построенных на современной технологической базе. Рассматриваются аспекты параллельного программирования и оценки эффективности параллельных алгоритмов. Приводится методика крупноблочного распараллеливания задач. Пособие предназначено для подготовки бакалавров и магистров по направлениям «Информатика и вычислительная техника», «Программная инженерия», «Фотоника и оптоинформатика».
Тематика:
ББК:
УДК:
ОКСО:
- ВО - Бакалавриат
- 09.03.01: Информатика и вычислительная техника
- 09.03.03: Прикладная информатика
- 12.03.03: Фотоника и оптоинформатика
ГРНТИ:
Скопировать запись
Фрагмент текстового слоя документа размещен для индексирующих роботов
Министерство науки и высшего образования Российской Федерации НОВОСИБИРСКИЙ ГОСУДАРСТВЕННЫЙ ТЕХНИЧЕСКИЙ УНИВЕРСИТЕТ В.К. МИЩЕНКО, П.В. МИЩЕНКО ВЫСОКОПРОИЗВОДИТЕЛЬНЫЕ ВЫЧИСЛИТЕЛЬНЫЕ СИСТЕМЫ Утверждено Редакционно-издательским советом университета в качестве учебного пособия НОВОСИБИРСК 2020
УДК 004(075.8) М 717 Рецензенты: канд. техн. наук, доцент В.А. Овчеренко д-р техн. наук, профессор М.Г. Гриф Мищенко В.К. М 717 Высокопроизводительные вычислительные системы: учебное пособие / В.К. Мищенко, П.В. Мищенко. – Новосибирск: Изд-во НГТУ, 2020. – 80 с. ISBN 978-5-7782-4185-5 Учебное пособие посвящено актуальным вопросам обработки информации. Кратко описываются систолические и волновые матричные процессоры, матричные процессорные системы. Особое внимание уделено перспективным средствам обработки информации – вычислительным системам с программируемой структурой. Приводятся примеры промышленных вычислительных систем, построенных на современной технологической базе. Рассматриваются аспекты параллельного программирования и оценки эффективности параллельных алгоритмов. Приводится методика крупноблочного распараллеливания задач. Пособие предназначено для подготовки бакалавров и магистров по направлениям «Информатика и вычислительная техника», «Программная инженерия», «Фотоника и оптоинформатика». УДК 004(075.8) ISBN 978-5-7782-4185-5 © Мищенко В.К., Мищенко П.В., 2020 © Новосибирский государственный технический университет, 2020
СИСТОЛИЧЕСКИЕ ПРОЦЕССОРНЫЕ СИСТЕМЫ Систолическая система – это сеть процессоров, которые ритмично выполняют и передают данные по системе. Физиологи используют термин «систолический» для описания ритмически повторяющихся сокращений сердца и пульсаций артерий, переносящих кровь по жилам. В систолической вычислительной системе функция процессора аналогична функции сердца. Каждый процессор регулярно прокачивает данные, в каждый момент времени выполняя некоторое короткое вычисление, так что в сети сохраняется регулярный поток данных. Например: некоторое число ПЭ, выполняющих операцию скалярного произведения Y Y AB , может быть объединено локальной связью для выполнения цифровой фильтрации, умножения матриц и других подобных операций. В общем случае перемещения данных в систолическом массиве заранее планируются и описываются в терминах «кадров» функционирования массива. Кадр – это описание действий в конкретный момент времени. Возможно, кадры являются наиболее естественным средством, с помощью которого разработчик может проверить или верифицировать новый математический алгоритм. Приведем выборочные кадры для систолического алгоритма умножения матрицы на вектор (рис. 1). Систолический массив, как правило, представляет прямое отображение вычислений в массив процессоров. Обычно он используется в виде присоединенного процессора к главной вычислительной машине. Основной принцип систолической обработки состоит в том, чтобы все данные, будучи регулярно «подкачаны» и ритмично переданы по массиву, могли быть эффективно использованы всеми ПЭ. Систолический массив обладает важными свойствами модульности, регулярности, локальности связей, высокой степенью конвейеризации и максимально синхронной мультиобработки.
Рис. 1. Кадры для систолического алгоритма умножения матрицы на вектор Он является также архитектурно тиражируемым, т. е. размер массива может быть неограниченно расширен, насколько это позволяет синхронизация системы. Систолические процессоры – это новый класс
конвейерных матричных структур. Систолический процессор отличается от обычной фоннеймановской машины высоким уровнем конвейерных вычислений, т. е. как только элемент данных поступает из памяти, он может быть эффективно использован в каждой клетке, в которую он попадает при прокачивании по всему массиву. Это представляет интерес для широкого класса вычислительных задач, связанных именно с вычислениями, когда множество операций повторно выполняется над каждым элементом данных. В данном случае устраняются проблемы обмена с памятью, присущие фоннеймановским машинам. Концептуально вычислительные задачи можно разделить на два семейства: 1) вычислительные задачи, связанные с вычислениями; 2) вычислительные задачи, связанные с вводом-выводом. Если в задаче общее число вычислительных операций больше общего числа операций ввода-вывода, говорят, что такая задача связана с вычислениями, в противном случае с вводом-выводом. Например: обычное умножение матриц является задачей, связанной с вычислениями, а сложение двух матриц – задачей, связанной с вводомвыводом. Для ускорения решения задач, связанных с вводом-выводом, требуется увеличение доступа к памяти, что при существующей технологии крайне затруднительно. В то же время ускорить решение задач, связанных с вычислениями, часто можно за счет использования систолических массивов. Изобразим основную концепцию систолического массива (рис. 2). Рис. 2. Базовая конфигурация систолического массива Заменяя отдельный процессор одно- или двумерным массивом процессоров, можно достичь увеличения производительности вычислений без увеличения пропускной способности памяти.
Определение систолического массива Систолический массив – это вычислительная сеть, обладающая следующими свойствами. Синхронность. Данные вычисляются ритмично и пропускаются по сети. Модульность и регулярность. Массив содержит модульные процессорные элементы с однородными связями. Более того, вычислительная сеть может неограниченно расширяться. Пространственная локальность и временная локальность. Массив характеризуется локально связанной структурой межсоединений, т. е. пространственной локальностью. В структуре существует расширенная задержка (по меньшей мере, единичной длительности), в течение которой могут быть завершены прием, обработка и выдача сигнала от одного узла другому, т. е. временная локальность. Конвейеризуемость, т. е. ускорение обработки информации, причем достигается ускорение вычислений с линейной скоростью. Свойства систолических архитектур Простота и регулярность схемы. В интегральной технологии стоимость компонентов существенно падает, однако стоимость схемы растет вместе с ее сложностью. Использование простых и регулярных схем с привлечением СБИС-технологий позволяет получить ощутимый выигрыш. Кроме того, простые и регулярные схемы предопределяют модульность системы, что способствует повышению производительности. Параллелизм и связь. Важным фактором в быстродействии вычислительных систем является использование параллелизма. При большом числе одновременно работающих процессоров большое значение приобретает связь. В СБИС-технологии стоимость трассировки доминирует над требованиями, относящимися к мощности, времени и площади, поэтому регулярные и локальные связи в систолических массивах представляются крайне полезными. Сбалансированность вычислений с вводом-выводом. Систолический массив обычно используется в виде присоединенного матричного процессора и производит обмен данными и результатами
через основную машину. Поэтому затраты на ввод-вывод должны приниматься во внимание при оценке общей производительности. Конечная цель реализации матричной процессорной системы – скорость вычислений, согласованная с шириной полосы ввода-вывода основной машины. При относительно малой пропускной способности современных устройств ввода-вывода для увеличения быстродействия необходимо выполнять большой объем вычислений на одно обращение к вводу-выводу. Но повторное использование данных требует их хранения в системе. Другими словами, проблема ввода-вывода связана не только с пропускной способностью, но и с требованиями к внутренней памяти. Поэтому важным при алгоритмической разработке матричного процессора становится вопрос, как соотнести вычисления с соответствующей структурой памяти и пропускной способностью ввода-вывода для сбалансированного времени вычислений со временем ввода-вывода. Синхронизация действий Синхронизация действий в больших синхронных системах (таких, как систолический массив) осуществляется широким системным синхронизирующим сигналом. Синхронизирующий импульс выполняет две функции: как эталон последовательности; как эталон времени. В качестве эталона последовательности тактовые импульсы служат определению моментов времени, в которые система может изменить свое состояние. В качестве эталона времени тактовые импульсы необходимы для определения задержек срабатывания элементов и передачи данных с выхода на вход. Поскольку синхронизирующие импульсы предопределяют действия во всей системе, их распределение является критическим для систолических массивов. Имеется ряд проблем, связанных с синхронизацией больших массивов. Эти проблемы возникают в результате расфазировки синхронизирующих импульсов, т. е. когда все ПЭ в массиве не могут получить тактовые импульсы одновременно. Причины подобных явлений – разные длины соединений генератора тактовых импульсов с каждым ПЭ и др. Например, вариации параметров сигнала в различных цепях распространения. С целью устранения этих явлений в регулярных массивах для распространения синхронизирующих импульсов можно использовать схемы Н-деревьев, в которых
каждый ПЭ размещается на одинаковом удалении от генератора. Покажем размещение Н-деревьев для линейных, квадратных и гексагональных массивов (рис. 3). а б в Рис. 3. Размещение Н-деревьев для синхронизации линейного массива (а), квадратного массива (б), гексагонального массива (в) Н-деревья позволяют решить проблему равноудаленности для распространения синхронизирующих импульсов, однако задача расфазировки решается не полностью. Фишер показал, что произвольно большой линейный систолический массив может быть синхронизован глобальными импульсами с по- мощью их конвейерного распространения. Однако при попытке синхронизировать двумерный массив обычно возникает расфазировка, пропорциональная размеру массива. При устранении этих трудностей были разработаны асинхронные волновые матричные процессоры. В асинхронных системах проблема тактирования может быть упрощена, поскольку необходимо поддерживать только корректную последовательность действий (а не синхронизацию).