СОВРЕМЕННАЯ ЭЛЕКТРОНИКА №9/2013
СОВРЕМЕННЫЕ ТЕХНОЛОГИИ 14 WWW.SOEL.RU СОВРЕМЕННАЯ ЭЛЕКТРОНИКА ◆ № 9 2013 ет противоположный подход, когда каждый процессор является незави- симым вычислительным устройством. Это позволяет выполнять на различ- ных ядрах множество копий одного и того же приложения, работающих над различными наборами данных, а также (при необходимости) выпол- нять на различных ядрах различные ОС. Типовым примером последнего может быть выполнение ОСРВ, отве- чающей за сбор данных или управ- ление объектом, на одном ядре, и ОС общего назначения (например, Linux), отвечающей за интерфейс с пользова- телем, на другом. В многоядерных AMP-системах необ- ходимо обеспечивать вычислительным ядрам корректный совместный доступ к разделяемым ресурсам – напри- мер, кэшу 2 уровня (L2), шинам дан- ных и ряду периферийных устройств. Это увеличивает сложность системы и требует более тщательного подхода к проектированию и разработке ПО, особенно в случае, когда на различ- ных ядрах выполняются различные ОС, и результат некорректной опера- ции на одном ядре может распростра- ниться на все остальные ядра. По этой причине всё более набирает популяр- ность реализация AMP на многоядер- ных архитектурах с поддержкой кон- троля (supervision) и виртуализации – более подробнее об этом см. далее. На уровне приложения ядра работа- ют независимо, что позволяет мини- мизировать усилия по портированию ПО на многоядерную архитектуру. Если приложению требуется «общать- ся» с другим приложением, выполняю- щимся на другом ядре, это реализуется непосредственно на уровне приложе- ния с использованием соответствующе- го механизма межпроцессорного вза- имодействия, использующего, в свою очередь, предоставляемый аппарату- рой физический транспорт. Это отли- чается от реализации, используемой в SMP, где межзадачное взаимодействие между приложениями, выполняющи- мися на разных ядрах, является про- граммно прозрачным. Контролируемая и виртуализированная асимметричная многопроцессорность Многоядерные AMP-системы могут быть очень сложными, особенно это касается консолидированных систем, использующих несколько ОС одновре- менно. На практике это означает, что на обеспечение корректности их реализа- ции и конфигурирования приходится затрачивать больше усилий (в частно- сти, это касается распределения аппа- ратных ресурсов – его приходится делать вручную). Поскольку рост сложности (а значит, и трудозатрат) нежелателен, в послед- нее время набирает популярность под- ход с использованием программного супервизора , который выполняется ниже уровня ОС и управляет доступом к разделяемым ресурсам, таким обра- зом, реализация этой функции со сто- роны применяемых ОС значительно упрощается. Супервизор также может предоставлять возможность контроли- руемой перезагрузки отдельных ядер, никак не затрагивая при этом работу остальных. Ещё одна популярная в последнее время тенденция – использование пол- ной виртуализации – является даль- нейшим развитием подхода с супер- визором. В этом случае ниже уровня ОС выполняется гипервизор , ответ- ственный за создание для каждого ядра отдельной виртуализированной среды, в т.ч. настройку защиты памя- ти для каждой используемой ОС и их последующую загрузку. Это обеспечи- вает надёжную изоляцию операцион- ных сред каждого ядра и может служить хорошей технологической основой для консолидации нескольких приложе- ний, ранее выполнявшихся на отдель- ных процессорах, в рамках интегри- рованной многоядерной архитекту- ры. Обычно подобная задача включает в себя приложения, выполняющиеся под управлением ОС общего назначе- ния (например, Windows или Linux), и приложения, выполняющиеся в сре- де ОСРВ (например, VxWorks). В системах с повышенными требова- ниями к безопасности залогом макси- мальной эффективности использова- ния многоядерных технологий являет- ся применение надёжного гипервизора. В процессе регулярного обновления технологической базы самой слож- ной задачей обычно является пере- ход на новый процессор. Реализация безопасной системы на базе валиди- рованного или сертифицированного гипервизора позволяет вынести аппа- ратно-зависимую функциональность за пределы ОС и приложений, а зна- чит, обеспечивает переход на новые процессоры с минимумом повторно- го тестирования и верификации. К ОНВЕРГЕНЦИЯ В предыдущих главах современные тенденции в области безопасности ПО и многоядерных технологий рассма- тривались отдельно друг от друга. Оче- видно, что, несмотря на то, что неко- торые из этих тенденций не связаны между собой, у них также есть ряд важ- ных точек соприкосновения, открыва- ющих богатый потенциал их совмест- ного использования. Функциональная безопасность и многоядерные процессоры В системах с повышенными требова- ниями к безопасности всё чаще исполь- зуется консолидация приложений, что в рамках программной архитектуры IMA означает совместное выполнение на одном процессоре нескольких неза- висимых приложений, а также переход от использования для этих целей одно- процессорных систем к многоядерным. Обязательным этапом при этом стано- вится выяснение, пригодны ли много- процессорные системы для построе- ния надёжных и безопасных систем и какой тип многоядерных архитек- тур обеспечивает наибольшую степень безопасности. SMP, на первый взгляд, кажется при- влекательным решением для функци- онально-безопасных систем, т.к. сулит существующим «федеративным» при- ложениям увеличение производитель- ности за счёт перехода на многоядер- ные процессоры. Выигрыш в произво- дительности, правда, будет частично скомпенсирован проигрышем в детер- минизме: во-первых, станет непредска- зуемым время доступа к разделяемым ресурсам, т.к. теперь оно будет зависеть от активности всех остальных ядер, которые тоже могут запрашивать к ним доступ. Во-вторых, скажется побочный эффект кеширования, и перепланиро- вание задачи будет занимать разное время в зависимости от того, назначает- ся ли задача на то же самое ядро или на другое. К тому же для SMP не существу- ет очевидного решения для реализации нескольких уровней безопасности для параллельно исполняемых задач. Из этого можно сделать вывод, что ожи- дать беспроблемного использования SMP-технологий в системах с высоки- ми требованиями к функциональной безопасности не следует. Наибольший потенциал для исполь- зования в системах повышенной функ- циональной безопасности имеют AMP-конфигурации. Кроме того, для © СТА-ПРЕСС
RkJQdWJsaXNoZXIy MTQ4NjUy