
- •Вопросы
- •Виды параллельной обработки данных на эвм
- •Параллелизм на уровне машинных команд.
- •Структура оперативной памяти.
- •Секция ввода/вывода
- •Секция межпроцессорного взаимодействия
- •Регистровая структура Cray c90
- •Понятие векторн обр-ки, зацепл фу(Cray c90) Векторная обработка
- •Функциональные устройства
- •Независимость функциональных устройств
- •Зацепление функциональных устройств
- •Закон Амдала .Время разгона конвейера Закон Амдала и его следствия
- •Причины уменьшения производительности Cray c90
- •Суммарное влияние отрицательных факторов на производительность компьютера
- •Архитектура компьютера EarthSimulator.
- •Массивно-параллельные компьютеры, общие черты
- •Общая структура компьютера cray t3d
- •Вычислительные узлы и процессорные элементы
- •Коммуникационная сеть
- •Топология сети, чередование вычислительных узлов
- •Маршрутизация в сети и сетевые маршрутизаторы.
- •Нумерация вычислительных узлов.
- •Особенности синхронизации процессорных элементов
- •Причины уменьшения производительности компьютера Cray t3e/d.
- •Вычислительные кластеры:узлы,коммуникационная сеть (латентность, пропускная способность).
- •История проекта Beowulf
- •Общая характеристика Hewlett-PackardSuperdome.
- •Предсказание ветвлений
- •Причины уменьшения производительности
- •Графовые модели программ, их взаимосвязь.
- •Mpi. Терминология и обозначения
- •Общие процедуры mpi
- •Mpi: синхронное и асинхронное взаимодействие процессов. Прием/передача сообщений между отдельными процессами
- •Прием/передача сообщений с блокировкой
- •Совмещенные прием/передача сообщений
- •Mpi: коммуникаторы
- •Коллективные взаимодействия процессов
- •Mpi: глобальные операции, барьеры Синхронизация процессов в mpi происходит посредством единственной функции
- •Транспьютер: основы архитектуры и его характеристика.
- •Оценки быстродействия вычислительных систем. Тесты производительности сети. Тесты производительности файловой системы. Тесты производительности процессора. Комбинированные тесты
- •Тесты производительности сети
- •Тесты производительности файловой системы
- •Тесты производительности процессора
- •Комбинированные тесты
- •Терминология
- •Классификация Флинна
- •Дополнения Ванга и Бриггса к классификации Флинна
- •Классификация Фенга
- •Классификация Шора
- •Классификация Хендлера
- •Классификация Хокни
- •Классификация Шнайдера
- •Классификация Джонсона
- •Классификация Базу
- •Классификация Кришнамарфи
- •Классификация Скилликорна
- •Классификация Дазгупты
- •Классификация Дункана
- •Принципы разработки современных парраллельных компьютеров.
- •Конвейерная организация Простейшая организация конвейера и оценка его производительности
- •Структурные конфликты и способы их минимизации
- •Конфликты по данным, остановы конвейера и реализация механизма обходов
- •Сокращение потерь на выполнение команд перехода и минимизация конфликтов по управлению
- •Ожидающие функции
- •Виды функций активации
- •Алгоритм решения задач с помощью мсп
- •Формализация задачи
- •Методы обучения
- •Сеть с линейным поощрением
- •Место нейронных сетей среди других методов решения задач
Транспьютер: основы архитектуры и его характеристика.
Транспьютер-что-то типа микроэвм. Семейство транспьютеров фирмы INМ0S [2]состоитиз набора системных компонентов,каждый из которых объединяет обрабатывающий элемент, систему связи и память в одной микросхеме, изготовленной по технологии СБИС.Параллельная система может создаваться из набора транспьютеров, которые функционируют параллельно и взаимодействуют через последовательные линии связи. Такие системы можно проектировать и программировать на языке Оккам, основанном на концепции взаимодействующих процессов. Транспьютеры успешно используются в различных областях применения - от встроенных систем до суперЭВМ.
В 1985 г. появился первый элемент этого семейства – 32 - разрядный транспьютер IМS Т414, что позволило реализовать параллельную обработку во многих областях применения, как, например, моделирование, управление роботом, синтез изображений и обработка цифровых сигналов. Во многих Областях применения, требующих больших вычислительных ресурсов, можно использовать большие массивы транспьютеров, где производительность системы зависит от числа транспьютеров, скорости меж- транспьютерной связи и производительности процессора каждого транспьютера.
Во многих важных областях применения транспьютеров требуется работа с числами с плавающей точкой. Следующий элемент семейства транспьютеров фирмы INМ0S — IМS Т800 — может повысить производительность таких систем, так как он имеет сильно улучшенные характеристики по работе с числами с плавающей точкой и по скорости связи. В транспьютер IМS Т800, объявленный в 1987 г., включен процессор с плавающей точкой, позволяющий выполнять более полутора миллионов операций с плавающей точкой в секунду.
Язык программирования Оккам позволяет описывать прикладную задачу как набор параллельно работающих процессов, взаимодействующих по каналам. В такой нотации каждый Оккам-процесс описывает поведение одного компонента прикладной задачи, а каждый канал описывает взаимодействие между компонентами.
Язык Оккам позволяет различным образом описывать компоненты и их взаимодействие. Это позволяет выбирать способ реализации, удовлетворяющий доступной технологии, оптимизирующий производительность или минимизирующий стоимость. Оккам оказался полезным во многих областях применения. Он может эффективно быть реализован почти на всех компьютерах и используется в различных областях применения, начиная от однопроцессорных встроенных управляющих систем до параллельных суперЭВМ. Оккам - программы могут быть непосредственно скомпилированы и реализованы, как специализированные устройства, изготовленные по технологии СБИС.
Оккам - программы состоят из трех примитивных процессов:
v := е присвоение значения выражения е переменной v
с ! е вывести значение выражения е в канал с
с ? v ввести из .канала с в переменную v
Примитивные процессы объединяются и формируют конструкции:
SЕQ последовательное выполнение
IF условное выполнение
WHILE цикл
PAR параллельное выполнение
ALT альтернативное выполнение
Конструкция сама является процессом и может использоваться как компонента другой конструкции; другими словами, Оккам является иерархическим языком с блочной структурой.
Обычные последовательные программы могут быть представлены переменными и операциями присваивания, объединенными последовательными, условными конструкциями и конструкциями цикла. Параллельные программы используют- каналы, операции ввода и вывода, объединенные параллельными и альтернативными конструкциями.
УПРОШЕННЫЙ ПРОЦЕССОР С ВСТРОЕННЫМ ПЛАНИРОВЩИКОМ.
Простые программы получили эффективную реализацию в последовательном процессоре как программируемом компьютере. Транспьютер также содержит типичный процессор с микрокодом. В небольшой памяти хранятся 32 инструкции и обеспечивают выполнение простых последовательных программ. Кроме этого, имеются другие более специализированные группы инструкций, реализующих, например, арифметические операции с большой точностью, и планировщик.
Так как процесс, выполняющийся в транспьютере, может состоять из ряда параллельных процессов, транспьютер должен на аппаратном уровне поддерживать модель программирования языка Оккам. Таким образом, транспьютер имеет встроенный планировщик, который распределяет время процессора между параллельными процессами. Планировщик поддерживает два уровня приоритетов; высокоприоритетный процесс, если он готов к выполнению, имеет преимущество перед любым низкоприоритетным процессом.
ВНУТРЕННЯЯ АРХИТЕКТУРА ТРАНСПЬЮТЕРА.
Транспьютер IMS Т414 состоит из блока памяти, процессора и системы связи, соединенных 32-разрядной шиной. К этой шине также подключен интерфейс с внешней памятью, что позволяет использовать дополнительную локальную память. Процессор, память и система связи занимают по 25 % всей площади кремния; остальная площадь используется для отвода тепла, таймеров и внешних соединений.
Транспьютер IMS Т800, содержащий процессор с плавающей точкой (ППТ), занимает на 25 % больше площади, чем транспьютер IMS Т414. Результатами тщательного учета особенностей кремния явились высокая производительность и малые размеры. Это сильно контрастирует с традиционными сопроцессорами, в которых модуль работы с числами с плавающей точкой обычно занимал больше места, чем целый микропроцессор, и требовал наличия второго чипа.
На блок-схеме (рис.1) показана схема соединений основных блоков транспьютеров IMS Т800 и IMS Т414.
Рис. 1. Внутренняя архитектура транспьютера
Центральный процессор (ЦП) транспьютера содержит три регистра (А, B и С) для работы с целыми числами и адресами, которые формируют аппаратный стек. При записи в стек содержимое регистра B записывается в регистр C, содержимое регистра A - в B, и лишь после этого в регистр А заносится новое значение. При чтении из стека извлекается значение регистра А, после чего содержимое регистра В записывается в регистр А, а содержимое регистра С - в регистр В. Соответственно ППТ содержит трех регистровый стек для хранения промежуточных результатов при работе с числами с плавающей точкой (вычислительный стек). Это регистры АF, ВF и СF. Работа с этим стеком аналогична работе с регистрами А, В и С.
Планировщик транспьютера поддерживает два уровня приоритетов. Регистровый стек ППТ дублируется для того, чтобы при переключении транспьютера IMS Т800 с низкого приоритета на высокий не сохранять в памяти информацию о состоянии ППТ. Это позволило уменьшить время реакции на прерывание до 3,7 мкс. Более того, дублирование регистрового стека позволяет программе обработки прерываний выполнять операции с плавающей точкой без понижения производительности.
ПОДДЕРЖКА ПАРАЛЛЕЛИЗМА.
Процессор имеет эффективную поддержку модели параллельности и связи, принятых в языке Оккам. Есть микропрограммный планировщик, позволяющий параллельно выполнять любое число процессов в режиме разделения времени процессора, что позволяет обходиться без ядра операционной системы. Этот процессор не имеет средств для динамического выделения памяти, и компилятор с языка Оккам выделяет память для параллельных процессов.
Параллельный процесс может находиться в следующих состояниях:
активное — выполняется, находится в очереди ожидания на выполнение;
пассивное — готов к вводу, ожидает, пока не наступит указанное время.
Планировщик устроен таким образом, что пассивные процессы не занимают процессорное время. Активные процессы, ожидающие выполнения, находятся в списке. Это связный список рабочих областей процессов, реализованный с использованием двух регистров, первый из которых указывает на первый процесс из списка, другой — на последний процесс. На рис.5 процесс S выполняется, а процессы Р, Q и R активны и ожидают выполнения.
Процесс выполняется до тех пор, пока не перейдет в режим ожидания ввода, вывода или таймера. Как только процесс не может выполняться, его счетчик команд сохраняется в его рабочей области и выбирается следующий процесс из списка для выполнения. Действительное время переключения с процесса на процесс очень маленькое, так как при этом не нужно сохранять информацию о состоянии. Нет необходимости сохранять при передиспетчеризации вычислительный стек.
В процессоре реализованы специальные операции, поддерживающие понятие "процесс". Сюда входят:
start process end process
При выполнении параллельной конструкции используются операции start process для создания необходимых параллельных процессов. Инструкция start process создаст новый процесс и добавляет новую рабочую область в конец списка диспетчеризации, что позволяет новому параллельному процессу выполняться вместе с уже существующими и выполняющимися процессами.
Параллельная конструкция при корректном завершении выполняет инструкцию end process. Эта инструкция использует позицию рабочей области как число компонентов параллельной конструкции, которая сейчас завершается. До запуска процессов в этот счетчик записывается число компонентов. Каждый компонент завершается выполнением инструкции end process, при этом значение счетчика уменьшается и проверяется. Для всех компонентов, кроме последнего, счетчик имеет ненулевое значение и этот компонент выводится из списка диспетчеризации. Для последнего компонента счетчик нулевой, и компонент продолжает выполняться.
СВЯЗЬ.
Связь между процессами осуществляется с помощью каналов. Взаимодействие между процессами в языке Оккам является двухточечным, синхронным и небуферизованным. Вследствие этого для канала нет необходимости в очереди процессов и сообщений, а также не нужны буферы сообщений. Канал между двумя процессами, выполняющимися на одном транспьютере, реализуется с помощью одного слова в памяти; канал между процессами, выполняющимися на разных транспьютерах, реализуется с помощью двухточечных линий связи.
Вопрос №33