Архитектура потоковой супер ЭВМ, построенной на принципах схемной эмуляции

Статья - Компьютеры, программирование

Другие статьи по предмету Компьютеры, программирование

?мер, бортового компьютера), но никак не суперЭВМ. Очевидно, что уменьшить влияние притормаживания потоков на скорость решения задач пользователей можно только увеличением числа ИП в системе. Разрешить проблему нехватки ресурсов одного кристалла ПЛИС поможет все та же однородность структуры системы эмуляции. Для этого, внешние потоки с выхода сетевого концентратора SW вместо внутреннего блока исполнительных процессоров следует перенаправить в Блок Портов низкоскоростного последовательного ввода-вывода. При этом сам модуль исполнительных процессоров необходимо будет переместить в отдельные корпуса ПЛИС. При таком варианте реализации структуры, каждый из внешних потоков будет использовать соответствующий порт как транзитный узел.

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

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

Рассмотренные варианты структуры системы эмуляции, в которых использован внешний модуль исполнительных процессоров назовем открытой.

Здесь к слову будет сказать, что вычислительная система, построенная на принципах открытой структуры обладает широкими возможностями к развитию. Например, она позволяет в качестве исполнительных процессоров использовать обычные (к примеру - RISC) коммерчески доступные микропроцессорные кристаллы.

В рассмотренной выше функциональной схеме использование такого узла как сетевой концентратор (SW) также несет высокую идейную нагрузку. Дело в том, что в современных архитектурах вычислительных структур (не исключением которых стали как потоковые машины, так и реконфигурируемые вычислительные структуры) широкое применение находят сетевые коммутаторы (Hab). Конечно, реализация такого устройства требует меньших аппаратных ресурсов, однако его принципиальным недостатком является жесткий принцип действия. Это значит, что в момент программирования в его структуре может быть реализована только одна схема коммутации. И замена старой схемы на новую потребует очередного перепрограммирования. Принципиальным отличием концентратора есть то, что по своей сути он является устройством параллельного действия. Это значит, что в каждый момент времени такое устройство в состоянии обеспечить гибкую коммутацию любого числа непересекающихся (не имеющих коллизий) активных каналов.

Таким образом, соединение воедино двух упомянутых компонент - авторского модуля схемной эмуляции (построенного на принципах многопоточности) и сетевого концентратора (как устройства параллельного действия) придает вычислительной структуре абсолютную степень параллельности, а также высокую степень гибкости, которая, в свою очередь, служит источником различных структурных вариаций.

Тем не менее, принцип многопоточности модуля эмуляции - это, на самом деле, только первое важное его свойство. Другим, не менее важным свойством, следует считать высокую степень поддержки идеологии т.н. распределенного управления систем (Distributed Control System). Что, в свою очередь, позволяет на самом высоком уровне обеспечить высокую степень масштабируемости структуры. Это означает, что если ресурсов одной микросхемы программируемой логики окажется недостаточным для загрузки в нее всего файла описания схемы, то достаточно будет всего лишь разбить последний на нужное число фрагментов (частей). Притом, сделать это автоматически, находясь в среде графического редактора схем. А после этого каждый фрагмент загрузить в отдельный кристалл. Понятно, что размер фрагмента выбирается из такого расчета, чтобы ресурсов одного кристалла ПЛИС стало достаточно для загрузки одного фрагмента ФОС.

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

Для целей аппаратной поддержки принципа масштабируемости в структуре системы эмуляции (рис.3) служит порт (Порт 1) низкоскоростного обмена потоками. В соответствии с идеологией системы эмуляции считается, что в этот порт направляются потоки (Q), образованные как раз на местах "разрезания" файла описания схемы. Чтобы организовать обмен такими потоками между всеми кристаллами ПЛИС, необходимо все выводы микросхем, соответствующих упомянутым портам, соединить между собой посредством внешнего сетевого концентратора (концентратора II уровня).

Здесь резонно может возникнуть вопрос - а причем тут масштабируемость и зачем ее поддерживать? А все дело в том, что идеология системы эмуляции свободна от такого понятия как структурно-процедурный метод реш?/p>