LINUX.ORG.RU

Really Simple Really Fair Scheduler


0

0

В ответ на недавнюю модификацию CFS (Completely Fair Scheduler) - RFS (Really Fair Scheduler) с улучшеным алгоритмом - Инго Молнар анонсировал RSRFS (Really Simple Really Fair Scheduler), реализованный поверх CFS, и включающий алгоритм из RFS.

>>> Подробности

anonymous

Проверено: anonymous_incognito ()
Ответ на: комментарий от tailgunner

> Давай, и поподробнее (или со ссылками :))

Не пользы для, а флэйма ради? :) Я думаю, что на сайте QNX можно найти описание технологий.

Из старых технологий очень нравится Critical Process Monitoring - особый менеджер (HAM), который следит за критическими процессами. Запускается в двух экземплярах и мониторит сам себя. Если один из процессов HAM умирает, второй его перезапускает с полным востановлением всех данных. Когда запускается критический процесс (указание хаму на него), хам начинает его мониторить. Диагностика смерти процесса очень разнообразная, от активного мониторинга, до отсутствия "сердцебиения" (специальный сигнал, переодически посылаемый процессом). Фишка в том, что процесс становится неубиваемым вообще. Все данные приложения сохраняются и восстановленный процесс наченает работать с того момента, когда он умер (вплоть до временных интервалов). Так же в случае блокировки процесса он перезапускается.

Есть технология Multi-core, аналогов в проприетраных встраиваемых системах пока нету. Думаю понятно по названию о чем идет речь (многоядерные процессоры). Там же есть возможность смотреть миграцию потоков и соответственно подумать над смыслом переписать приложения, для минимизации миграции.

Так же много вкусностей вроде полного профилирования системы (обсчет до 10e-9 секунд, очень полезно для боевых программ). Совместный дебагинг распределенных приложений (реализован над эклипсом, не знаю вошел ли он в основной эклипс).

Самая вкусная на сегодня технология ИМХО - Adaptive Partitioning. Это бюджетирование процессора. Т.е. есть группы процессов (условно обсчет, мониооринг и диагностика). Как это выглядит в реальных системах? У каждой группы процессов есть потоки с различными приоритетами (и высокие и низкие). В сложной системе начинается жонглирование приоритетами для достижения нужного результата. Что мы можем в этой технологии? Мы можем сказать, что для мониторинга используется - 10% процессорного времени, диагностики - 40%, остальные 50 - обсчет системы. Процессы запущенные в этих бюджетах не будут переиспользовать процессор, если нету свободных ресурсов. Т.е. можно гарантировать, что группа процессов получит (если ей надо) не менее установленного количества процессорных ресурсов. Все процессы в рамках бюджета пользуются обычной системой приоритетов и планировки - как будто они исполняются на отдельных процессорах. Система ведет себя как обычно если нет полной загрузки процессора. Очень красиво с этой технологие бороться с DDOS-аттаками и быстрой работы системы восстановления (у них всегда есть процессорное время, даже если система полностью забита). Красиво можно разрабатывать очень сложные системы (каждая подсистема тестируется в рамках бюджета - никаких неожиданностей при сборе всех подсистем воедино).

На самом деле это только примеры. Возможностей - выше крыши.

PS: это не реклама :)

FHunter
()
Ответ на: комментарий от FHunter

>> Давай, и поподробнее (или со ссылками :))

> Не пользы для, а флэйма ради? :)

Интересно мнение "из окопов" :)

> Critical Process Monitoring - особый менеджер (HAM)

Для его использования нужно специально писать программу, судя по доке на сайте?

Ну, HAM ~= Heartbeat (правда, там данные вроде не восстанавливаются), Multi-core в линуксе давно есть, профилирование ~= oprofile, Adaptive Partitioning ~= process containers (но эта фича пока в разработке).

Интересно было бы сравнение технологий от людей, которые использовали и QNX, и Linux.

В общем, время еще покажет :)

tailgunner ★★★★★
()
Ответ на: комментарий от tailgunner

> Для его использования нужно специально писать программу, судя по доке на сайте?

Да, там пара вызовов, один обработчик и при варианте с Heartbeat еще одна функция.

FHunter
()
Ответ на: комментарий от FHunter

> там пара вызовов, один обработчик и при варианте с Heartbeat еще одна функция.

Хм, и при этом оно умудряется восстанавливать данные?

tailgunner ★★★★★
()
Ответ на: комментарий от tailgunner

> Хм, и при этом оно умудряется восстанавливать данные?

Да, ибо данные востанавливает менеджер, а не приложение следит за данными.

FHunter
()
Ответ на: комментарий от FHunter

> данные востанавливает менеджер, а не приложение следит за данными.

но это значит, что данные хранятся не в приложении, а в менеджере?

tailgunner ★★★★★
()
Ответ на: комментарий от tailgunner

> но это значит, что данные хранятся не в приложении, а в менеджере?

Думаю, что немного не так. У процесса есть сегмент кода, сегмент данных, общий сегмент и т.п. Не вдавался в технические подробности реализации хама, но мне кажется, что он просто хранит состояние процесса и его сегмент данных.

FHunter
()
Ответ на: комментарий от lefsha

> НЕ БЫВАЕТ ВКУСНЫХ ТЕХНОЛОГИЙ !!!!!!!

> Учите русский язык.

Капс поможет перевести буквы в нижний регистр (когда отключен) - учите основы работы с компьютером.

Если нечего написать по существу - лучше ничего не писать. Читайте наконец этикет общения в интернете и правила форумов.

FHunter
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.