Как стать автором
Обновить

30 лет с QNX: Первая ОСРВ поддерживающая многоядерность

Время на прочтение 2 мин
Количество просмотров 3K
Автор оригинала: Paul N. Leroux
Эта история началась в 1997 году. Но, чтобы задать нужную атмосферу, давайте быстро перенесемся в 2010 год и посмотрим снимок загруженности ЦПУ моего компьютера с четырёхядерным процессором:



При рассмотрении этого снимка бросаются в глаза две вещи. Первое, по-видимому у моего компьютера 8 ядер, а не 4. Это потому что каждое яро поддерживает одновременную мультипоточность; т.е. оно может выполнять две задачи одновременно. В результате операционная система видит каждое ядро не как один, а как два процессора.

Второе, каждое ядро показывает краткие, но интенсивные всплески загрузки процессора. Здесь это явление может иметь два объяснения:

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

В этом примере второй вариант: приложение многопоточной обработки изображения использует вычислительную способность каждого ядра при обработке 18-мегапиксельного фото на самой большой скорости — получается намного быстрее, чем если бы приложение использовало одно ядро.

Чтобы такое волшебство получилось, компьютеру необходим не только многоядерный процессор. Также необходима операционная система поддерживающая симметричную многопроцессорность или SMP.

SMP для встраиваемых систем?


Вернёмся в 1997 год. В то время SMP — это всё ещё — область операционных систем для крупных серверов и других ресурсоёмких приложений. Эти системы не имели многоядерных процессоров, конечно, но у них было несколько процессоров, работающих на одной плате.

Размер, стоимость и энергопотребление этих многопроцессорных систем сделали их недосягаемыми для большинства встраиваемых систем, где доминировала проектная мантра не «делать больше с большими затратами», но «делать больше с меньшими затратами». Таким образом, идея добавления SMP операционной системе для встраиваемых систем, казалась в лучшем случае экзотической. Тем не менее, именно это и сделала компания QSS еще в 1997 году.

Эти действия оказались пророческими. Прежде всего, компании производители сетевого оборудования начали понимать, что SMP может помочь решить некоторые вычислительные проблемы, такие как обслуживание таблиц маршрутизации, содержащих сотни тысяч записей. В результате, эти компании стали использовать QNX SMP, как важную часть для их высокопроизводительных маршрутизаторов. И когда многоядерные микропроцессоры начали становиться доступными, те же производители обнаружили, что процесс миграции очень естественен — они просто продолжали использовать тот же код и ту же операционную систему, что и раньше.

SMP в автомобиле?


ОСРВ QNX одна из первых поддержала SMP, что позволило ей стать совершенной к тому времени, как многоядерные микропроцессоры стали перемещаться в нижний сегмент рынка, с понижением цены и производительности устройств. Например, Audi использует QNX SMP для управления многоядерным процессором ARM Cortex-A9 для следующего поколения автомобильных информационно-развлекательных систем.

SMP в автомобиле. Кто бы мог подумать?

Взрыв из прошлого


А вот то, что не видело дневного света с конца 1990-х: пресс-релиз (перевод) представляющий поддержку ОС QNX для SMP.
Теги:
Хабы:
+16
Комментарии 10
Комментарии Комментарии 10

Публикации

Истории

Ближайшие события

Московский туристический хакатон
Дата 23 марта – 7 апреля
Место
Москва Онлайн
Геймтон «DatsEdenSpace» от DatsTeam
Дата 5 – 6 апреля
Время 17:00 – 20:00
Место
Онлайн