Skip to content

Доработка структуры исходного кода тестирующего приложения #26

@asalnikov

Description

@asalnikov

В текущий момент структура кода тестирующего приложения имеет следующие недостатки:

  1. Нет возможности легко добавлять новый тест коммуникационной среды. Это требует
    модификации нескольких исходных файлов и перекомпилирования всего тестирующего
    приложения. Предлагается вместо этого каждый отдельный тест оформить как plugin.
    Для этого исходные коды теста поместить в отдельную динамически подгружаемую
    библиотеку (например one_to_one.so), которую подгружать в память уже исполняющейся программе. Тест должен иметь своё имя, короткое описание и полное описание, которые
    можно получить как символы из .so файла. Так же тест должен уметь получать и читать
    специфичные для него аргументы, передаваемые программе (вызов из .so файла функции parse_test_arguments). Данное изменение повлечёт так же изменение в формате NetCDF файлолв с результатами тестирования. Вместо задаваемого числом типа теста,
    тип теста должен быть задан строкой.

  2. Для "шумящих" тестов нет возможности указания и фиксации конкретных "шумящих" узлов клапстера. Требуется в параметры шумящих тестов добавить возможность указания
    множества шумящих узлов кластера.

  3. В файлы пишет только один MPI-процесс. В текущий момент устроено так, что только
    один MPI-процесс (0 на MPI_COMM_WORLD) пишет результаты тестирования в файл.
    Остальные процессы щлют ему свою порцию данных. Это приводит к тормозам и лишней
    активности в коммуникациях. Предлагается сделать так, чтобы каждый MPI-процесс
    записывал свою порцию данных в NetCDF файл самостоятельно.

Все проделываемые изменения внести в ветку tests_as_plugins и когда всё будет работать как надо сделать merge с веткой master.

Metadata

Metadata

Assignees

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions