В этой статье мы рассмотрим классический конкурентный кольцевой буфер и обсудим, как его можно оптимизировать для повышения производительности. Я покажу вам, как существенно улучшить этот показатель от 5,5 миллионов элементов в секунду до 112 миллионов элементов в секунду — и эти показатели выше, чем в реализациях Boost и Folly. Если вам требуется готовая реализация со всеми этими оптимизациями, посмотрите мою библиотеку SPSCQueue.h.
Рубрика «TLB»
Оптимизация кольцевого буфера для повышения пропускной способности
2024-12-28 в 10:10, admin, рубрики: amd, linux, MESI, SPSC, timeweb_статьи_перевод, TLB, буфер, ядроПреимущества и недостатки HugePages
2019-07-18 в 6:07, admin, рубрики: hugepages, linux, TLB, transparent hugepages, Аллокация в памяти, Блог компании OTUS. Онлайн-образование, Буфер ассоциативной трансляции, Настройка Linux, Подмена Hugepages, Серверная оптимизация, системное администрированиеПеревод статьи подготовлен для студентов курса «Администратор Linux».
Ранее я рассказал о том, как проверить и включить использование Hugepages в Linux.
Эта статья будет полезна, только если у вас действительно есть, где использовать Hugepages. Я встречал множество людей, которые обманываются перспективой того, что Hugepages волшебным образом повысят производительность. Тем не менее hugepaging является сложной темой, и при неправильном использовании он способен понизить производительность.Читать полностью »
Дерандомизация ASLR на любых современных процессорах средствами JavaScript
2017-02-16 в 17:13, admin, рубрики: AnC, aslr, ASLR⊕Cache, javascript, MMU, TLB, браузеры, информационная безопасность, кэш процессора, трансляция адресов памяти
Запись обращений к кэшу устройством управления памятью (MMU) в процессоре по мере вызова страниц по особому паттерну, разработанному для выявления различий между разными уровнями иерархии таблиц. Например, паттерн «лесенки» (слева) указывает на первый уровень иерархии, то есть PTL1, при вызове страниц по 32K. Для других уровней иерархии тоже есть методы выявления
Пятеро исследователей из Амстердамского свободного университета (Нидерланды) доказали фундаментальную уязвимость техники защиты памяти ASLR на современных процессорах. Они выложили исходники скриптов JavaScript и подробное описание атаки AnC (ASLR⊕Cache), которой подвержены практически все процессоры.
Исследователи проверили AnC на 22 процессорах разных архитектур — и не нашли ни одного, который был бы защищён от такого рода атаки по стороннему каналу. Это и понятно, ведь во всех процессорах используется буфер динамической трансляции для кэширования адресов памяти, которые транслируются в виртуальные адреса. Защититься от этой атаки можно только отключив кэш процессора.
Читать полностью »