Диссертация (Исследование, методы разработки и создание многопроцессорных модулей доверенных вычислительных комплексов), страница 9
Описание файла
Файл "Диссертация" внутри архива находится в папке "Исследование, методы разработки и создание многопроцессорных модулей доверенных вычислительных комплексов". PDF-файл из архива "Исследование, методы разработки и создание многопроцессорных модулей доверенных вычислительных комплексов", который расположен в категории "". Всё это находится в предмете "технические науки" из Аспирантура и докторантура, которые можно найти в файловом архиве РТУ МИРЭА. Не смотря на прямую связь этого архива с РТУ МИРЭА, его также можно найти и в других разделах. Архив можно найти в разделе "остальное", в предмете "диссертации и авторефераты" в общих файлах, а ещё этот архив представляет собой докторскую диссертацию, поэтому ещё представлен в разделе всех диссертаций на соискание учёной степени доктора технических наук.
Просмотр PDF-файла онлайн
Текст 9 страницы из PDF
Реализация этих языков осуществляется с помощьювиртуальной машины, которая включает динамические средства контролятипов и целостности объектов при выполнении программы. Посколькувиртуальные машины не имеют непосредственной реализации на современныхаппаратных платформах, программы на Java и C# исполняются с помощьюинтерпретаторов, а для повышения эффективности исполнения используютсядинамические компиляторы и оптимизаторы. На процессорах с архитектурой«Эльбрус» реализована виртуальная машина языка Java OpenJDK, в которойработает динамический компилятор, оптимизируя Java bytecode в параллельныекоманды процессора.441.2.4 Технология защищенного исполнения программВ архитектуре «Эльбрус» реализована не имеющие аналогов в миретехнология защищенного исполнения программ, которая позволяет эффективноиспользовать языки программирования C и C++ и обеспечивают уровеньнадежности, не уступающий языкам Java и C#.
Это достигается за счет теговойархитектуры, структурированной памяти на базе дескрипторов и контекстнойзащиты,обеспечивающейязыковыепринципыограниченияобластейвидимости данных, как это показано на рисунке 1.2.2.адресобъект, область стекасмещениедескриптор объекта3.14разм.
| смещ. | адрес4096разм. | смещ. | адресразмерТеги данныхдескрипторобъекта25дескриптор объектаразм. | смещ. | адресчисловое значениеОбъект, область стеканеинициализированныеданныеразм.адрес31разм. | смещ. | адресРис. 1.2.2 Тегированная память в архитектуре «Эльбрус».С помощью тегов задается информация о типах данных, используемыхпрограммой. При этом аппаратным образом поддерживаются только несколько,наиболееважныхсточкизрениянадежноститиповданных:неинициализированные данные, числовые данные и указатели на данные(дескрипторы, описывающие объекты, на которые смотрят указатели).Благодаря этому теги не занимают много места (2 бита на 32-разрядное слово впамяти) и хранятся в памяти в кодах коррекции (ECC).
Контроль числовыхтипов данных выполняется компилятором.Благодаря наличию тегов и дескрипторов память исполняемой программыстановится структурированной, наполненной содержательными объектами и45данными, а не просто набором байтов, как во всех современных процессорныхархитектурах. Это существенно повышает семантический уровень архитектуры«Эльбрус».Семантическийуровеньархитектуры«Эльбрус»дополнительноповышается в направлении языков программирования за счет средствконтекстной защиты, реализованных на аппаратном уровне. Контекстнаязащита при исполнении любой функции (метода) обеспечивает доступ только ктем данным, которые прямо или косвенно доступны ей (ему) средствами языка.Обычно это данные, расположенные в области видимости функции (метода).Для функции языка C – это глобальные данные единицы компиляции(программного модуля), параметры и локальные данные самой функции.
Приэтом глобальные данные модуля состоят из собственных данных модуля,доступных только его функциям, интерфейсных данных модуля, видимых изфункций других модулей, и ссылок на интерфейсные данные других модулей.При вызове из функции одного модуля функции другого модуля аппаратнымобразом и атомарно происходит смена контекста, в результате чего вызваннойфункции становятся доступны ее глобальные данные, но глобальные данныевызывающей функции становятся не доступными.
Контекстная защита дляязыка С++ работает аналогичным образом [18].Эффективностьреализациитехнологиизащищенногоисполненияпрограмм обеспечивается на аппаратном уровне, т.к. контроль типов ипроверки нарушения границ объектов, необходимые при обращениях в памятьчерез указатели, выполняются параллельно с выполнением соответствующихопераций и не замедляют исполнение программы.Технологиязащищенногоисполненияпрограммподдерживаетсякомпонентами системы программирования (компиляторы и средства сборки), атакже операционной системой. Средствами операционной системы создаютсяобъекты в памяти и на них формируются дескрипторы (аппаратура непозволяет сконструировать дескриптор из частей в программе пользователя), а46кроме этого обеспечивается контроль обращений к уничтоженным объектам позависшим указателям.Технология защищенного исполнения позволяет создавать надежное,хорошо отлаженное программное обеспечение большими коллективамиразработчиков.
Кроме этого исполнение программ в этом режима надежнозащищает их от проникновения компьютерных вирусов. Чаще всего вирусыпроникают,используядляэтогоошибкивсистемномпрограммномобеспечении, но, как правило, для передачи управления используетсянеконтролируемое на всех существующих аппаратных системах переполнениебуфера. Благодаря наличию тегов, дескрипторов и контекстной защиты наархитектуре «Эльбрус» такой способ проникновения просто не возможен. Этопозволяет безопасно включать в программы, работающие на платформе«Эльбрус», встроенные модули (plug-in), которые работают в виртуальнойпамяти приложения и на обычных аппаратных системах делают их уязвимыми.Хотя в мире предпринималось много попыток создать более надежныеаппаратные архитектуры, они не увенчались успехом, т.к. в самом начале дляреализации принимались неверные решения, в дальнейшем мешали вопросысовместимости.
Тем не менее, попытки создать надежную архитектурупродолжаются. В частности, абсолютно новым путем пытаются идтиразработчикипроектаCRUSH-SAFE,поддерживаемогоагентствомстратегических инициатив DARPA. Основной целью проекта является созданиенадежных вычислительных систем. Для этого предлагается аппаратнаяархитектура, в которой 64-разнядные данные защищаются 64-разряднымитегами, обращение к данным осуществляется через дескрипторы, выполняетсядинамический контроль типов и считается, что ради достижения высокойнадежности можно пожертвовать производительность и совместимостью. Вотличие от технологий архитектуры «Эльбрус» предлагаемая системаориентируется на абсолютно новые языки программирования, для нее должнаиспользоваться новая операционная система и специальная аппаратура. Этот47проект находится в начальной стадии по сравнению с хорошо проработанной итребующей массового внедрения технологией защищенного исполненияпрограмм в архитектуре «Эльбрус».1.3 Анализ многопроцессорных вычислительных комплексовВ разделе приведены результаты исследования завершенных разработокмногопроцессорныхвычислительныхкомплексоввысокойпроизводительности на основе многоядерных процессоров архитектурыЭльбрус.
Выбраны направления улучшения технических характеристик припроектировании таких комплексов общего и специального назначения.Предлагается проведение одновременного конструкторско-технологическогопроектирования микросхем многоядерных процессоров, многопроцессорныхмодулей как базовых конструкций, сокращающее время выхода на рынокдоверенныхвычислительныхкомплексовприповышенииихконкурентоспособности.1.3.1 Факторы развития вычислительных комплексовВсовременныхвычислительнойвычислительныхусловияхтехникидлянеобходимокомплексовразвитияимпортозамещающейпоявление(серверов)смногопроцессорныхконкурентоспособнымихарактеристиками.
Эта необходимость обусловлена следующими факторами: ограничения поставок импортной высокопроизводительной вычислительнойтехники как для применения в современном вооружении, так и для егосоздания; возможность выполнения всех классов задач пользователей; высокийспроснапоставкимногопроцессорныхкомплексов;48вычислительных практика продажи персональных компьютеров ниже себестоимости при ихсовместнойпоставкесмногопроцессорнымивычислительнымикомплексами; эффективность при создании высокопроизводительных кластеров, центровобработки данных, суперкомпьютеров.Присозданиимногопроцессорныхвычислительныхкомплексовнеобходимо рассматривать значительное число технических характеристик,определяющихвыборнаправленияразработки [19,20].Основнымихарактеристиками являются производительность и наличие распространенныхинтерфейсов пользователя.
Немаловажными также являются характеристики,специфичные для модернизации, проводимой с целью адаптации к новымусловиям использования, а также возможность построения нового комплекса набазекомпонентовхарактеристикприужевыполненнойразработки.Вконструкторско-технологическомкачестветакихпроектированиииспользуются показатели унификации и масштабируемости. Применительно кмногопроцессорным вычислительным комплексам проектирование, ставящеецелью получить необходимое качество этих характеристик, во многом сводитсяк созданию многопроцессорных модулей с контроллерами периферийныхинтерфейсов.Для многопроцессорных вычислительных комплексов типичным являетсягоризонтальное масштабирование — возможность добавлять новые узлы имодули для увеличения функциональности и общей производительности.Можно выделить следующие варианты такого масштабирования: по количеству многоядерных процессоров и оперативной памяти в системе снеравномерным доступом к общей памяти (NUMA — Non-Uniform MemoryAccess); по количеству многопроцессорных модулей в кластере, объединенныхвысокоскоростной сетью; по количеству периферийных устройств.49Нарядусэтимиспользованиестандартовсистемотехническогопроектирования базовых конструкций вычислительной техники допускаетвертикальное масштабирование — возможность по мере роста требований илиразвития новых поколений процессоров и соответствующих им периферийныхконтроллеров заменять компоненты в существующем многопроцессорномкомплексе более производительными и функциональными.Впоследнеевремяширокораспространенымикросхемысинтегрированными периферийными контроллерами (South Bridge).