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

Автор работы: Пользователь скрыл имя, 22 Ноября 2013 в 19:01, реферат

Описание работы

Лаборатория распределенных вычислительных структур под руководством д.т.н., проф. В.А.Торгашева более 20 лет занимается разработкой вычислительных устройств, архитектура которых может динамически изменяться в процессе решения задачи, подстраиваясь под логическую структуру конкретной задачи. Основной разработкой лаборатории, которая определяет на протяжении многих лет направление работ лаборатории, является мультипроцессор с динамической архитектурой (МДА), первая из версий которого, ЕС-2704, была реализована в конце 80-х годов XX века.. Архитектура этого мультипроцессора основана на принципиально новом подходе к программированию и представлении задач не в виде алгоритма, а в виде сети, которая может изменяться в процессе решения.

Содержание работы

Введение
1. Динамические автоматные сети
2. Процессоры и МДА
3. Языковые средства и функции ОС МДА
Заключение
Список литературы

Файлы: 1 файл

Организация мультипроцессоров с динамической архитектурой.docx

— 28.65 Кб (Скачать файл)

усугубляется тем, что параллельные по сути задачи (таковыми являются большинство  задач, решаемых на компьютерах, тем  более на суперкомпьютерах) сначала  записываются в виде последовательного  алгоритма на одном из распространенных языков программирования, и лишь затем  в программу добавляются операторы, которые распараллеливают задачу на некоторое множество процессов, выполняемых на различных процессорах, при этом обычно используются стандарты  и средства распараллеливания MPI и PVM. Результатом такого подхода является крайне низкая реальная эффективность большинства современных мультипроцессорных суперкомпьютеров, которая на многих реальных задачах составляет от 1 до 10 от их пиковой производительности.

Мультипроцессоры с динамической архитектурой (МДА), более 20 лет разрабатываемые  в лаборатории распределенных вычислительных структур Санкт-Петербургского института  информатики и автоматизации  РАН (СПИИРАН), основаны не на традиционном алгоритмическом подходе к решению  задач на вычислительных машинах, а  на сетевом подходе к организации  вычислительного процесса, при котором  не программа и операционная система  подстраиваются под архитектуру  вычислительной системы, а архитектура  вычислительной системы динамически  подстраивается под структуру решаемых задач. При этом подходе программа представляется не в виде последовательного алгоритма, который в дальнейшем нужно приспосабливать к решению на параллельной мультипроцессорной структуре, а в виде сети, состоящей из операторов, данных, ссылок, отношений и других структур, при этом архитектура мультипроцессора и операционной системы изначально ориентирована на данную сетевую структуру задачи, что позволяет выполнять автоматическое распараллеливание задачи наиболее оптимальным образом, получая эффективную производительность, во много раз, или даже на порядки, более высокую, чем в традиционных мультипроцессорных структурах.

В МДА средства аппаратуры, операционной системы и языка программирования весьма тесно связаны между собой и все они ориентированы на поддержку выполнения сетевой программы и её автоматического распараллеливания. Теоретически все основные функции ОС и средства поддержки выполнения сетевой программы могут быть реализованы аппаратно, некоторый компромисс в пользу частично программной реализации этих средств делается только из соображений оптимизации совокупной стоимости аппаратуры и программного обеспечения.

 

Разработка программы для решения  некоторой задачи на МДА ведется  на специализированном графическом  языке программирования ЯРД, в котором  программа изображается в виде графа, элементами (узлами) которого являются компоненты программы, связанные между собой определенными отношениями (связями). Существует и текстовая форма этого языка. Функции (методы) каждого узла программы, являющегося объектом в смысле традиционного объектно-ориентированного подхода к программированию, записываются на обычных последовательных языках программирования (C, Ассемблер или другой язык) с соблюдением определенных правил и ограничений, однако они достаточно просты и независимы, что существенно улучшает общую структуру программы и упрощает разработку программы, при этом с программиста практически полностью снимается необходимость заботиться о распараллеливании программы, которое выполняется автоматически при ее выполнении на МДА.

Каждый объект в сетевой программе  принадлежит к одному из семи классов  различия, классы играют важную роль в  распараллеливании программы и  функционировании ОС, в то время  как типы определяют лишь разные варианты выполнения объектов в рамках своего класса. Классы объектов следующие: данные, операторы, ссылки, отношения, ресурсы, типы и структуры (подсети). В отличие от традиционного подхода, принадлежащие типам процедуры (методы) сосредоточены в объектах специального класса «тип» (type). Тело объекта этого класса содержит массив ссылок на методы, аналогичный таблице виртуальных методов (ТВМ или VMT) традиционных объектно-ориентированных языков. Кроме того, в объектах класса «тип» содержится информация о структуре данных соответствующего типа и о типе элементов или полей (но не о конкретных границах массивов).

Каждый объект любого другого класса обязательно связан с одним из объектов класса «тип». Это позволяет  повысить гибкость системы, в частности, позволив объектам менять тип и даже класс.

Функции операционной системы в  МДА, обеспечивающие управление процессом решения задачи на мультипроцессорной архитектуре, во-первых,

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

 

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

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

 

Заключение

 

Рассмотренные в данной работе концепция  и архитектура МДА позволяют  создавать суперкомпьютеры любой  вычислительной мощности от 2 –6 терафлопс до десятков и сотен петафлопс, существенно превышающие по своим параметрам (геометрическому объёму, энергопотреблению, стоимости) существующие суперкомпьютеры при сопоставимой производительности.

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

 

Список литературы

 

  1. Торгашев В.А., Царев И.В. Средства организации параллельных вычислений и программирования в мультипроцессорах с динамической архитектурой // Программирование. – 2001. – № 4. – С. 53-68.
  2. Царев И.В. Некоторые аспекты программирования и управления вычислительными процессами в машинах с динамической архитектурой // Труды СПИИРАН. – СПб: СПИИРАН, 2001. – Т. 1.
  3. Дашевский В.П., Царев И.В. Управление вычислениями в распределенной системе с динамической архитектурой при решении задач искусственного интеллекта // Искусственный интеллект. – 2001. – № 3. – С. 183-190.
  4. Торгашев В. А. Машины с динамической архитектурой // Теоретические основы и прикладные задачи интеллектуальных информационных технологий. Российская академия наук, Санкт-петербургский институт информатики и автоматизации — СПб, 1998, — с. 154–165.

 


Информация о работе Организация мультипроцессоров с динамической архитектурой