RealFeedApp beta

Система отсчета ирета считает юзерспейс-инструкции в ядре

Исследование 11 реализаций x86_64 показало, что инструкция iret в ядре ошибочно включается в счётчик пользовательских инструкций, вызывая пересчёт. Это приводит к недетерминированности при воспроизведении выполнения и требует корректировки для библиотек с жёсткой детерминированностью.

Область
железо и чипы
Что сделали
Исследователи изучили 11 реализаций процессоров x86_64 и обнаружили, что аппаратные счетчики производительности часто ошибочно увеличивают свои показания (overcount) и дают разные результаты при повторном запуске, даже в строго контролируемых условиях.
Зачем это
Это знание необходимо для разработки библиотек и систем, требующих строгого детерминизма, например, для создания воспроизводимых симуляций или библиотек многопоточного программирования, где предсказуемость работы критична.
#x86_64#performance counter#determinism#iret#hardware

Читать оригинал →