FAH SMP Affinity Changer

FAH SMP Affinity Changer - сервис для динамического распределения процессов FAH SMP клиента по ядрам/процессорам.

Сервис устанавливается в систему, и работает в автоматическом режиме. Раз в 10 минут (по-умолчанию) сервис проверяет к каким ядрам/процессорам привязаны выполняющиеся процессы FAH SMP клиента, и распределяет процессы равномерно (по 2 процесса на ядро в двуядерном процессоре при одном SMP клиенте, и по 2 процесса на ядро в четырехядерном процессоре при двух SMP клиентах).

Процессы сортируются по потреблению памяти, и правильно привязываются к процессорам (1 и 4 на первое ядро, 2 и 3 - на второе для двухядерников, для четырехядерников первый SMP клиент привязывается к первому и третьему ядру, второй SMP клиент клиент привязвается ко второму и четвертому ядру).

В ветке реестра "HKEY_LOCAL_MACHINE\SOFTWARE\nick4eva's software\FAH SMP Affinity Changer" есть параметр CheckInterval (в миллисекундах), который указывает интервал проверки процессов. При изменении параметра сервис перезапускать не нужно, он сам перечитывает значение параметра в конце каждого интервала времени, и если параметр изменился, считывает его (конечо если стоит очень большой интервал времени, то проще перезапустить сервис, чтобы он считал параметр).

Для работы сервиса необходим .Net Framework 2.0 (скачать можно здесь x86 версию, или здесь x64 версию).

Текущая версия сервиса: 1.0.5

FahSmpAffinityChangerSetup-1.0.5-x86.zip (396 Кб).

FahSmpAffinityChangerSetup-1.0.5-x64.zip (357 Кб).

Список изменений можно посмотреть здесь.

Подписаться на ленту новостей о новых версиях можно здесь.

Исходники можно взять здесь.

Установка

Качаем архив с файлами установки, и запускаем setup.exe.

Далее устанавливаем сервис как показано на скриншотах (Next->Next->Next->Close):

Для удаления сервиса идем в установку и удаление программ, и удаляем FAH SMP Affinity Changer.

Благодарности

Хочу поблагодарить за помощь в разработке программы участников Украинской команды распределенных вычислений (участником которой я тоже являюсь): nikelong, rilian, ReMMeR, Vorchun.