Немного статей про *nix
 

Исследование возможностей Linux по выполнению задач реального времени на многоядерных CPU

12.03.2010

На однопроцессорной сиcтеме, в режиме реального времени может выполняться только одна задача. Остальные, хоть и имеют приоритет реального времени, всё равно ожидают своей очереди к процессору. Эксперимент проведенный организацией OSADL показал, что несколько параллельных задач, при условии, что количество задач не превышает количество ядер процессора, могу работать в режиме реального времени, не мешая, не вытесняя и не разделяя ресурсов. Для планирования задач может использоваться, например функции sched_setaffinity().

На приведённой рядом гистограмме можно наблюдать почти линейные функции задержек на каждом ядре, что говорит о раздельной работе процессов. При использовании процессора Nehalem i7, минимальной была задержка в 17 микросекунд, максимальной 37 микросекунд. Конфигурация прерываний использовалась по умолчанию, для балансировки нагрузки использовался стандартные IRQ-balancer.

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

Источник: OpenNET

Партнеры проекта
Хостинг от RU-Life.NET - надежно, выгодно, проверено!
 

Все права защищены. © Unix66.ru, 2009

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