11.03.2010 23:30
Исследование возможностей Linux по выполнению задач реального времени на многоядерных CPU
|
 |
|
На однопроцессорной сиcтеме, в каждый момент времени в режиме реального времени может выполняться только одна задача. Остальные, хоть и имеют приоритет реального времени, всё равно ожидают своей очереди к процессору. Эксперимент проведенный организацией OSADL показал, что несколько параллельных задач, при условии, что количество задач не превышает количество ядер процессора, могу работать в режиме реального времени, не мешая, не вытесняя и не разделяя ресурсов. Для планирования задач может использоваться, например функции sched_setaffinity().
На приведённой рядом гистограмме можно наблюдать почти линейные функции задержек на каждом ядре, что говорит о раздельной работе процессов. При использовании процессора Nehalem i7, минимальной была задержка в 17 микросекунд, максимальной 37 микросекунд. Конфигурация прерываний использовалась по умолчанию, для балансировки нагрузки использовался стандартные IRQ-balancer.
Ожидается, что в будущем прирост производительности микропроцессоров будет основан на их многоядерной топологии. И такие компьютерные платы идеально подходят для приложений реального времени, так как только они смогут обеспечить истинный параллелизм в режиме реального времени. Естественно, если операционная система такие режимы поддерживает, а поддерживает в настоящее время данную возможность только Linux.
|
|
|
- Главная ссылка к новости (http://www.osadl.org/Single-View.111+M59...)
|
| Автор новости: pavlinux |
| Тип: К сведению |
| Ключевые слова: linux, relatime, kernel, (найти похожие документы) |
| При перепечатке указание ссылки на opennet.ru обязательно |
| Реклама |
|
|
|
| |
| 1.2, User294, 23:50, 11/03/2010 [ответить] [смотреть все]
| –1 +/– | |
Павлин в роли Капитана Очевидности :). А что, разве не логично что или число потоков команд равно числу ядер, или всяко придется отнимать у кого-то процессорное время в пользу кого-то иного?! Ну или как вариант - если этого не делать, получится что-то типа DOS :).А под реальным временем обычно имеют в виду предсказуемое время реакции системы. Дергание от 17 до 37 микросекунд - не больно то предсказуемо, а?
ЗЫЖ а настоящий реалтайм - что-то типа http://habrahabr.ru/blogs/DIY/87034/ - вот это да, реальное время во всех смыслах этого слова :)
|  | | |
| 1.22, Alex, 16:18, 12/03/2010 [ответить] [смотреть все]
| +/– |
17-37 мк - слишком долго. Можно использоать только для /var/log.
Даже управление группой контроллеров должно идти с тактом 5 -10 мк.
Для робота со скоростью 1 м/сек от 5 датчиков может и будет успевать.
|  | | |
| 1.33, Vasia, 10:07, 14/03/2010 [ответить] [смотреть все]
| +/– |
Здарова всем ! :-)
Я че то не пойму - процы до сих пор используют стандартно? То есть 64 бита шины данных, и их грузят одной задачей. Чудно.
А как бы уже создан проект opend называется как бы ! От придуман для того что бы немножко попользовать ГПУ-шные конвеера, если их на видяхе около 1600. Вот и паралельность, вот и многопоточность. Юзайте на здоровье :-)
|  | | |
| 1.34, Demo, 19:25, 14/03/2010 [ответить] [смотреть все]
| +/– | |
User, хватит гнать пургу. Просто смешно читать.
>Строго говоря, если у задачи отобрали процессор - она отдыхает.
>По большому счету это уже не совсем реалтайм.
Почитай, наконец, FAQ. Ладно, так и быть для тебя процитирую:
======
Каноничеcкое:
"Сиcтема pеального вpемени, та, в котоpой пpавильный pезyльтат
вычиcлений завиcит не только от пpавильноcти вычиcлений, а также от
вpемени, за котоpое бyдет полyчен pезyльтат вычиcлений. Еcли вpеменные
огpаничения не выполняютcя, cчитаетcя, что cлyчилcя cбой в cиcтеме."
Отcюда полyчаем, что вpеменные огpаничения в cиcтеме должны
гаpантиpованно выполнятьcя.
======
|  | | |
| |
| |
| 3.42, Alex__S, 03:01, 15/03/2010 [^] [ответить] [смотреть все]
| +/– |
>>Почитай, наконец, FAQ. Ладно, так и быть для тебя процитирую:
>
>Отлично. Если мой роутер не справляется за 5 минут с обслуживанием вачдога
>- это считается ошибкой и он огребает от вачдога ресет. Вот
>только там ядро не реалтаймное. И вообще - тормозной какой-то реалтайм
>получается. Но под ваш FAQ - вписывается на все 100%. Отсюда
>мораль: по такому FAQ вообще любая система - реалтаймная. Просто берем
>время гарантии в полдня и готово - реалтаймность налицо :)
если ты гарантируешь реакцию системы за полдня - при любых ситуациях и нагрузках - то да, система RT. Временной интервал тут неважен.
Вопрос применимости такой RT системы - уже другой вопрос.
|  | | |
| |
| 4.43, User294, 04:49, 15/03/2010 [^] [ответить] [смотреть все]
| +/– | |
> то да, система RT.
Ну если учесть что упомянутый роутер набирает аптайм в полгода, стало быть не превышая задержку вачдога в 5 минут - да, я гарантирую что за полдня его система уж тем более ответит. Стало быть не-реалтаймное ядро линукса - реалтаймная система! :D.
> Вопрос применимости такой RT системы - уже другой вопрос.
Вопросы границ формального маразма - вот это да, вопрос. Чем больше гарантируемое время - тем больше ОС в него впишется. С временем гарантий в полдня впишутся практически все мало-мальски вменяемые системы в мало-мальски вменяемых условиях эксплуатации.
|  | | |
|
|
|
| |
| 2.49, anonim, 14:01, 17/03/2010 [^] [ответить] [смотреть все] [показать ветку]
| +/– |
сэр вы бы еще на лор сослались тоже ведь форум, пальцы подогните... во первых речь идет не о linux а rt-linux, который может жить без линукса и вполне сам себе posix rtos, а искалеченный линукс делается под специфические хотелки и ртосом является часто условно. рад за вас что прочитали пару-тройку общедоступных статей очень энтерпрайзно изложили. смотрю там даже rtems упомянули :) если будут аппаратные прерывания от железа rt-linux врядли уступит самым продвинутым, только эта область узкая и тут особо правит бабло, а rt-linux развивать некому
|  | | |
|
|
|
| Ваш комментарий |
|
|
| |
|