Как процесс Erlang связывается с конкретным планировщиком? - PullRequest
1 голос
/ 21 июля 2011

Как процесс Erlang связывается с конкретным планировщиком?

Ответы [ 2 ]

2 голосов
/ 21 июля 2011

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

1 голос
/ 21 июля 2011

Чтение из старой почты от Кеннета Лундина :

Erlang VM без поддержки SMP имеет 1 планировщик, который работает в основной процесс потока. Планировщик выбирает работающие процессы Erlang и IO-задания из очереди выполнения и нет необходимости блокировать данные структуры, так как есть только один поток, доступ к ним.

Erlang VM с поддержкой SMP может иметь от 1 до многих планировщиков, которые запустить в 1 поток каждый. Планировщики выбирают работающие процессы Erlang и IO-задания из одной общей очереди выполнения. В SMP VM все общие данные структуры защищены замками, очередь выполнения является одним из примеров структура данных защищена блокировками.

С OTP R12B SMP-версия виртуальной машины автоматически запускается как по умолчанию, если ОС сообщает о более чем 1 процессоре (или ядре) и с тем же количество планировщиков в виде процессоров или ядер.

Не уверен, что это ответит на ваш вопрос. Не могли бы вы расширить немного больше?

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