Ваше понимание того, что места - это узлы в распределенной системе, а рабочие - потоки, по сути, правильно. Этот документ немного сбивает с толку тем, что накладывает произвольное ограничение на одного работника на место.
Переменная среды X10_NUM_THREADS
определяет, сколько рабочих потоков должно быть активным в каждом месте X10. Среда выполнения X10 может запускать дополнительные потоки в месте для замены потоков, ожидающих длительных операций блокировки, например, удаленные действия, запущенные с использованием at(Place(p)) { ... }
. После завершения операции блокировки среда выполнения попытается уменьшить количество активных потоков, чтобы гарантировать, что всегда X10_NUM_THREADS
активно выполняет (или доступно для выполнения) действия в каждом месте.
Переменная среды X10_STATIC_THREADS
не позволяет X10 создавать дополнительные рабочие потоки, как описано выше. Это необходимо для некоторых архитектур, которые не поддерживают создание динамических потоков, например Blue Gene / P, используемый в документе Global Load Balancing Paper на основе Lifeline. Для более типичных архитектур, например кластеры узлов на базе x86, эта переменная обычно не устанавливается.
В библиотеке APGAS для Java переменная среды APGAS_THREADS
контролирует количество потоков для каждого места. Я не верю, что есть какой-то эквивалент X10_STATIC_THREADS
.