Параллельное программирование на различных платформах многопроцессорных систем (Суперкомпьютер)


Назначение

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

  • обладает возможностью сохранения пользовательских настроек в отдельный файл с возможностью последующего считывания, в том числе через интернет;
  • содержит библиотеку параллельных алгоритмов;
  • позволяет пополнять библиотеку параллельных алгоритмов;
  • воспринимает алгоритмы на языке программирования C и собственном алгоритмическом языке программирования (АЯ);
  • симулирует исполнение параллельного алгоритма на выбранной многопроцессорной платформе;
  • обладает возможностью самостоятельного конструирования архитектуры многопроцессорной системы из библиотеки;
  • поддерживает исполнение алгоритмов по следующим технологиям параллельного программирования;
  • содержит библиотеку платформ многопроцессорных систем.
Общий вид стенда

Состав стенда

  1. Монтажная стойка (1 шт.)
  2. Консоль управления (1 шт.)
  3. Сервер (3 шт.)
  4. Коммутационная панель RJ-45 (1 шт.)
  5. Коммутатор сети Ethernet неуправляемый (1 шт.)
  6. Программное обеспечение, предустановленное на сервера.

Функциональность стенда и его структура

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

  1. ПО содержит библиотеку платформ многопроцессорных систем:
    • многопроцессорная система без совместного использования ресурсов (shared nothing);
    • многопроцессорная система с общими дисками;
    • кластер с общей оперативной памятью (SMC);
    • многопроцессорная система с общей оперативной памятью;
    • реальная физическая многопроцессорная система из п. 1.
  2. ПО содержит библиотеку параллельных алгоритмов.
  3. ПО позволяет пополнять библиотеку параллельных алгоритмов.
  4. ПO воспринимает алгоритмы на языке программирования C и собственном алгоритмическом языке программирования (АЯ).
  5. ПО симулируеи исполнение параллельного алгоритма на выбранной многопроцессорной платформе путём:
    • отображения анимации исполнения алгоритма с возможностью визуализации выбранной многопроцессорной системы, процесса обмена сообщениями между процессами исполняемого алгоритма и ситуации коллизии при работе параллельного алгоритма;
    • выполнения пауз и остановов в процессе симуляции исполнения алгоритма;
    • построения и отображения графиков эффективности параллельного алгоритма;
    • построения и отображения графиков ускорения параллельного алгоритма.
  6. ПО обладает возможностью самостоятельного конструирования архитектуры многопроцессорной системы из библиотеки, которая включает следующие физические блоки вычислительной системы:
    • процессорное ядро;
    • оперативная память;
    • дисковая память;
    • соединительная шина;
    • соединительная сеть;
    • кэш память.
  7. ПО поддерживает исполнение алгоритмов по следующим технологиям параллельного программирования:
    • для архитектур с общей памятью OpenMP, Intel Cilk, POSIX Threads;
    • для архитектур с распределенной памятью: MPI (точка-точка, коллективные, Put/Get).
  8. Программная система обладает возможностью сохранения пользовательских настроек в отдельный файл с возможностью последующего считывания, в том числе через интернет.
  9. ПО имеет систему защиты от несанкционированного копирования путём привязки к аппаратной части компьютера (серийный номер мат. платы), на который оно устанавливается.

Ниже приведены скриншоты работы ПО.