Google:
Помощь

OpenTS. Руководство оператора

1. Назначение программы

Т-система — среда программирования с поддержкой автоматического динамического распараллеливания программ. Для реализации концепции автоматического динамического распараллеливания программ в Т-системе предложена новая модель организации вычислительного процесса, основанная на следующих базовых принципах:

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

В то же время тела функций могут быть описаны в императивном стиле (на языках типа FORTRAN, C и т. п.). Важно только, чтобы:

  • всю информацию извне функция получала только через свои аргументы;

  • вся информация из функции передавалась только через явно описанные результаты.

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

 

2. Условия выполнения программы

Для использования ПО Т-система подходит любая программно-аппаратна платформа, удовлетворяющая следующим требованиям:

  1. SMP-компьютер, кластер или мета-кластер с процессорами одной из следующих архитектур:

    • Intel или AMD IA-32;

    • Intel или AMD x86-64;

    • PowerPC или PowerPC-64;

  2. ОС Linux, ядро не ниже 2.4.20 (лучше 2.6). Коммуникационная среда MPI одного из следующих видов:

    • LAM;

    • MPICH;

    • MP-MPICH;

    • SCALI;

    • MPICH-G2;

    • MPICH-GM;

    • PACX (MetaMPICH);

    • PVM;

    • MVAPICH.

3. Выполнение программы

Запуск Т-приложения осуществляется с помощью команды mpirun (в предположении, что MPI установлен и корректно функционирует на используемом кластере или мета-кластере).

Для LAM MPI командная строка обычно имеет вид:

mpirun N <executable> <options>

Для Scali MPI командная строка обычно имеет вид:

mpirun -np <число CPU> -init_comm_world -imeediate_handling auto <executable> <options>

Для системы очередей на комплексе МВС-1000М командная строка обычно имеет вид:

mpirun -np <число CPU> <executable> <options>

Для других реализаций MPI формат командной строки может быть иным.

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

Опции (ключи командной строки), воспринимаемые ядром Т-системы, начинаются со строки '-tct' и должны следовать непосредственно за именем исполняемого файла задачи.

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

-tct 'DP(<regular-expression>)' — указывает регулярное выражение-фильтр для режима отладки (опция компилятора -dbg);

-tct callGraph — заказ на визуализацию графа вызовов Т-функций;

-tct showMsgs — этот ключ включает вывод на экран информации о всех персылаемых по сети сообщениях;

-tct showFeatures — заказывает вывод на экран списка подключенных расширений микроядра;

-tct enableAsync — разрешает асинхронный режим работы суперпамяти;

-tct disableAsync — запрещает асинхронный режим работы суперпамяти;

-tct enableSMP — разрешает использование “жесткого” режима SMP;

-tct ncpu=<N> — заказывает N системных потоков при “жестком” режиме SMP.

4. Сообщения оператору

4.1. Цветовая схема

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

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

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

4.2. Сообщения о фатальных ошибках

"Regexp `%s' compilation failed!"

-     указанное регулярное выражение-фильтр для визуализации системных событий (режим отладки) не удалось откомпилировать.

”Unknown TCT option %s !"

-     неизвестная опция командной строки (следует за ключом -tct), определяющей начальный Т-контекст времени исполнения.

"Internal feature failed"

-     одно из встроенных расширений Т-микроядра не удалось проинициализировать.

"Stack overflow"

-     недостаточно памяти для требуемого программой количества суперпотоков.

“Threads initialization failed"

-     ошибка на стадии инициализации подсистемы поддержки суперпотоков.

"Out of memory"

-     недостаточно памяти для программы.

“MPI_Error[%d != %d]: %.*s"

-     сбой подсистемы обмены сообщений MPI.

"No free MPI_Request (%d tries)"

-     недопустимая задержка в подсистеме коммуникаций.

”Out of supermemory"

-     исчерпан лимит ячеек суперпамяти. Необходимо увеличить размер суперматрицы.

“Deadlock detected"

-     внутренняя ошибка синхронизации.

"Drop or freeze on unitialized T-value!"

-     Т-функция не проинициализировала один из своих выходных аргументов.

 

 

4.3. Информационные сообщения

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

“MemoryLeak: ...”

-     в программе осталась неосвобожденная память в момент завершения.

“main result is ready and %d TFuns are still working. Memory leaks are possible”

-     в момент завершения головной функции tfun main остались работающие Т-функции.

 “Leaked cell %x,%lld with data %s (%d bytes)”

-     в программе осталась неосвобожденная суперпамять в момент завершения.

“local memo works”

-     началось повторное использование результатов мемо-функций на одном узле.

“global memo works”

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