next up previous contents
Next: Гетерогенные сети и устройство Up: Кластеры рабочих станций и Previous: Использование безопасного сервера   Contents

Кластеры SMP

При использовании кластеров SMP-машин (с устройством ch_p4, сконфигурированным с опцией
-comm=shared), Вы можете контролировать количество процессов на каждом узле, которые общаются через разделяемую память. Во-первых, Вы должны изменить файл machines (см. разд. 3.2), чтобы указать количество процессов, запускаемых на каждой машине. Обычно это число не больше количества процессоров; на SMP с большим количеством процессоров это число должно быть на единицу меньше, чтобы предоставить один процессор операционной системе. Формат очень прост: каждая строка файла machines определяет имя компьютера, возможно продолженное двоеточием (:) и количеством возможных процессов. Например, файл содержит строки
mercury
venus
earth
mars:2
jupiter:15
определяющие три однопроцессных машины (mercury, venus, earth), двухпроцессную машину mars и 15-процессную машину jupiter.

По умолчанию mpirun использует не более процессоров, чем указано в файле machines для каждого узла, до 16 процессов на каждой машине. При установке переменной окружения MPI_MAX_CLUSTER_SIZE с положительным целым значением, mpirun может запускать не более MPI_MAX_CLUSTER_SIZE процессов на машине, разделяя память для взаимодействия. Например, если MPI_MAX_CLUSTER_SIZE имеет значение 4, то команда mpirun -np 9 для указанного выше файла machines создаст один процесс на машинах mercury, venus, earth, два процесса на mars (поскольку файл machines определяет, что mars может иметь два процесса, разделяющих память) и 4 на jupiter (поскольку jupiter может иметь 15 процессов, но необходимы только 4). Если необходимо 10 процессов, mpirun стартует заново с начала файлаmachines, создавая дополнительный процесс на mercury; значение MPI_MAX_CLUSTER_SIZE предотвращает запуск mpirun пятого процесса с разделяемой памятью на jupiter.


Alex Otwagin 2002-12-16