Интегрированная среда моделирования для параллельных и распределенных прототипов систем.

Alan D. George, Ryan B. Fogarty, Jeff S. Markwell, and Michael D. Miars

Перевод с английского: Ковтун Н.О.


ИсточникDepartment of Electrical and Computer Engineering, University of Florida P.O.Box 116200, Gainesville, FL 32611-6200
http://citeseerx.ist.psu.edu/viewdoc/download?doi=10.1.1.91.3531&rep=rep1&type=pdf

Введение

Параллельные и распределенные системы стали основой в области высокопроизводительных вычислений, так как появилась тенденция использования нескольких, очень мощных процессоров со многими микропроцессорами, объединенными между собой высокоскоростной сетью, для выполнения более требовательных приложений. Поскольку сейчас уже есть много процессоров, большее вниманием должно быть уделено для обеспечения того, чтобы процессоры выполняли код эффективно, точно и надежно с минимальным расходом ресурсов. Эти ресурсы проявляются в виде дополнительного оборудования и программного обеспечения для координации, которые делают разработку и оценку новых параллельных систем усложненным.
Проектирование высокопроизводительных параллельных и распределенных систем включает в себя проблемы, которые увеличились вместе с традиционным развитием компьютеров. С аппаратной стороны, трудно построить машину, которая будет работать под конкретное параллельное приложение эффективно, если она не понимает код. В области программного обеспечения - сложно настроить параллельные программы для запуска на таких сложных машинах. Из-за сложностей, разработчикам с обеих точек зрения развития потребовалась разработка среды по решению этих проблем. Для преодоления этих трудностей, мы разработали Integrated Simulation Environment (ISE), где параллельные и распределенные архитектуры моделируются с использованием сочетания высококачественных моделей и существующего hardware-in-the-loop (HWIL) для выполнения реальных параллельных программ на виртуальных прототипах. ISE позволяет разработчику запуск управляемого моделирования на сетевых рабочих станциях, таким образом, нагрузка может быть распределена, когда несколько наборов параметров применяются к моделям. Текущая реализация ISE создана в блочно-ориентированной системе моделирования сетей с параллельными программами, написанными на популярных Message-Passing Interface (MPI) ,скоординированных языками C или C + +.

Связанные работы

Способность запускать программное обеспечение реальных пользователей на моделирующих устройствах является давним желанием исследователей и разработчиков в области информатики. Только в последние годы возникли методы для достижения этой цели. При запуске последовательного программного кода на VHDL, процесс со-моделирования (также называемый процессор совместного проектирования или coverification) берет на себя инициативу в попытке объединить программное обеспечение и аппаратные средства моделирования. Современные методы совместного моделирования, были разработаны для запуска приложений на физических прототипах, использующие реконфигурируемое FPGA оборудование. В последние годы, появился новый акцент в параллельных системах и их моделировании. Несколько научно-исследовательские учреждений создали параллельные или многопоточные программы, которые моделируется по методу общей памяти мультипроцессоров. Меньшее внимание уделили трудностям моделирования программ передачи сообщений в многомашинных системах, недостаток адресации ISE.
Co-моделированием является процесс, при котором реальный код приложения, написанные на языке программирования высокого уровня, такой как С, подается на процессор модели, написанной в описание низкоуровневого аппаратного языка, таких как VHDL или Verilog. VHDL или Verilog симулятор отвечает за моделирование работы приложения на оборудование, способствуя, таким образом, наличия аппаратной разработки в отладке и возможности проверки разработки. Подсистемы связаны с симулятором, отвечающим за выполнение кода и создания реальных результатов, способствуя, таким образом, разработке программного обеспечения. Для интеграции двух сторон совместного моделирования, Liem и др.. инъекционных кодов приложения, обеспечив вызовы кода из моделирования VHDL. Другие методы, такие, как Becker, Soininen и др., создат совершенно отдельный процесс для кода приложения, который общается через необходимый VHDL или Verilog симулятор четко определенными сообщениями, передающимися с использованием UNIX взаимодействия между процессами. В целях сделать моделирование сред проще в использовании, такие симуляторы были расширены, чтобы автоматически генерировать код, необходимый для взаимодействия приложения и процессора моделирования. Эти системы, которые включают среды Kim, Valderrama, и др., позволяют пользователю вводить не модифицированный код без вставки специальные вызовов симулятора-связи. Техника совместного моделирования показала себя настолько полезной, что многие компании, такие как ViewLOGIC и Cadence, включают в себя механизмы совместного моделирование в своих коммерческих продуктах. Кроме того, ведется работа по стандартизации и создание универсального интерфейса между различными симуляторами и их моделями, называемого моделью открытого интерфейса (OMI). В соответствии с предложением Dunlop и McKinley, первое применения этого интерфейса будет сосредоточено на OMIcompliant VHDL или Verilog моделей и OMI-совместимых приложений С, для plug and play пользовательских приложений в аппаратных моделях.