ПЕРЕЧЕНЬ СОКРАЩЕНИЙ И ОБОЗНАЧЕНИЙ 6
ВВЕДЕНИЕ 7
1 Устройство управления ресурсами многопроцессорной системы 9
1.1 Обзор предметной области 9
1.1.1 Операционные системы реального времени 9
1.1.2 Многоядерные процессоры и ОСРВ 9
1.1.3 Архитектура аппаратного ядра многопроцессорной операционной
системы 11
1.2Анализ популярности 15
1.3Обзор способов реализации и выбор инструментов разработки 17
1.3.1 Программный подход к синхронизации процессов 17
1.3.2 Аппаратная реализация 21
1.3.3 Сравнение программной и аппаратной реализаций 21
1.3.4 Выбор среды разработки 23
2 Разработка структурной схемы устройства 25
2.1 Описание структурной схемы устройства 25
2.2 Формализация алгоритмов синхронизации процессов с использованием
механизма критических интервалов на основе НДА 29
2.3 Разработка функциональной схемы устройства 32
2.3.1 Синтез функциональной схемы устройства 32
3 Анализ результатов моделирования 46
ЗАКЛЮЧЕНИЕ 61
СПИСОК ИСПОЛЬЗОВАННЫХ ИСТОЧНИКОВ 63
ПРИЛОЖЕНИЕ А 64
ПРИЛОЖЕНИЕ Б 66
ПРИЛОЖЕНИЕ В 69
На сегодняшний день архитектура современных операционных систем (ОС) включает в себя типичные компоненты, часто используемые при выполнении различных задач. Эти компоненты связаны с механизмами меж процессного взаимодействия, управления памятью, планирования и диспетчеризации процессов, а также с обработкой прерываний. Некоторые из этих системных компонентов имеют аппаратную поддержку (например, управление виртуальной памятью и прерывания), тогда как другие реализованы на программном уровне. При выполнении пользовательских программ эти компоненты могут приводить к значительным временным затратам, которые нередко достигают десятков процентов от общего времени выполнения задач.
В последнее время происходит замена программной реализации алгоритмов ядра ОС на их аппаратную реализацию. Переход связан с тем, что нужно улучшать соотношения производительности вычислительных систем и стоимости благодаря повышению степени внедрения логических элементов и их доступной стоимости. Аппаратная реализация алгоритмов ОС значительно сокращает время, которое необходимо для работы приложений, что внушительно увеличиваетпроизводительность систем. Кроме того, аппаратное выполнение облегчает разработку программного обеспечения и даёт возможность использования на разных версиях ОС и на различных устройствах.
Еще одним преимуществом является снижение времени и затрат на проверку нижних уровней операционной системы. Это достигается благодаря лучшей формализации функций аппаратного способа по сравнению с программным и применению современных инструментов разработки и верификации. Таким образом, аппаратная реализация способствует созданию более надежных и производительных вычислительных систем [1].
Операционные системы, основанные на традиционных программных решениях, могут вызывать значительные издержки, особенно в системах 7
реального времени (СРВ). Для таких систем критически важна высокая скорость реакции на запросы, что требует оптимизации производительности ОС. Один из способов повышения производительности - внедрение аппаратной поддержки для выполнения функций ядра ОС, включая управление параллельно работающими процессами. Взаимодействие между процессами может происходить через передачу данных или совместный доступ к общим ресурсам, требуя координации действий. Последний тип взаимодействия известен как синхронизация процессов.
Подход к синхронизации процессов основан на взаимоисключении процессов при доступе к общим (разделяемым) ресурсам. Реализуется метод с использованием критических секции. Каждый процесс имеет свой критическая секция - участок программы, который работает с общим ресурсом. Критической секции ставится в соответствие общая двоичная переменная, которую называют блокирующей. Ей присваивается значение единицы, когда процесс входит в своюкритическую секцию, и значение нуля, когда производится выход из критической секции. Процесс или поток, прежде чем войти в своюкритическую секцию, проверяет блокирующую переменную, и если она установлена, то переходит в режим циклического опроса переменной (эту операцию еще называют спин-блокировкой). При освобождении критической секции процесс устанавливает блокирующую переменную и входит в критическую секцию. Выполнив необходимые действия с критическим ресурсом, процесс сбрасывает блокирующую переменную, тем самым предоставляя доступ в неё другим процессам.
В результате выполнения представленного дипломного проекта было разработано и исследовано устройство управления ресурсами многопроцессорной системы. Устройство управления ресурсами предназначено для управления параллельными взаимодействующими процессами и обеспечивает доступ параллельных процессов к общему ресурсу на основе метода критических секций.
При анализе временных диаграмм, которые были получены в ходе моделирования устройства управления ресурсами, смогли выявить значительные преимущества данной структуры в специализированных многопроцессорных системах. Преимущества, которые были выявлены в ходе работы включают увеличении реакции операционной системы на запросы к совместно используемым ресурсам и повышение общей эффективности работы системы. Аппаратная реализация освобождает процессор от работы в ядре ОС при выполнении функции управления ресурсами, перекладывая эту работу на специальное устройство управления, что дополнительно способствует повышению
производительности многопроцессорной системы.
Кроме того, устройство управления ресурсами многопроцессорной системы может существенно ускорять работу нейронных сетей. Эффективное распределение задач между доступными процессорами и другими вычислительными ресурсами, такими как графические процессоры (GPU) или специализированные интегральные схемы (ASIC), позволяет параллелизировать выполнение вычислений, что значительно ускоряет обработку больших объемов данных и выполнение сложных операций, характерных для нейронных сетей. Оптимизация загрузки ресурсов и уменьшение латентности также играют важную роль, обеспечивая более быстрый и эффективный доступ к необходимым данным. Балансировка нагрузки между процессорами предотвращает перегрузку отдельных процессоров и улучшает общую производительность системы.
Проектирование и тестирование устройства производилось в программе Simulink, что позволило достичь высокой точности и надежности в моделировании и оценке производительности предложенного решения.
1. Вашкевич Н.П., Бикташев Р.А., Гурин Е.И. Аппаратная реализация функций синхронизации параллельных процессов при обращении к разделяемому ресурсу на основе ПЛИС / Известия вузов. Поволжский регион. Технические науки. № 2, 2007, с.3-12.
2. Таненбаум Э., Бос Х. Современные операционные системы .4 - е изд. — СПб.: Питер, 2015. — 1120 с.
3. Олифер В. Г., Олифер Н. А. Сетевые операционные системы: Учебник для вузов. 2-е изд. — СПб.: Питер, 2009. - 669 с.:
4. Иванов Ю.И., Цирулик Д.В., Югай В.Я. Программно-аппаратная реализация типовых функций в системах управления. Таганрог: Изд-во ТТИ ЮФУ, 2009. - 65 с.
5. Бикташев Р.А. Структурная организация многопроцессорных систем с аппаратной поддержкой ядра ОС. Новые информационные технологии и системы: сборник статей XII Международной научнотехнической конференции. - Пенза: Изд-во ПГУ, 2015. - С.90-93.
6. Бикташев Р.А. Структурный синтез устройств управления
ресурсами в многопроцессорных системах на основе логики недетерминированных автоматов/ Р.А.Бикташев, Н.П. Вашкевич. - Материалы докладов XXIII международной научно - технической конференции, посвященной 100-литиюНГТУ- Нижегородского
политехнического института. 2017.- С. 641 - 646.
7. Вашкевич Н.П., Бикташев Р.А. Недетерминированные автоматы и их использование для реализации систем параллельной обработки информации. Монография. Пенза: Изд-во ПГУ. 2016.-296с.