Архитектура потоковой супер ЭВМ, построенной на принципах схемной эмуляции
Статья - Компьютеры, программирование
Другие статьи по предмету Компьютеры, программирование
потоками, а также проблемы распараллеливания и синхронизации информационных потоков самой задачи. В свою очередь, поддержание всего этого требует немалых аппаратных усилий. Все это привело к тому, что современные процессора превратились в сложнейшие устройства, в которых вспомогательные узлы - т.н. опережающей выборки команд, условных ветвлений, блоков синхронизации и т.д. - занимают на кристалле значительно больше места, чем непосредственно само арифметико-логическое устройство.
Идея реконфигурируемых вычислительных структур, казалось бы, могла стать достойным ответом на проблему. Но, как выяснилось, она оказалась не только сложнореализуемой, но даже использование такой системы превратилась в достаточно нетривиальную задачу. К тому же, такой ответ оказался не вполне достаточным и потому, что наилучшим образом подходит только для решения потоковых задач. Поэтому говорить о широком классе задач при работе с такой структурой не приходится.
В противоположность сказанному можно утверждать, что идея использования системы эмуляции в основе вычислительной структуры, впервые открывает простейший путь соединения любого числа процессоров в единую "упряжку", потому что никакого информационного и алгоритмического взаимодействия процессоров здесь просто нет. Вся работа по организации этих процессов переносится на уровень программной модели задачи пользователя, что, в свою очередь, позволяет использовать в системе процессора с элементарной внутренней архитектурой. Все что требуется в такой структуре от процессора для организации мультипроцессорности - это подать в сетевой концентратор сигнал готовности, после того как операнды, попавшие на его входы вместе с потоком, обсчитаны и результат возвращен в рабочее поле эмуляции.
Представляемая вычислительная структура, основанная на принципах схемной эмуляции, по сути, есть ни что иное, как машина потоков. Однако главное отличие ее от архитектур традиционных потоковых машин состоит в том, что в ней порядок операций, предписанный вершинами графа задачи, определяется не готовностью данных, а информационными потоками в программной модели задачи пользователя. К слову будет сказать, что именно это отличие, главным образом, и освобождает представляемую мною архитектуру от массы проблем, сопутствующим традиционным потоковым архитектурам. И от неразрешимости которых, те до сих пор так и не получили развития дальше экспериментальных образцов.
Такая система самым оптимальным образом подходит для решения как параллельных, так и параллельно-последовательных задач. При том, что генерация всех процессов в программной модели и их взаимная синхронизация происходит автоматически.
Фундаментальным отличием представляемой идеологии от идеологии РВС состоит в том, что от понятий "структура" и "реконфигурация" мы переходим к оперированию понятиями - "эмуляция" и "рисунок задачи". В соответствии с идеологией системы эмуляции, модуль схемной эмуляции, по сути, выполняет функцию системы исполнения задач пользователей, представленных в графическом виде.
Этапы "программирования" и исполнения в представляемой архитектуре полностью согласованы. "Общим знаменателем" такой согласованности выступает работа с графическим образом проекта, как на этапе проектирования, так и на этапе исполнения. Для машины потоков, построенной на принципах схемной эмуляции, представление проектов в графическом виде является единственно допустимым и естественным способом. Поэтому процесс ее "программирования" до безобразия прост: начинается он с прорисовки графа задачи в среде графического редактора, а заканчивается загрузкой файла описания схемы задачи в саму платформу одним кликом мышки.
Вычислительная структура, основанная на принципах схемной эмуляции, является более однородной, чем структуры РВС. Как видно на рис.3, в ней можно четко выделить три области: рабочую область эмуляции, сетевой концентратор и блоки исполнительных процессоров. Увеличение степени однородности открывает широкие возможности по увеличению функциональной мощности базовой структуры.
Описание работы представляемой вычислительной системы, приведенное выше, касалось только части всей функциональной схемы - базовой структуры. В нем были задействованы следующие узлы: рабочая область эмуляции, концентратор SW и модуль исполнительных процессоров ИП 1-ИП N. Если принять, что все они находятся в пределах одного кристалла микросхемы программируемой логики, то такую архитектуру смело можно назвать закрытой.
Современный уровень интеграции ПЛИС позволяет при реализации структуры РВС размещать на кристалле порядка 100 макропроцессоров. В системе эмуляции большую часть ресурсов кристалла займет рабочее поле эмуляции. Поэтому обобщенная оценка показывает, что оставшихся его ресурсов окажется достаточным для реализации всего лишь с десяток исполнительных процессоров. Естественно, что такого их количества явно недостаточно для полноценного обслуживания всех порожденных программной моделью внешних потоков. В этом случае, потоки, которым не хватит свободных ИП, будут переходить в состояние ожидания. Благо, произойдет это на уровне программной модели и поэтому никаких аппаратных затрат в виде разного рода буферов памяти здесь не потребуется.
Не вызывает сомнений, что имеющегося числа ИП в такой структуре можно считать более чем достаточным при реализации какой-нибудь системы управления (напр?/p>