Архитектура потоковой супер ЭВМ, построенной на принципах схемной эмуляции
Статья - Компьютеры, программирование
Другие статьи по предмету Компьютеры, программирование
?е процессоры, в отличие от стандартного микропроцессора, не управляют процессом обработки информации, а лишь реализуют операции над поступающими на их входы операндами. В свою очередь, макропроцессоры реализуют крупные операции, предписанные вершинам информационного графа. В каждый момент времени макропроцессор может реализовать одну макрооперацию. Незадействованные в макрооперации элементарные процессоры будут простаивать. Для реализации всего информационного графа макропроцессоры объединяются с помощью системного коммутатора (коммутатора второго уровня) в единую параллельно-конвейерную структуру.
Таким образом, совокупность вычислительных структур, созданных в рамках базовой архитектуры РВС, образуют виртуальный проблемно-ориентированный вычислитель, структура которого адекватна информационному графу решаемой задачи. При этом считается, что именно при таком подходе будет достигнута реально высокая производительность вычислительной системы на широком классе задач, а также почти линейный рост производительности при увеличении числа процессоров. Правда, говоря о широком классе задач, как на мое мнение, разработчики РВС немного льстят себе. Потому что изначально такие системы позиционировались для решения исключительно параллельных задач, да и то - потоковых. При том, что подавляющее число практических приложений представляют собой сложную иерархию параллельно-последовательных меняющихся во времени процессов.
Рис. 2 Архитектура мультимакроконвейерной РВС с программируемой логикой.
Реализация идеи реконфигурируемых МВС долгое время сдерживалось отсутствием подходящих компонент. Появления в конце 90-х годов XX века программируемых логических интегральных схем сверхвысокой степенью интеграции вдохнуло в идею второе дыхание. Микросхемы ПЛИС представляет собой матрицу логических ячеек (FPGA - Field Programmable Gates Array), путем программирования и коммутации которых можно создавать аппаратные реализации различных структур, причем перепрограммирование допускается многократно.
Вот, пожалуй, и вся идея организации архитектуры программируемых реконфигурируемых вычислительных структур. Она является основополагающей и лежит в основе РВС различных типов. Отличие подходов заключается лишь в той или иной степени детализации конвейерной ступени, а также в том или ином способе реконфигурирования связей между ними. Поэтому для дальнейших рассуждений понимания рассмотренной сути представляемой идеи вполне достаточно.
Тем не менее, изначально красивая идея оказалась труднореализуемой. И главным источником преткновения стал факт того, что число операционных вершин в графе алгоритма практически любой реальной задачи пользователя оказывается значительно больше числа макропроцессоров в мультиконвейере. Поэтому информационные графы больших задач не могут быть целиком отображены в имеющемся аппаратном ресурсе РВС.
Именно на разрешение этой проблемы и была направлена львиная доля усилий исследователей и разработчиков. Для этого информационный граф всей задачи предлагается сегментировать на фрагменты - непересекающиеся базовые подграфы, физически реализуемые в аппаратуре РВС. Размер подграфа выбирается таким образом, чтобы ресурсов системы было достаточно для его структурной реализации. В таком случае решение большой задачи выполняется структурно-процедурным способом, при котором на аппаратный ресурс поочередно отображаются базовые подграфы всего информационного графа. Весь процесс назван "структурно-процедурным" оттого, что вычисления в соответствии с отображенным подграфом выполняются структурно, а смена подграфов выполняется процедурно.
И опять-таки, за внешне привлекательной идеей организации структурно-процедурного способа обнаружилось множество подводных камней. Так, многокритериальное разрезание графа G(Q,X) на подграфы оказалось достаточно непростым процессом. В свою очередь, и процесс отображения каждого подграфа Gi(Qi,Xi) в мультиконвейер также оказался нетривиальной задачей. Требующей, к тому же, организации механизма сохранения результатов обработки каждого подграфа в некоторой промежуточной памяти. Соответствующих аппаратных ресурсов требует и механизм формирования очереди подграфов.
К тому же, не вызывает сомнения, что применение структурно-процедурного метода замедляет скорость обработки данных, поступающих на вход мультиконвейера. Ведь регулярной перезагрузки кадров в кристалл ПЛИС просто не избежать. Как выход из создавшейся ситуации разработчиками РВС предложен механизм накопления векторов входных данных в пакеты, которые затем уже поступают на вход структуры. Но и в таком случае вполне реальной может сложиться ситуация, когда время подготовки вычислений станет соизмеримым и даже заметно превышающим время самих вычислений! До боли знакомая картина, уже наблюдаемая в архитектурах универсальных ЭВМ с жесткими межпроцессорными связями.
Как метод уменьшения зависимости от частой перезагрузки кадров было предложено организовывать отдельные микросхемы программируемой логики в большие решающие поля. В этом случае все вычислительные и коммутационные структуры задачи разворачиваются не в отдельной микросхеме ПЛИС, а во всем решающем поле. Однако реализация такой идеи также потребовала немалых аппаратных ресурсов.
В то же время, построение больших решающих полей на ПЛИС требует преодоления ряда проблем. Одна из которых - это негативный эффект границ