Red Hat Enterprise MRG Realtime. Linux реального времени – война за микросекунды::БИТ 02.2012
 
                 
Поиск по сайту
 bit.samag.ru     Web
Рассылка Subscribe.ru
подписаться письмом
Вход в систему
 Запомнить меня
Регистрация
Забыли пароль?

Календарь мероприятий
май    2019
Пн
Вт
Ср
Чт
Пт
Сб
Вс
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
25
26

показать все 

Новости партнеров

23.05.2019

PHDays: точно в девятку

Читать далее 

23.05.2019

НОРБИТ примет участие в TAdviser SummIT 2019

Читать далее 

23.05.2019

Итоги первого дня ЦИПР-2019

Читать далее 

23.05.2019

В этот четверг, 23 мая, в Москве пройдет V Международная конференция о подключенных автомобилях

Читать далее 

показать все 

Статьи

23.04.2019

Компании перед лицом меняющегося мира

Читать далее 

23.04.2019

Как защитить интеллектуальную собственность?

Читать далее 

23.04.2019

Зачем компьютеру этика?

Читать далее 

23.04.2019

Клиенты в интернете. Опрос

Читать далее 

23.04.2019

Кто будет править миром? Опрос

Читать далее 

22.03.2019

5 вопросов о «цифре»

Читать далее 

21.03.2019

Все под контролем

Читать далее 

12.03.2019

Тренды по UC

Читать далее 

21.04.2017

Язык цифр или внутренний голос?

Читать далее 

16.04.2017

Планы – ничто, планирование – все. Только 22% компаний довольны своими инструментами для бизнес-планирования

Читать далее 

показать все 

Red Hat Enterprise MRG Realtime. Linux реального времени – война за микросекунды

Главная / Архив номеров / 2012 / Выпуск №2 (15) / Red Hat Enterprise MRG Realtime. Linux реального времени – война за микросекунды

Рубрика: Технологии


 Алексей Ермаковинженер. Работает в НЦПР, участвует в проектах по виртуализации Red Hat

Red Hat Enterprise MRG Realtime
Linux реального времени – война за микросекунды

В бортовых системах, в системах управления на производстве и на транспорте счет идет на микросекунды. В финансовом мире роботы соревнуются с роботами, и выигрывает тот, кто оказывается быстрее на доли секунды. Для таких задач, когда просто «быстро» недостаточно и нужно «гарантированно быстро», существуют системы реального времени

Операционные системы реального времени «на пальцах»

Основная задача ОС реального времени – обеспечить гарантированное время отклика для задачи. Если необходимо, чтобы критичный процесс получал процессорное время не реже, чем каждые 100 микросекунд, то ОС должна это гарантировать. Если нагрузка растет и система не справляется с ней, второстепенные задачи могут пострадать, но критичный процесс все равно должен получать свое процессорное время каждые 100 микросекунд.

Такие жесткие ограничения применимы далеко не всегда. Разумеется, от любых приложений и информационных систем всегда хотят, чтобы они работали быстро. Обычно это означает «чтобы пользователю было комфортно и не приходилось ждать». Для большинства задач задержки в десятую долю секунды или даже в секунду никто просто не заметит. Если иногда для каких-то отдельных запросов задержки и возникают, это не страшно, если в среднем система отвечает быстро.

У ОС реального времени другой приоритет – для них неприемлемо «в среднем быстро», у них должно быть «гарантированно быстро для каждого отдельного запроса». Решение этой задачи требует другого подхода к внутренней архитектуре. Поэтому ОС реального времени и операционные системы общего назначения – это разные классы систем.

Red Hat Enterprise MRG Realtime: основные особенности

Одной из наиболее распространенных систем реального времени является Red Hat Enterprise MRG Realtime. Технически MRG Realtime – это набор пакетов, превращающих стандартный Red Hat Enterprise Linux (RHEL) в ОС реального времени. MRG Realtime состоит фактически из двух компонентов – ядра реального времени, заменяющего стандартное ядро RHEL, и набора инструментов для настройки и тонкой профилировки.

MRG Realtime обеспечивает для критичных к задержкам задач стабильное время отклика с разрешением вплоть до микросекунд. Разница в скорости обработки событий стандартной ОС общего назначения и MRG Realtime наглядно видна из рис. 1.

Рисунок 1. Время обработки события системой на базе стандартного ядра Linux и на базе MRG Realtime

Рисунок 1. Время обработки события системой на базе стандартного ядра Linux и на базе MRG Realtime

На графике красным показано время обработки событий системой на базе стандартного ядра Linux и зеленым – системой на базе MRG Realtime. По оси X отложен номер события, по оси Y – время обработки в микросекундах. Масштаб времени по шкале Y логарифмический. Обычное ядро в среднем тратит на обработку одного события 9 мкс со стандартным отклонением 54.94 мкс. Ядро MRG Realtime позволяет достичь значения 8 мкс со стандартным отклонением 1.49 мкс.

Чтобы такие результаты стали возможны, в ядро MRG Realtime было внесено заметное количество изменений по сравнению со стандартным ядром RHEL – переработаны механизмы работы с блокировками, включены таймеры высокого разрешения, невытесняемые участки кода ядра разбиты на минимальные блоки, сделан ряд других оптимизаций.

Но все же основная особенность MRG Realtime не в этом. Главное отличие MRG Realtime от других ОС реального времени в том, что фактически, кроме ядра, не изменено ничего (строго говоря, изменения были, но они уже внесены в апстрим). Сегодня API RHEL и API MRG одинаковы, с точки зрения приложений они ничем не отличаются, и это позволяет запустить на MRG Realtime все то же программное обеспечение, которое было написано и собрано для RHEL.

В результате становится возможным крайне быстро перенести приложения на ОС реального времени и начать работать с ними в новой среде. Разумеется, это не гарантирует, что все мгновенно заработает с микросекундными задержками. Внедрение MRG Realtime – это всегда процесс взаимной оптимизации приложений, системы и инфраструктуры. Тем не менее крайне важно, что для начала работы не нужно что-либо переписывать и заново отлаживать. Можно сначала запустить систему с привычными приложениями, измерить полученные задержки на разных этапах обработки, после чего для достижения целевых показателей вносить правки только там, где они оказались объективно нужны.

Где это работает

Области применения систем реального времени разнообразны.

В телекоммуникациях для обеспечения качества связи. Так, на базе MRG Realtime работает оборудование Alcatel-Lucent [4].

В финансовом секторе – на биржах и в инвестиционных банках, где роботы соревнуются с роботами и «время – деньги». Большинство мировых компаний в этой области перешло на MRG Realtime, среди российских компаний ее используют ММВБ [2] и «Тройка-Диалог» [3].

В военных системах, когда время уже даже не деньги, а гораздо больше. Например, MRG Realtime активно используется в проекте Zumwalt Destroyer ВМФ США [5].

  1. Материалы по MRG Realtime (на английском) – http://www.redhat.com/products/mrg/realtime.
  2. Опыт использования MRG Realtime в ММВБ – http://www.cnews.ru/news/line/index.shtml?2011/12/09/468195.
  3. Опыт использования MRG Realtime в «Тройка-Диалог» – http://www.pcweek.ru/foss/wp/detail.php?ID=130860.
  4. MRG Realtime в оборудовании Alcatel-Lucent – http://www.europe.redhat.com/news/article/2373.html.
  5. Разработка системы реального времени для Zumwalt Destroyer – http://press.redhat.com/about/news/blog/red-hat-enterprise-mrg-red-hat-customer-driven-innovation-and-open-source-leadership.

В начало⇑

 

Комментарии отсутствуют

Комментарии могут отставлять только зарегистрированные пользователи

Выпуск №03 (86) 2019г.
Выпуск №03 (86) 2019г. Выпуск №02 (85) 2019г. Выпуск №01 (84) 2019г.
Вакансии на сайте Jooble

           

Tel.: (499) 277-12-41  Fax: (499) 277-12-45  E-mail: sa@samag.ru

 

Copyright © Системный администратор

  Яндекс.Метрика