ЖУРНАЛ СТА 4/2014
данный подход на примере современной гетерогенной системы (рис. 1). Модель неоднородного доступа к памя- ти с контролем когерентности кэш-па- мяти (англ. Cache coherent NUMA, ccNUMA). В отличие от классического подхода данная модель подразумевает дополнительное аппаратное обеспече- ние, гарантирующее целостность дан- ных (когерентность кэш-памяти). Гетерогенно-однородный доступ к памя- ти (hUMA) [3]. Концепция подразумева- ет адаптациюмоделиUMA для примене- ния в гибридных системах. Скорость до- ступа к памяти для различных вычисли- телей обеспечивается их совмещениемна одном кристалле. Необходимо отдельно отметить, что на данный момент рас- сматриваемая модель реализована лишь в гибридных графических процессорах. Например, GPUпроизводства AMDреа- лизуют технологию за счёт архитектуры HSA (от англ. Heterogeneous SystemArchi- tecture). Традиционные способыреализа- ции вычислений средствами графических процессоров подразумевают исполнение специального программного обеспече- ния, именуемого подпрограммами-шей- дерами, а также подготовку и копирова- ние исходных данных посредством ЦП. Гетерогенно-однородный доступ к памя- ти позволяет передавать гибридному контроллеру данные по физическому ад- ресу, избегая избыточного копирования и привлечения для этих целей дополни- тельного аппаратного обеспечения. Безусловно, такой фундаментальный аспект, как возможность поддержки гибридных технологий и различных мо- делей доступа к памяти, важен и для си- стем реального времени (СРВ). Остано- вимся на этих системах подробнее. Г ИБРИДНЫЕ ТЕХНОЛОГИИ И МЕХАНИЗМЫ ДОСТУПА К ПАМЯТИ В КОНТЕКСТЕ ОС РВ QNX N EUTRINO И ЗОСРВ «Н ЕЙТРИНО » КПДА.10964-01 С момента начала официальной под- держки мультипроцессорных архитектур в ядро ОС РВ QNX Neutrino была зало- жена и поддержка однородного доступа к памяти. Реализация модели UMA по- лучила развитие как для SMP-систем, так и для ASMP (асимметричное муль- типроцессирование). Данный механизм был унаследован от предшественника и в защищённой версии ОС РВ (ЗОСРВ «Нейтрино» КПДА.10964-01), которая в настоящий момент широко применя- ется в отечественной промышленности. Для модели не- однородного досту- па ситуация не столь однозначная. С одной стороны, для функциониро- вания ОС РВ в си- стеме, поддержива- ющей лишь модель NUMA, принципи- альных ограниче- ний нет. Модуль управления памя- тью – в терминоло- гии QNX Neutrino это часть микроядра ОС РВ, именуемая менеджером памяти, – даже при реали- зации классической модели UMA будет успешно обслуживать запросы про- граммного обеспечения в подобных си- стемах, но осуществляться это будет за- ведомо неэффективно. С другой сторо- ны, на прошедшем 17 апреля 2014 г. се- минаре «Технологии QNX в России» бы- ло анонсировано проведение ООО «СВД Встраиваемые Системы» работ по под- держке отечественных процессоров с ар- хитектурой Эльбрус (производства ЗАО «МЦСТ») в ЗОСРВ «Нейтрино» КПДА. 10964-01. На семинаре были представле- ны имеющиеся на данном этапе резуль- таты начальной стадии поддержки аппа- ратного обеспечения, а также заявлены планы по поддержке моделиNUMA [4] в рамках задачи оптимального управления памятью. По своей сутиQNXNeutrino обладает в определённом смысле безотноситель- ностью к подавляющему большинству поддерживаемых технологий. Достигает- ся данный эффект за счёт микроядерной архитектуры, позволяющей выносить на прикладной уровень всёфункциональное многообразие, в явном виде не требую- щееся для эффективного функциониро- вания ядра ОС РВ. В терминологии рас- сматриваемой системыобъекты, которые предоставляют программный интерфейс к той или иной функциональности, име- нуются менеджерами ресурсов (англ. ResourceManager, resmgr) и выполняются в пространстве пользовательских задач. Можно привести наглядный пример упомянутой особенности данной ОС РВ. На рис. 1 была представленашироко при- меняемая реализациямоделиNUMAв ге- терогенной вычислительной системе. По- скольку графическая подсистема не яв- ляется критической в плане функциони- рования ядра, данныйфункционал выне- сен за рамки микроядра и реализован в виде менеджера графической подсисте- мы. При этом, невзирая на тот факт, что микроядро управляет памятью согласно модели UMA, графическая подсистема может не менее эффективно адресовать- ся к ресурсам, время доступа к которым кардинально отличается от ОЗУ (рис. 2). Редким исключением из принципа безотносительности ядра ОС РВ являет- ся, например, заявленная поддержка мо- дели NUMA на уровне менеджера памя- ти. Очевидно, что в данном случае моди- фикации базовых модулей системыизбе- жать достаточно сложно. В общем случае поддержка гибридных технологий внесения подобных измене- ний не требует. Например, для различ- ных гибридных систем на кристалле ус- пешно разрабатываются и внедряются менеджеры ресурсов, обеспечивающие поддержку желаемого аппаратного обес- печения в рамках обозначенной методи- ки. Рассмотрим особенности проектиро- вания менеджера ресурсов на примере гибридного математического сопроцес- сора системы на кристалле и наглядно убедимся в справедливости заявленной особенности ОС РВ QNX Neutrino. П РОЕКТИРОВАНИЕ УПРАВЛЯЕМОГО МЕНЕДЖЕРА РЕСУРСОВ В РАМКАХ КОНЦЕПЦИИ БЕЗОТНОСИТЕЛЬНОСТИ МИКРОЯДРА Существенное число систем на кри- сталле, применяющихся во встраивае- мых системах и СРВ, предназначены для решения задач обработки сигналов и имеют в своём составе математиче- ские сопроцессоры, которые способны эффективно выполнять ресурсоёмкие вычисления над числами с плавающей точкой и комплексными величинами. В гибридных системах подобные сопро- П РОГ РАММНОЕ ОБ Е СП Е Ч Е НИЕ / СИС Т ЕМЫ Р Е АЛ Ь НОГО В Р ЕМЕ НИ 111 СТА 4/2014 www.cta.ru Рис. 2. Ядро ОС РВ QNX Neutrino поддерживает подавляющее большинство современных технологий Шина PCI ЦП Память Графический процессор Видеопамять QNX Neutrino микроядро Менеджер ресурсов графической подсистемы DMA- контроллер
Made with FlippingBook
RkJQdWJsaXNoZXIy MTQ4NjUy