Разница между местами и работниками в среде APGAS и как работники реализованы на Java? - PullRequest
0 голосов
/ 24 июня 2018

Я читал документ по глобальной балансировке нагрузки Lifeline (документ доступен по ссылке http://www.cs.columbia.edu/~martha/courses/4130/au12/p201-saraswat.pdf). Я новичок в языке x10. Я на самом деле запутался в терминологии мест и работники . Насколько я понимаю, места - это разные узлы в распределенной системе, а работники - это потоки (или процессы, я не знаю) в этих местах. Я прав?

Кроме того, в чем же состоит основное различие между переменными среды X10_NUM_THREADS и X10_STATIC_THREADS? Я знаю, что это способ реализации рабочих в x10. Но как мы реализуем это в платформе APGAS для Java? Используем ли мы те же переменные и в Java?

Заранее спасибо

1 Ответ

0 голосов
/ 25 июня 2018

Ваше понимание того, что места - это узлы в распределенной системе, а рабочие - потоки, по сути, правильно. Этот документ немного сбивает с толку тем, что накладывает произвольное ограничение на одного работника на место.

Переменная среды 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.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...