Эффективное распараллеливание
В PolyAnalyst Grid параметр effective_concurrency ("эффективное распараллеливание") означает число используемых процессов (потоков). Данный параметр предназначен для снижения эффективного числа ядер процессора (логических процессоров) машины.
Параметр effective_concurrency
является редактируемым; пользователи могут указать его в конфигурационном файле paserver.cfg
.
Данный параметр можно найти в Администраторе (на левой панели найдите вкладку Системный монитор и откройте Серверы). Число, указанное в данном параметре, влияет только на распределение задач. Задачи не обязательно выполняются одновременно, они могут чередоваться.
Как использовать эффективное распараллеливание
Ниже приведены примеры для наилучшего понимания того, как использовать эффективное распараллеливание:
-
Если значение
effective_concurrency
равно 8, то задачи распределяются так, как если бы работало 8 логических процессоров. Но это не значит, что будет загружено только 8 ядер: возможна загрузка всех ядер. Первой причиной этому является тот факт, что в PolyAlanyst Grid создается большее количество процессов, чем указанное в распараллеливании, точнее - в 2 раза больше. Второй причиной является наличие алгоритмов, которые распараллеливаются в одном процессе по цепочкам, и в этом случае один процесс может использовать все ядра процессора. -
Предположим, что у нас имеется кластер, состоящий из нескольких машин с 8 ядрами и одной машины с 16 ядрами. Пользователь хочет, чтобы машина с 16 ядрами выполняла в 2 раза больше работы, но чтобы работа была распределена равномерно на все машины. В этом случае значение
effective_concurrency
должно быть установлено на 8.