Главная
Авторы Статьи Год проведения Тематика Организации Конференция МЭС
Функциональная верификация атомарных операций с использованием анализа конфликтов блокировок |
|
|
|
|
Авторы |
| Гревцев Н.А. |
| Чибисов П.А. |
Год публикации |
| 2020 |
DOI |
| 10.31114/2078-7707-2020-3-57-64 |
УДК |
| 004.052.42 |
|
Аннотация |
| известно, что симметричный мультипроцессор (SMP) должен использовать набор механизмов синхронизации для достижения результатов, свободных от состояния гонки, а также для корректного распределения ресурсов. Было доказано, что использование атомарных операций для доступа к разделяемым областям памяти в SMP-системах является основным методом предотвращения потери данных при реализации в программном обеспечении таких примитивов, как mutual exclusion, spinlock, thread execution barrier. Современные микропроцессорные архитектуры предоставляют различные виды атомарных операций, например, инструкции LL и SC на микропроцессорах с архитектурой MIPS используются в связке, чтобы гарантировать атомарность доступа к общей памяти для операций чтения и записи.
Механизмы синхронизации, такие как критические секции и барьеры, используемые для обеспечения исключительного доступа к разделяемым ресурсам, являются потенциальным узким местом производительности в многопоточных приложениях. Существует множество подходов, предлагающих различные методы для анализа и уменьшения влияния этой проблемы в программном или аппаратном обеспечении. Описанные подходы количественно измеряют накладные расходы на механизмы синхронизации, а также оценивают влияние данных примитивов синхронизации на общее время выполнения многопоточных приложений.
Все упомянутые исследования и описанный в литературе опыт могут быть использованы для расширения покрытия функциональной верификации атомарных операций. Функциональная верификация атомарных операций является достаточно трудоемким процессом, поскольку корректность работы атомарных операций не может быть проверена с помощью стохастических методов генерации тестов в силу непредсказуемости их поведения. Об этом свидетельствует отсутствие достаточной информации по данной теме, что с одной стороны могло бы означать, что атомарные операции были успешно проверены традиционными методами. Однако можно найти по крайней мере две ссылки на задокументированные ошибки известных процессоров, в которых перечислены проблемы, связанные с неправильным поведением атомарных операций.
Представленный в статье анализ механизмов синхронизации является методом, который фокусируется не на вопросах производительности, а на функциональной верификации инструкций атомарных операций, которые обеспечивают основу механизмов синхронизации. |
Ключевые слова |
| lock contention, cache contention, атомарные инструкции, функциональная верификация, псевдослучайная направленная генерация тестов, тесты производительности, PARSEC, lock torture, тестовое покрытие. |
Ссылка на статью |
| Гревцев Н.А., Чибисов П.А. Функциональная верификация атомарных операций с использованием анализа конфликтов блокировок // Проблемы разработки перспективных микро- и наноэлектронных систем (МЭС). 2020. Выпуск 3. С. 57-64. doi:10.31114/2078-7707-2020-3-57-64 |
Адрес статьи |
| http://www.mes-conference.ru/data/year2020/pdf/D090.pdf |
|
|