Использование ПИД-контроллера для управления ресурсами в программах
Мне было интересно, есть ли прецедент для использования механизмов типа контроллера PID для управления вычислительными ресурсами (см. http://en.wikipedia.org/wiki/PID_controller).
Под вычислительными ресурсами я имею в виду: запасные потоки, запасные процессы, длины очередей и т. Д.
Например, в apache.conf вы можете указать количество запасных серверов, мин серверов и т. Д.
У меня вопрос, как вы контролируете порождение нового сервера или сокращение вашего пула ресурсов.
То же самое может быть применено к узлам нереста, например, на сетке Amazon, если ваша нагрузка превышает некоторый уровень.
В ответ на этот вопрос меня интересуют:
Если есть Да, Нет, Может быть ответ на этот вопрос
Если есть доступные примеры того, где это используется в мире с открытым исходным кодом
Если есть библиотеки, которые реализуют управление PID в Java, Python и т. Д. Для этой цели.
Благодарю.
1 ответ
Согласно этой исследовательской статье, у Thread-pool в.NET Framework, похоже, есть такой. Я также нашел статьи о балансировке нагрузки веб-серверов Apache с использованием автономного управления, контроля объема памяти в DB2 и т. Д.
Код здесь является реализацией Java, используемой в проекте с открытым исходным кодом.