Использование ПИД-контроллера для управления ресурсами в программах

Мне было интересно, есть ли прецедент для использования механизмов типа контроллера PID для управления вычислительными ресурсами (см. http://en.wikipedia.org/wiki/PID_controller).

Под вычислительными ресурсами я имею в виду: запасные потоки, запасные процессы, длины очередей и т. Д.

Например, в apache.conf вы можете указать количество запасных серверов, мин серверов и т. Д.

У меня вопрос, как вы контролируете порождение нового сервера или сокращение вашего пула ресурсов.

То же самое может быть применено к узлам нереста, например, на сетке Amazon, если ваша нагрузка превышает некоторый уровень.

В ответ на этот вопрос меня интересуют:

  1. Если есть Да, Нет, Может быть ответ на этот вопрос

  2. Если есть доступные примеры того, где это используется в мире с открытым исходным кодом

  3. Если есть библиотеки, которые реализуют управление PID в Java, Python и т. Д. Для этой цели.

Благодарю.

1 ответ

Решение

Согласно этой исследовательской статье, у Thread-pool в.NET Framework, похоже, есть такой. Я также нашел статьи о балансировке нагрузки веб-серверов Apache с использованием автономного управления, контроля объема памяти в DB2 и т. Д.

Код здесь является реализацией Java, используемой в проекте с открытым исходным кодом.

Другие вопросы по тегам