
Я постарался кратенько описать одно из направлений работы НИИ МВС: разработку многопроцессорных вычислительных систем с программируемой реконфигурируемой архитектурой.
Научно-исследовательский институт многопроцессорных вычислительных систем им А.В. Каляева Южного Федерального Университета (НИИ МВС ЮФУ) создан почти 36 лет назад, как базовый институт Минвуза СССР в области разработки и создания перспективных средств вычислительной техники. За эти годы в стенах института было разработано немало всего очень интересного; историю НИИ МВС можно почитать на официальном сайте www.mvs.tsure.ru. Я бы хотел рассказать о тех направлениях, в которых ведутся фундаментальные и прикладные исследования в настоящий момент:
- Высокопроизводительные многопроцессорные вычислительные системы;
- Интеллектуальные информационно-управляющие системы;
- Нейропроцессорные системы;
- Высоконадежные управляющие комплексы объектов атомной энергетики;
- Технологии мультиагентного взаимодействия в распределенных вычислительных и управляющих системах;
- Микросенсорные системы сбора и обработки информации.
В этой статье я поподробнее остановлюсь на флагманском направлении работы института – высокопроизводительных многопроцессорных вычислительных системах с программируемой реконфигурируемой архитектурой. Если читателям thinkit.ru тема покажется интересной, я напишу ряд статей про другие направления.
Высокопроизводительные многопроцессорные вычислительные системы.
В последнее время даже персональные компьютеры стали многоядерными, поэтому все it-шники в теме, но, на всякий случай, напомню основные проблемы, с которыми приходится сталкиваться при разработке многопроцессорных компов: с увеличением числа процессоров (или ядер) в системе, реальная производительность растет не пропорционально. То есть, после увеличения вдвое(!) количества процессоров об удвоенной вычислительной мощности приходится только мечтать. Растут системные потери при организации параллельных вычислений, сказывается неоптимальность архитектуры и др. В связи с этим современные кластерные суперЭВМ с жесткой на большинстве задач имеют реальную производительность, не превышающую 10-15% от декларируемой пиковой производительности.
В НИИ МВС была предложена и разработана оригинальная концепция построения параллельных универсальных высокопроизводительных вычислительных систем с программируемой архитектурой и структурно-процедурной организацией вычислений. Решение описанной выше проблемы попросту говоря сводится к отказу от жесткой архитектуры и переходу на ЭВМ с программируемой архитектурой, благо для этого есть элементная база: высокопроизводительные ПЛИС (программируемые логические интегральные схемы) с тактовыми частотами в сотни МГц. Разрабатываемые в институте многопроцессорные системы позволяют перестраивать архитектуру в соответствии с решаемыми на данной ЭВМ задачами. Такое решение позволяет добиться почти пропорциональной зависимости производительности от количества процессоров. Более того, возможность изменения архитектуры системы в процессе решения задачи позволяет добиться чрезвычайно высоких показателей реальной производительности для прикладных задач: 50-90% от пиковой производительности системы.
Многие разработанные в НИИ вычислительные системы строятся по модульному принципу: имея один или несколько модулей мы можем начать использование вычислительной системы, а в дальнейшем, при необходимости, добавить к ней новые модули. Такая открытость архитектуры заметно ускоряет и облегчает ремонт, ведь для суперЭВМ каждая минута простоя – это огромные убытки.
В каждой бочке должна быть ложка меда. В данном случае – это сложность разработки программного обеспечения, ведь чтобы вычисления хорошо распараллеливались, программист должен не только хорошо знать соответствующие алгоритмы, но еще и понимать особенности архитектуры машины, программу для которой он пишет. В идеале такой программист должен обладать еще навыками схемотехника. Для облегчения разработки ПО в НИИ МВС был разработан язык структурно-процедурного программирования Argus v.3.0, позволяющий осуществлять низкоуровневый доступ к аппаратному обеспечению базовых модулей реконфигурируемых систем; а так же язык программирования высокого уровня COLAMO v.2.0 с неявным описанием параллелизма, который обеспечивает синтаксическую поддержку реконфигурации аппаратной платформы и возможность использования элементов библиотек масштабируемых IP-ядер.
При подготовке статьи использовались материалы молодежной конференции "Высокопроизводительные вычислительные системы-2008" и официального сайта НИИ МВС www.mvs.tsure.ru.