Главная » Просмотр файлов » Диссертация

Диссертация (1150736), страница 10

Файл №1150736 Диссертация (Синтез алгоритмов обработки сигналов с ограничениями на минимальный параллелизм и объём памяти) 10 страницаДиссертация (1150736) страница 102019-06-29СтудИзба
Просмтор этого файла доступен только зарегистрированным пользователям. Но у нас супер быстрая регистрация: достаточно только электронной почты!

Текст из файла (страница 10)

Отсутствие этихкомпонент приводит к уменьшению расхода энергии.Реализация среды управляемого исполнения на устройстве требует дополнительных ресурсов, что приводит к опасению о неэффективности такого решения по сравнению с традиционными. Действительно, существуют причины в архитектуре средств управляемого исполнения, приводящие к некоторойнеэффективности:∙ Строгая типизация требует дополнительных проверок во время исполнения, которые в языках С, С++ остаются на совести программиста. Современные компиляторы позволяют проводить эти проверки однократно, вынося их из циклов, что делает их влияние на скорость работыпрограммы незаметной. Наличие строгой типизации и отсутствие небезопасных указателей во многих случаях позволяет компиляторам выполнять более агрессивные операции, например, связанные с векторизациейциклов.∙ Для эффективной сборки мусора размер кучи должен превосходить размер динамически размещаемых в памяти данных в 2 раза [57].

Длявстроенных применений, связанных с цифровой обработкой сигналов,это не является серьезной проблемой, поскольку большинство данныхразмещается в памяти статически.52∙ Сборка мусора может приводить к задержкам. Использование инкрементальных алгоритмов, таких как Метроном [58] или инкрементальнаяконкурентная разметка и очистка, позволяет добиться контролируемойдетерминированной задержки, не превышающей единиц миллисекунд.Критические к задержкам части кода в любом случае традиционно неиспользуют динамическое распределение памяти.∙ Внутренние структуры данных для обеспечения типизации, рефлексиии обработки исключений занимают дополнительную память и вычислительные ресурсы. Рефлексия и неограниченная обработка исключенийявляется неотъемлимой частью языков Java и C#.

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

Даже в этом случае среда управляемого исполнения обеспечивает большую защиту от ошибок, поскольку ошибки часто локализованыво вновь написанном интеграционном коде, а не в библиотеках.Для использования во встраиваемых устройствах сейчас доступны технологии Sunspot [59] и Micro.NET [60]. Последняя технология доступна под открытой лицензией APL [61], что позволяет портировать ее под любые процессорные архитектуры. Она может использоваться на устройствах с минимальной оперативной памятью 300Кб, что сопоставимо с типичными требованиями операционных систем без поддержки страничной памяти.1.11Формальная верификация как средство повышения энергоэффективностиНаличие ошибок в программах, в том числе в программах для синтеза аппаратуры, приводит к необходимости механизмов их обработки на программ53ном и аппаратном уровне.

Гарантии отсутствия ошибок обеспечивают возможность удаления этих механизмов и экономии энергии. Наиболее сложными для обнаружения являются ошибки синхронизации и родственные ошибки,связанные с переполнением очередей при асинхронном взаимодействии. Возможность наличия таких ошибок приводит к необходимости переноса механизмов синхронизации в программные компоненты устройства, где они могутбыть исправлены после производства аппаратной части или внесения в аппаратную часть механизмов контроля длины очереди и остановки вычисленийдля разгрузки очереди. Это приводит к существенным накладным расходам иросту энергопотребления.Следует обратить внимание, что ошибки могут возникать и при изготовлении устройства, поэтому верификация проекта не исключает необходимостимеханизмов обнаружения ошибок изготовления, таких как схемы встроенногосамотестирования (Built-In Self-Test) [62].Для гарантирования отсутствия ошибок синхронизации в некоторых случаях возможно привести программу к циклостатическому виду, построивдля ее выполнения фиксированное расписание.

Аналогичный подход используется для автоматической конвейеризации логических схем средствами автоматического логического синтеза [63]. Для разработки более сложныхустройств предложена реактивная модель программирования и семейство языков для синхронного программирования потоков данных такие как Lustre [64],Estrel [65], Streamit [66]. Этот подход работает для сравнительно простых программ и плохо применим к программам со сложной управляющей логикой,не сводимым эффективным образом к потоку данных. Кроме того, требуетсяпереписывание программы в другой модели по сравнению с обычными императивными языками C, C++.

Это затрудняет разбиение задачи на аппаратные ипрограммные компоненты. Эти причины привели к тому, что подход не нашелширокого промышленного применения.Другой, более универсальный подход к синхронизации на основе сетей Кана [67] и асинхронного обмена сообщениями часто применяется в индустрии,например, при синтезе схем в CatapultC. В общем случае подход требует бесконечной памяти для гарантий отсутствия ошибок синхронизации, что является не реализуемым в аппаратуре. В некоторых случаях может быть построено54статическое расписание, но размер памяти может быть очень большим. Крометого, модель сетей Кана существенно ограничивает использование синхронных механизмов событий, таких как прерывания.Таким образом, востребованы средства формальной проверки программына наличие ошибок синхронизации в рамках промышленно используемых моделей разработки аппаратуры и программирования, таких как С++ и SystemC.Использование таких средств может позволить существенно сократить энергопотребление малопотребляющих специализированных полупроводниковыхустройств.Задача тестирования и отладки ошибок синхронизации является одной изосновных проблем в разработке программного обеспечения.

Для последовательных программ, для которых синхронизация не требуется, необходимыйуровень качества может быть достигнут при помощи полного покрытия кода модульными тестами. Для параллельных программ это не так, поскольку небольшие изменения в окружении исполнения непредсказуемо влияют нарасписание исполнения и приводят к воспроизведению не воспроизводимыхранее ошибок [68].Для программно-аппаратных систем проблема приобретает еще большеезначение.

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

Это, в свою очередь, увеличивает риск появления ошибоксинхронизации а аппаратных компонентах.Обычно выделяют три типа ошибок синхронизации:551. Тупик, когда система или ее часть приходит в состояние вечного ожидания невозможного события без использования вычислительных ресурсов;2.

Повисание, когда система или ее часть находится в состоянии вечногоцикла без выполнения полезной работы;3. Конкурентная модификация данных, когда несколько компонент системы в результате нарушения порядка записи данных нарушают их целостность.В общем случае, при наличии бесконечной памяти задача обнаруженияошибок синхронизации является алгоритмически неразрешимой [69]. На конечной памяти задача имеет в худшем случае экспоненциальную сложность.Существует 4 основных подхода к автоматической проверке правильностипрограмм.1.

Подходы на основе автоматического доказательства теорем;2. Проверка на моделях;3. Подходы на основе статического анализа;4. Подходы на основе динамической проверки (инструментации и запуска).Эти подходы обладают различным балансом точности, полноты и вычислительной сложности.

Подходы на основе проверки на моделях и доказательства правильности в общем случае абсолютно точны и полны, но вычислительная сложность ограничивает их применение к большим проектам или требует ручного извлечения сокращенной модели или ручного наложения ограничений и контрактов, что приводит к дополнительным затратам труда и рискуошибки.Динамический подход обладает в общем случае наименьшей вычислительной сложностью за счет уменьшения полноты и точности, поскольку полностью зависит от полноты внешнего тестового покрытия.С целью автоматического обнаружения ошибок синхронизации при участии автора была разработана система “Aegis for SystemC” на основе стати56ческого анализа и эвристических шаблонов корректных моделей синхронизации SystemC.

Этот подход позволяет за счет применения эвристик объединения состояний системы добиться практически реализуемой сложности дажедля больших систем. Уменьшение сложности достигается за счет уменьшенияточности анализа, то есть могут происходить ложные срабатывания.В первой версии был реализован подход, обычно применяемый в для программного обеспечения, на основе анализа порядка вызовов синхронизационных примитивов wait, notify [20]. Данный подход позволяет обнаруживатьтолько тупики и не применим к синхронно-асинхронным системам, включающим тактируемую модель аппаратуры и асинхронное программное обеспечение, управляемое событиями из-за экспоненциального роста сложности.В дальнейшем был разработан универсальный подход на основе анализадостижимости операторов в модели корректной программы на SystemC [21].Данный подход позволяет обнаруживать все 3 типа ошибок синхронизации иприменим к синхронным и асинхронным моделям и их комбинации.Для уменьшения вычислительной сложности условия задачи были ограничены.

Рассматривалась синхронно-асинхронная модель с набором стохастических тестов. Целью было обнаружение только тех ошибок, которые могутбыть воспроизведены системой тестов. Таким образом, система “Aegis forSystemC” может быть рассмотрена как расширение тестового покрытия системы.

Характеристики

Список файлов диссертации

Синтез алгоритмов обработки сигналов с ограничениями на минимальный параллелизм и объём памяти
Свежие статьи
Популярно сейчас
Как Вы думаете, сколько людей до Вас делали точно такое же задание? 99% студентов выполняют точно такие же задания, как и их предшественники год назад. Найдите нужный учебный материал на СтудИзбе!
Ответы на популярные вопросы
Да! Наши авторы собирают и выкладывают те работы, которые сдаются в Вашем учебном заведении ежегодно и уже проверены преподавателями.
Да! У нас любой человек может выложить любую учебную работу и зарабатывать на её продажах! Но каждый учебный материал публикуется только после тщательной проверки администрацией.
Вернём деньги! А если быть более точными, то автору даётся немного времени на исправление, а если не исправит или выйдет время, то вернём деньги в полном объёме!
Да! На равне с готовыми студенческими работами у нас продаются услуги. Цены на услуги видны сразу, то есть Вам нужно только указать параметры и сразу можно оплачивать.
Отзывы студентов
Ставлю 10/10
Все нравится, очень удобный сайт, помогает в учебе. Кроме этого, можно заработать самому, выставляя готовые учебные материалы на продажу здесь. Рейтинги и отзывы на преподавателей очень помогают сориентироваться в начале нового семестра. Спасибо за такую функцию. Ставлю максимальную оценку.
Лучшая платформа для успешной сдачи сессии
Познакомился со СтудИзбой благодаря своему другу, очень нравится интерфейс, количество доступных файлов, цена, в общем, все прекрасно. Даже сам продаю какие-то свои работы.
Студизба ван лав ❤
Очень офигенный сайт для студентов. Много полезных учебных материалов. Пользуюсь студизбой с октября 2021 года. Серьёзных нареканий нет. Хотелось бы, что бы ввели подписочную модель и сделали материалы дешевле 300 рублей в рамках подписки бесплатными.
Отличный сайт
Лично меня всё устраивает - и покупка, и продажа; и цены, и возможность предпросмотра куска файла, и обилие бесплатных файлов (в подборках по авторам, читай, ВУЗам и факультетам). Есть определённые баги, но всё решаемо, да и администраторы реагируют в течение суток.
Маленький отзыв о большом помощнике!
Студизба спасает в те моменты, когда сроки горят, а работ накопилось достаточно. Довольно удобный сайт с простой навигацией и огромным количеством материалов.
Студ. Изба как крупнейший сборник работ для студентов
Тут дофига бывает всего полезного. Печально, что бывают предметы по которым даже одного бесплатного решения нет, но это скорее вопрос к студентам. В остальном всё здорово.
Спасательный островок
Если уже не успеваешь разобраться или застрял на каком-то задание поможет тебе быстро и недорого решить твою проблему.
Всё и так отлично
Всё очень удобно. Особенно круто, что есть система бонусов и можно выводить остатки денег. Очень много качественных бесплатных файлов.
Отзыв о системе "Студизба"
Отличная платформа для распространения работ, востребованных студентами. Хорошо налаженная и качественная работа сайта, огромная база заданий и аудитория.
Отличный помощник
Отличный сайт с кучей полезных файлов, позволяющий найти много методичек / учебников / отзывов о вузах и преподователях.
Отлично помогает студентам в любой момент для решения трудных и незамедлительных задач
Хотелось бы больше конкретной информации о преподавателях. А так в принципе хороший сайт, всегда им пользуюсь и ни разу не было желания прекратить. Хороший сайт для помощи студентам, удобный и приятный интерфейс. Из недостатков можно выделить только отсутствия небольшого количества файлов.
Спасибо за шикарный сайт
Великолепный сайт на котором студент за не большие деньги может найти помощь с дз, проектами курсовыми, лабораторными, а также узнать отзывы на преподавателей и бесплатно скачать пособия.
Популярные преподаватели
Добавляйте материалы
и зарабатывайте!
Продажи идут автоматически
6501
Авторов
на СтудИзбе
303
Средний доход
с одного платного файла
Обучение Подробнее