Russian Language English Language

2.Организация вычислительных систем

2.1 ЭФФЕКТИВНОСТЬ ОРГАНИЗАЦИИ ПАРАЛЛЕЛЬНЫХ ВЫЧИСЛЕНИЙ НА ПЕРСОНАЛЬНОМ КОМПЬЮТЕРЕ

2.2 ОТОБРАЖЕНИЕ ФУНКЦИОНАЛЬНЫХ ОПИСАНИЙ АЛГОРИТМОВ НА АРХИТЕКТУРЫ ВЫЧИСЛИТЕЛЬНЫХ СИСТЕМ

2.3 АНАЛИЗ ХАРАКТЕРИСТИК ВЫСОКОПРОИЗВОДИТЕЛЬНЫХ КЛАСТЕРНЫХ ВЫЧИСЛИТЕЛЬНЫХ СИСТЕМ

2.4 ИССЛEДOВAНИE МOДEЛИ МНOГOПOРТOВOЙ AССOЦИAТИВНOЙ ПAМЯТИ

2.5 ОПТИМИЗАЦИЯ И ОБФУСКАЦИЯ КОМБИНАЦИОННЫХ СХЕМ ДЛЯ СБМК И ПЛИС


Экспресс информация

Редколлегия журнала

Подписка на новости

Гостевая книга

Предоставление материалов

Письмо в редакцию

На начало


2011, Номер 1 ( 18)



Place for sale
BC/NW 2011; №1 (18):2

BC/NW 2011; №1 (18):2.2

 

Отображение функциональных описаний алгоритмов на архитектуры вычислительных систем

 

А.А. Кондрат, И.И. Ладыгин

Московский энергетический институт (Технический университет)

 

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

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

Целью данного проекта является разработка универсальной программной объектно-ориентированной Java-модели для симуляции работы вычислительных систем кластерного типа, включающей в себя 3 основные составляющие: граф потока данных прикладной задачи, независимый от конкретной платформы вычислительной системы, граф потока данных с характеристиками, учитывающими особенности конкретной платформы, а также описание самой платформы [1]. Программная модель построена на основе программного Java-framework, разработанного на кафедре Архитектур вычислительных систем Технического университета Ильменау (Германия) и подробно описанного в [2].

Созданная для работы с данной моделью программа-планировщик реализует отображение графа потока данных, генерируемого из задаваемых пользователем функциональных описаний алгоритмов (математических формул и MDL-файлов MATLAB Simulink), на ресурсы конкретной вычислительной системы, задаваемой пользователем, что является симуляцией выполнения графа на узлах данной ВС.

Граф потока данных генерируется программой с помощью специальных подпрограмм – парсеров, строящихся на основе регулярных грамматик и грамматических правил. Граф потока данных является представлением задачи, выполняемой на ВС, в котором явно выражены зависимости по данным между отдельными операциями.

Описание вычислительной системы задается с помощью древовидной структуры ссылок между объектами, характеризующими процессорные элементы, шины и элементы памяти. Все ресурсы вычислительной системы имеют ряд индивидуальных характеристик.

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

После нахождения оптимального, по мнению пользователя, отображения, в дальнейшем с учётом заданного графа задачи и ВС может быть сгенерирован код на языке параллельного программирования (MPI и др.) для его выполнения на реальной ВС.

 

Литература

1.               Kondrat Andrey: Mapping von Algorithmen und funktionalen Systembeschreibungen auf Architekturen unter Nutzung von Optimierungsstrategien // Technische Univeristät Ilmenau, Masterarbeit, 2010.

2.                 Marcus Müller: Transformation von modellbasierten Systembeschreibungen. Entwurf und Implementation eines Java-Frameworks // Technische Univeristät Ilmenau, Diplomarbeit, 2004.