
- •Реферат
- •Ввидение
- •1. Общие положения
- •2.Характеристики современных компьютерных систем
- •3. Компьютерные системы с программируемой структурой
- •4. Кс с архитектурой типа "процессор в памяти" (Processor-In-Memory) и ассоциативная обработка
- •5. Особенности архитектурно-структурной организации метакомпьютеров
- •6. Технология управления ресурсами распределенных систем – grid
- •Заключение
- •Список литературы
3. Компьютерные системы с программируемой структурой
В компьютерных системах с программируемой (реконфигурируемой) структурой (РКС) обрабатывающее поле заданной размерности настраивается на выполнение конкретного алгоритма или его части, обеспечивая отображение этого алгоритма оптимальным способом на аппаратные ресурсы.
Применительно к РКС традиционный процесс программирования разделился на две составляющие: программирование архитектуры (структуры) КС и программирование алгоритма решаемой задачи.
Основная идея архитектуры таких вычислительных систем состоит в том, чтобы программно настроить схему, реализующую требуемое преобразование данных. Такие вычислительные системы, как правило, строятся с применением программируемых логических интегральных схем (ПЛИС), позволяющих в одном корпусе программно скомпоновать из вентилей, размещенных на ПЛИС, электронную схему, состоящую из нескольких десятков и даже тысяч интегральных схем стандартной логики [4]. Например, ПЛИС типа XC4085XL-09 фирмы Xilinx имеет 3136 программируемых логических блоков и минимальную длительность такта работы 4,6 наносекунд.
С момента зарождения ПЛИС их использование в мировом компьютеростроении шло по следующим основным направлениям [5]:
- создание специализированных микросхем узкого применения под конкретные проекты (например, средства цифровой обработки сигналов, телекоммуникационное оборудование, микроконтроллеры, интерфейсные узлы);
- создание универсальных и заказных проектируемых БИС для физического моделирования конкретных инженерно-технических решений;
- использование серийных изделий при мелкосерийном производстве КС с последующим переходом к заказным БИС.
- создание реконфигурируемой структуры компьютера и процесса обработки данных, выполняемого компьютером.
К классу вычислительных систем с программируемой структурой относятся систолические и волновые процессоры, программируемые процессоры, ассоциативные процессоры с SIMD-архитектурой и др.
Основная трудность в использовании реконфигурируемых структур состоит в подготовке настроечной информации для создания в ПЛИС схемы, реализующей заданный алгоритм.
Один из возможных вариантов построения КС с применением ПЛИС приведен в [4]. Суперкомпьютер НС-98ш содержит управляющий компьютер и двухплатный программно- реконфигурируемый вычислитель, который содержит 14 ПЛИС Virtex-II серии 6000 и 4 Virtex-II серии 4000. В совокупности обе эти ПЛИС содержат 98 млн. вентилей.
После включения питания первая ПЛИС программируется с помощью информации, поступающей из постоянного запоминающего устройства, которое размещено на плате. При этом в ПЛИС формируется порт шины PCI-X, через который управляющий компьютер, используя среду разработки программ Viva, программирует остальные ПЛИС.
Принимая во внимание, что на ПЛИС можно реализовать любую схему, появляется возможность создать однородную вычислительную среду из одного типа ячеек, программируя связи между ячейками. Такая среда имеет короткие связи между соседними ячейками, а реализация взаимодействия между удаленными ячейками осуществляется по принципу близкодействия через цепочку ячеек, расположенных между ними. Все это приводит к незначительным задержкам сигналов внутри микросхемы и, следовательно, обеспечивает реальную возможность получения высокого быстродействия устройств, выполненных на ПЛИС. Тем не менее, схемы однородной вычислительной среды, предназначенные для реализации арифметических операций над 64-разрядными операндами с плавающей точкой, все же уступают по быстродействию устройствам обработки операндов с плавающей точкой серийных микропроцессоров с традиционной архитектурой.
Программируемый микропроцессор устраняет этот недостаток, сохранив преимущества программируемое!!! структуры вычислительных систем. Такой микропроцессор строится на кристалле как ячейка однородной решетки йхй. Ячейка содержит процессор и программируемый коммутатор, предназначенный для передачи и приема данных между соседними ячейками.
Процессор строится по конвейерной схеме с дисциплиной обслуживания FIFO и с возможностью использования промежуточных результатов сразу после их получения на каждой стадии конвейера, в том числе, для передачи в другие ячейки. Предусматриваются также кэш-память данных и кэш-память команд.
Связи между ячейками и связи между обрабатывающими устройствами в конвейере идентичны и базируются на промежуточных FIFO-очередях, передающих данные по готовности приемника. При этом процесс вычислений определяется размещением данных в очередях.
Программируемый коммутатор ячейки содержит 2 интерфейсных процессора: статический и динамический. Статический интерфейсный процессор управляет передачами слов данных по устанавливаемым при компиляции программы маршрутам.
Динамический интерфейсный процессор служит для передач данных, выполнение которых нельзя предсказать во время компиляции (например, промахи в кэш-памяти, прерывания и т.д.). Он управляет процедурой передачи пакетов слов, используя метод коммутации канала на время передачи.
Ячейки, находящиеся на границе поля ячеек, имеют свободные каналы, к которым подключаются контроллеры памяти, периферийных внешних устройств. Прерывания от контроллеров передаются в виде специальных сообщений, в которых указывается, какая ячейка должна обрабатывать это прерывание.
В [6] рассматриваются принципы построения многопроцессорной системы с программируемой архитектурой и структурно-процедурной организацией вычислений, состоящей из унифицированных базовых модулей.
Структурно-процедурная организация вычислений представляет собой детерминированную последовательность кадров, каждый из которых можно рассматривать как некий функциональный оператор. Выделены следующие типовые процедуры:
- обращения к каналам распределенной памяти - макрообращения;
- параллельного доступа - макрокоммутации;
- типовые конструкции структурной реализации фрагментов задач - макрооперации.
В отличие от ряда реконфигурируемых вычислителей, для которых требуется непрерывно загружать программную и числовую информацию из host-машины, в вычислитель с программируемой архитектурой сразу загружается целая программа, представляющая собой последовательность вызовов кадра. После этого вычислитель функционирует автономно. Такая организация вычислительного процесса позволяет существенно повысить эффективность вычислителя, а наличие множества каналов распределенной памяти - повысить скорость обработки информации.
Общая структура реконфигурируемого вычислительного комплекса, представленная в [6], содержит реконфигурируемый вычислитель, состоящий из N базовых модулей, и устройства управления. При этом каждый базовый модуль (БМ) представляет собой многопроцессорную вычислительную систему со структурно-процедурной организацией вычислений. Коммутационная система БМ реализует не только информационные связи между компонентами базового модуля, но и информационные связи между БМ. Подобная организация коммутационной структуры обеспечивает однородность вычислительной системы (система состоит только из базовых модулей) и высокую технологичность организации вычислительных процессов. Обмен информацией между объектами, принадлежащими разным базовым модулям, организуется точно так же, как и обмен между объектами внутри базового модуля.
Для ввода и вывода программной и числовой информации используется шина ввода/вывода, при этом могут быть применены различные протоколы: ISA, PCI, VHE. Исполняемый модуль задачи и исходные данные поступают из host-машины по шине ввода/вывода, а по завершении выполнения задачи в host-машину выгружаются результаты решения задач.
Коммутационная структура базовых модулей позволяет передать информацию не только между смежными базовыми модулями, но и между базовыми модулями, номера которых отличаются более чем на единицу. В этом случае информация будет передаваться транзитом через промежуточные базовые модули.
Может быть выделена группа однородных элементов (элементарных процессоров и блоков распределенной памяти), которые объединяются з специальные секции. Секции соединяются между собой в двухмерную решетку, закольцованную по одному измерению. Секция, в которой находятся элементарные процессоры, называется секцией макропроцессора, а секция, в которой находятся блоки распределенной памяти, - секцией макропамяти. Каждая секция может не только соединять информационные входы с элементами секций, но и осуществлять транзит информации с входа секции на выход.
Функции пространственной коммутации распределены между макропроцессорной секцией и секцией макропамяти.
Каждая макропроцессорная секция реконфигурируемого вычислителя содержит двунаправленные каналы передачи информации, объединенные в четыре группы, и четыре элементарных процессора, связанные между собой по полному графу.
Структурная схема секции макропроцессора содержит четыре элементарных процессора и блок управления. Каждый элементарный процессор имеет два информационных входа X и Y и информационный выход Z. Секция макропроцессора имеет 16 информационных выводов.
Коммутационная система макропроцессорной секции обеспечивает подключение к информационным входам X(Y) ЭП любого информационного вывода секции V или информационного выходалюбого элементарного процессора Z, а также коммутацию по полному графу выводов макропроцессорной секции V между собой для транзитной передачи информации. Кроме того, к информационным выводам секции могут быть подключены выходы Z элемента памяти.
Блок управления выполняет настройку элементарных процессоров на арифметико-логические операции, а также настройку коммутационной системы.
Аналогично, каждая секция макропамяти содержит 16 двунаправленных каналов передачи информации, объединенных в четыре группы и четыре блока распределенной памяти. Другими словами -коммутационная структура секций изоморфна.
Все строки базового модуля также изоморфны между собой. Каждая строка информационно закольцована. При наращивании базовых модулей системы информационные выходы базовых модулей соединяются, обеспечивая, таким образом, естественное комплексирование реконфигурируемого вычислителя.
В базовом модуле реконфигурируемого вычислителя реализован ряд подсистем:
- информационная подсистема;
- подсистема синхронизации вычислительного процесса; подсистема настройки на исполняемый кадр (подсистема реконфигурации архитектуры на программном уровне);
- подсистема настройки конфигурации ПЛИС реконфигурируемого вычислителя (подсистема реконфигурации архитектуры на схемотехническом уровне);
- подсистема обработки отказов в работе системы.
Информационная подсистема обеспечивает реализацию структурно-процедурных вычислений. Данная подсистема включает в себя множество информационных каналов и внутренние коммутационные структуры модулей реконфигурируемого вычислителя.
Как отмечалось ранее, в многопроцессорных системах со структурно-процедурной организацией вычислений управляющими элементами являются контроллеры (мультиконтроллеры) распределенной памяти. Настройка макропроцессоров на макрооперации кадра осуществляется с помощью контроллеров распределенной памяти [5].
Технология ПЛИС позволяет реализовать два уровня программирования архитектуры системы. Первый уровень - пользовательский (системного программиста). На этом уровне создаются макрооперации с помощью настройки процессоров на определенные арифметико-логические операции и соединения процессоров в вычислительную структуру с помощью коммутационной системы. Помимо этого в макрооперации участвует система распределенной памяти.
Второй уровень - схемотехнический, на котором возможно средствами ПЛИС-технологии изменить систему команд элементарных процессоров, реализуя набор специализированных операций. В настоящее время ПЛИС-технология широко используется при создании аппаратно-программных средств, позволяющих создавать реконфигурируемые вычислительные системы.
Таким образом, синтез виртуальной проблемно-ориентированной архитектуры может быть осуществлен на уровне программирования функций ячеек ПЛИС и трассировки связей между ячейками ПЛИС. Это позволяет создать средствами проектирования ПЛИС компактные аппаратные решения, учитывающие специфику задач проблемной области, формат представления информации, а также требования к производительности системы.
Наличие развитых средств описания аппаратуры и поведения проектируемого объекта вместе с системной и пользовательской библиотеками позволяют упростить и формализовать общий процесс проектирования.
Таким образом, общие принципы организации РКС, построенных на ПЛИС, можно сформулировать следующим образом [7].
Структура РКС состоит из двух частей: постоянной (фиксированной) части - Host-компьютера и переменной (реконфигурируемой) части, которая подключается к Host-машине через стандартные шины. Она представлена материнской платой с внутренней локальной шиной для подключения нестандартной (переменной) части, представленной широким набором модулей расширения переменных аппаратных средств.
При создании любой конфигурации системы основная работа по реализации алгоритма переносится на специализированные блоки, распределяя процесс обработки информации таким образом, чтобы минимизировать целевую функцию (например, стоимость, время вычислений и т.д.).
В связи с большой сложностью решения такой задачи оптимизации в общем виде, приходится находить квазиоптимальное её решение методом последовательных приближений, каждый раз перераспределяя загрузку составных частей системы.
Структурная организация реконфигурируемых устройств основывается на использовании специальных материнских плат, на которую устанавливаются модули расширения, подключаемые к плате через локальную шину PCI. Сами же материнские платы подключаются к стандартной шине компьютера и работают в режиме сопроцессора. Такие платы разрабатываются многими фирмами, в частности -AlphaData, AnnapolisMicroSystems, Nallatech и др. Достаточно подробная информация об этих платах приведена в [7].
Оценивая состояние современной компьютерной науки и техники в области создания и применения РКС, можно спрогнозировать следующие направления их развития и применения [5]:
- организация реконфигурируемых функциональных полей, состоящих из одного или нескольких кристаллов ПЛИС с асинхронным взаимодействием функциональных блоков;
- построение нейросетевых автоматов и динамических иерархических сетей на их основе;
- реализация функционального параллелизма процедур со сложными структурами данных и функциями;
- применение в однородной распределенной функциональной среде;
- поддержка различных базовых процедур когнитивного тракта, включая поддержку основных форм представления и взаимного преобразования информации (текстовой, речевой, аналитической, графической), взаимодействие через языковую картину мира с фиксацией и обобщением смысла исходных и синтезируемых информационных сообщений, онтологоуправляемые когнитивные процессы, построение отказоустойчивых (живучих) КС, алгоритмизация сетевых архитектур, саморазвитие КС с использованием знание ориентированной парадигмы и др.