Автор работы: Пользователь скрыл имя, 03 Июня 2013 в 12:23, контрольная работа
Транспьютеры. Связной список процессов.
1. Предлагается детально изложить наиболее важные вопросы (архитектура, основные компоненты, функционирование) конкретной системы.
2. Составление модели вычислительной системы заданной структуры.
1. Введение.
2. Понятие транспьютера и канала связи.
3. Объединение транспьютеров в группы.
4. Архитектура транспьютера.
5. Вычислительные системы с массовой параллельной обработкой.
6. Связной список процессов.
7. Заключение
8. Список используемых источников.
9. Приложение 1 модель вычислительной системы на базе транспьютеров Т-800
Интерфейс событий дает возможность внешнему устройству привлечь внимание и получить подтверждение. Этот интерфейс функционирует как входной канал и аналогично программируется.
4. Объединение транспьютеров в группы.
Для образования транспьютерных
систем требуемого размера каналы различных
транспьютеров могут соединятьс
иерархической или смешанной.
На базе транспьютеров можно легко построить различные виды вычислительных систем (ВС). Четыре канала связи обеспечивают построение двумерного массива, где каждый транспьютер связан с четырьмя ближайшими соседями. Возможно объединение транспьютеров в группы с последующим соединением групп между собой. Если группа состоит из двух транспьютеров, то для подключения ее к другим группам остаются свободными 6 каналов связи (рис. 13.1, а). Комплекс из трех транспьютеров также оставляет свободными 6 каналов (рис. 13.1, б), а для связи с «квартетом» транспьютеров остаются еще 4 канала связи (рис. 13.1, в).
Особенности транспьютеров потребовали разработки для них специального языка программирования Occam. Название языка связано с именем философа-схоласта XIV века Оккама – автора концепции «бритвы Оккама»: «entia praeter necessitatem non sunt multiplicanda» – «понятия не должны умножаться без необходимости». Язык обеспечивает описание простых операций пересылки данных между двумя точками, а также позволяет явно указать на параллелизм при выполнении программы несколькими транспьютерами. Основным понятием программы на языке Occam является процесс, состоящий из одного или более операторов программы, которые могут быть выполнены последовательно или
параллельно. Процессы могут быть распределены по транспьютерам вычислительной системы, при этом оборудование транспьютера поддерживает совместное использование транспьютера несколькими процессами.
Первое поколение транспьютеров (Т212, Т414 и Т805) разрабатывалось для систем реального времени и цифровой обработки сигналов. Для подобных задач нужны сравнительно небольшие ВС со скоростными каналами связи между соседними процессорами и быстрым переключением контекста. Под контекстом понимается содержимое регистров, которое при переходе к новой задаче в ходе многозадачной обработки может быть изменено и поэтому должно быть сохранено, а при возврате к старой задаче – восстановлено.
В транспьютерах второго
5. Вычислительные системы с массовой параллельной обработкой.
Основным признаком, по которому ВС
относят к архитектуре с
Главные особенности, по которым ВС причисляют к классу MPP, следующие:
1. стандартные микропроцессоры;
2. физически распределенная память;
3. сеть соединений с высокой пропускной способностью и малыми задерж-ками;
4. хорошая масштабируемость (до тысяч процессоров);
5. асинхронная MIMD-система с пересылкой сообщений;
6. программа представляет собой множество процессов, имеющих отдельные адресные пространства.
В RM1000 используются микропроцессоры типа MIPS. Каждый узел со-держит процессор R4400, сетевую карту Ethernet и два канала ввода/вывода типа SCSI. Реализованный вариант включает в себя 192 узла, но сеть соединений предусматривает масштабирование до 4096 узлов. Каждый узел имеет коммуни-кационный компонент для подключения к соединяющей сети, организованной по топологии двумерной решетки. Связь с решеткой поддерживается схемами маршрутизации с четырьмя двунаправленными линиями для связи с соседними узлами и одной линией для подключения к данному процессорному узлу. Ско-рость передачи информации в каждом направлении – 50 Мбит/с.
Каждый узел работает под управлением своей копии операционной сис-темы, управляет «своими» периферийными устройствами и обменивается с дру-гими узлами путем пересылки сообщений по сети соединений. Операционная система содержит средства для повышения надежности и коэффициента го-товности.
При создании MPP-систем разные фирмы отдают предпочтение различным микропроцессорам и топологиям сетей соединений
6. Связной список процессов
Транспьютер может одновременно обрабатывать любое число параллельных процессов. Он
имеет микропрограммный планировщик, который производит распределение времени между ними. В любой момент времени параллельные процессы делятся на два класса: активные процессы (выполняются или готовы к выполнению) и неактивные процессы (ожидают ввода-вывода или определенного времени). Активные процессы, ожидающие выполнения, помещаются
в планировочный список. Планировочный список является связным списком рабочих областей этих активных процессов в памяти и задается значениями двух регистров, один из которых
указывает на первый процесс в списке, а другой − на последний.
Состояние процесса, готового к выполнению, сохраняется в его рабочей области. Состояние определяется двумя словами − текущим значением указателя инструкций и указателем на рабочую область следующего процесса в планировочном списке. Команда транспьютера start process создает новый активный процесс, добавляя его в конец планировочного списка. Перед выполнением этой команды в A-регистр вычислительного стека должен быть загружен указатель инструкций этого про-
цесса, а в B-регистр − указатель его рабочей области. Команда start process позволяет новому параллельному процессу выполняться вместе с другими процессами, которые транспьютер об-
рабатывает в данное время. Команда end process завершает текущий процесс, убирая его из планировочного списка. В Оккаме конструкция PAR может закончиться только тогда, когда завершатся все ее компоненты параллельного процесса. Каждая команда start process
увеличивает их число, а end process уменьшает. В транспьютере предусмотрен специальный механизм учета числа незавершившихся компонент данной параллельной конструкции
(необходимо учитывать как активные, так и неактивные процессы). При обработке параллельных процессов на самом деле присутствует не один, а два планировочных списка − список высокого приоритета и список низкого приоритета. Процессы с низким приоритетом могут выполняться только тогда, когда список высокого приоритета пуст, что должно быть его нормальным состоянием.
Коммутации между параллельными процессами осуществляются через каналы. Для организации этого обмена используются команды транспьютера input message и output message. Эти команды используют адрес канала, чтобы установить, является он внутренним (в том же транспьютере) или
внешним. Внутренний канал реализуется одним словом памяти, а обмен осуществляется путем пересылок между рабочими областями этих процессов в памяти транспьютера. Несмотря на принципиальные различия в реализации внутренних и внешних каналов команды обмена одинаковы и различаются только адресами. Это позволяет осуществить компиляцию процедур безотносительно к способу реализации каналов, а следовательно, и к конфигурации системы. Рассмотрим пересылку данных по внешнему каналу. Команда пересылки направляет автономному канальному интерфейсу задание на передачу данных и приостанавливает выполнение процесса. После окончания передачи данных канальный интерфейс помещает этот процесс в планировочный список. Во время обмена по внешнему каналу оба обменивающихся процесса становятся неактивными. Это позволяет транспьютеру продолжать обработку других процессов во время пересылки через более медленные внешние каналы. Каждый канальный интерфейс использует три своих регистра, в которые загружаются указатель на рабочую область процесса, адрес пересылаемых данных и количество пересылаемых байтов. Для пересылки данных используется простой протокол, не зависящий от разрядности транспьютера, что позволяет соединять транспьютеры разных типов. Сообщения передаются в виде отдельных пакетов, каждый из которых содержит один байт данных, поэтому наличие буфера в один байт в принимающем транспьютере является достаточным для исключения потерь при пересылках. После отправления пакета данных транспьютер ожидает получения пакета подтверждения от принимающего транспьютера. Пакет подтверждения показывает, что процесс-получатель готов принять этот байт и что канал принимающего транспьютера может начать прием следующего байта. Протокол передачи пакета данных позволяет отсылать пакет подтверждения, как только транспьютер идентифицировал начало пакета данных. Подтверждение может быть получено
передающим транспьютером еще до завершения передачи всего пакета данных, и поэтому пересылка данных может быть непрерывной, то есть без пауз между пакетами.
В транспьютере второго поколения Т-9000 главной особенностью является аппаратная реализация механизма виртуальных линков, который позволяет вести по одному физическому линку
обмен между произвольным числом пар процессоров. Физически линк, соединяющий два транспьютера Т-9000, состоит из двух проводников, предназначенных для передачи в одном направлении, и двух проводников для передачи в противоположном направлении. В каждом направлении по одному информационному проводнику передаются данные, а по второму − синхросигнал, стробирующий эти данные. При передаче очередного бита данных, если его значение изменяется по сравнению с предыдущим битом данных, значение сигнала в линии стробирования не изменяется, и наоборот, если значения передаваемого и предыдущего битов одинаковы, то меняется значение в линии стробирования.
7. Заключение
В настоящее время тенденция в развитии микропроцессоров и систем, построенных на их основе, направлена на все большее повышение их производительности. Вычислительные возможности любой системы достигают своей наивысшей производительности благодаря двум факторам: использованию высокоскоростных элементов и параллельному выполнению большого числа операций.
С помощью транспьютеров были реализованы
идеи построения параллельных систем,
которые функционируют и
Транспьютеры успешно
В настоящее время транспьютеры не производятся, будучи вытесненными похожими разработками конкурентов, особенно Texas Instrument (TMS320) и Intel (80860). Принято считать, что концепция транспьютеров оказала заметное влияние на развитие микропроцессорной техники 80/90-х годов. Так, термин линк (link) - физический канал связи между параллельно работающими процессорами - пришёл из транспьютеров, а протокол транспьютерного линка стал стандартом IEEE.
8. Список используемых источников.
1. Корнеев В.В. Вычислительные системы. М. Гелиос АРВ, 2004.
2. Шнитман В.З., Кузнецов С.Д. Аппаратно-программные платформы корпоративных информационных систем. http://www.citforum.ru..
3. Ясинский Ф.Н., Чернышева Л.П. Многопроцессорные вычислительные системы. Архитектура. Математическое моделирование. Учебное пособие. Иваново, ИГЭУ, 1998 г. – 108 с.
4. Эндрюс Г.Р. Основы многопоточного, параллельного и распределенного программирования. – М.: Издательский дом «Вильямс», 2003. – 512 с.
Приложение 1
модель вычислительной системы на базе транспьютеров Т-800
Архитектура семейств Т-2, Т-4, Т-8
Транспьютеры относятся к
Мультипроцессорная система на базе транспьютеров представляет собой совокупность транспьютеров, соединенных линиями связи (непосредственно или через коммутатор).
Существенно упростить программирование мультипроцессорных ВС на базе транспьютеров позволяет тот факт, что одинаковая модель параллельных вычислений поддерживается как внутри отдельного транспьютера, так и в рамках мультитранспьютерной системы в целом. Благодаря этому программа, разрабатываемая для мультипроцессорной системы, может быть создана и отлажена на одном единственном процессоре, а затем перенесена на сеть транспьютеров без существенных преобразований. Исключение составляет ограничение числа каналов связи процесса с процессами, протекающими на другом транспьютере. Это ограничение преодолено в транспьютере Т-9000.
Обобщенная структура
В зависимости от модели, транспьютер состоит из 32- или 16-разрядного центрального процессора, интерфейса внешней памяти, 2 или 4 двунаправленных каналов - линков, программируемого блока событий (Event), таймера, внутреннего ОЗУ емкостью 2 или 4 Кбайт, блока режимов работы линков, блока системных функций. Некоторые модели могут содержать 64-разрядное устройство операций с плавающей точкой и (или) интерфейсные схемы внешних устройств, такие как НЖМД, ЭЛТ, сетевой адаптер. (Контроллеры внешних устройств обычно выполняются на кристалле вместо двух линков).