Telegram Group & Telegram Channel
1. https://www.intel.com/content/www/us/en/developer/articles/technical/advanced-performance-extensions-apx.html

Тут Intel выложили статью о том как они будут менять архитектуру ассемблера. Мне честно очень понравилось, будет выглядеть более похоже на Arm:
* Теперь будет 32 логических регистра. Тут уменьшатся в разы инструкции перекладываний со стека и на стек. Тем не менее, результаты могут быть не такими воодушевляюшими, так как современные процессоры имеют по 200-350 физических регистров (без учёта SIMD регистров) и алгоритмы переименования давным давно хорошо справляются со сложными задачами. Тем не менее, можно будет не использовать такие сложные алгоритмы
* push2, pop2: быстрее будем класть и брать со стека. Тут можно посмотреть на LDP/STP инструкции из Arm о которых я писал.
* 3 argument instructions. Инструкции будут иметь 3 аргумента, теперь на надо будет складывать память с регистром и мувать в другой регистр, можно сразу класть в другой. Тоже Arm так делает давным давно. Тут скорее всего лучше будет компиляторам такие инструкции производить.
* Conditional stores/loads -- это интересно, на Arm такого нет, я думаю хорошо взлетит во всяких compression/sorting
* Унификация SIMD. Intel тоже хочет быть похожим на SVE в Армах с непостоянной максимальной шириной максимального регистра. Поэтому вы можете спросить какая версия SIMD доступна и кодировать инструкции с помощью EVEX префикса. И даже не придётся компилировать 2 копии.

2. Тут нашли удивительную уязвимость с помощью фаззинга AMD процессоров https://lock.cmpxchg8b.com/zenbleed.html: более менее мои Ctrl+C Ctrl+V оно нашло за несколько секунд эксплуатации. Идея: давайте на разных процессорах запустим случайно сгенерированные программы, а также программы, где между инструкциями стоят lfence/mfence инструкции. Последние убивают instruction level parallelism, а значит и много оптимизаций вроде переименования регистров, speculative execution. После этого можно сверить все результаты. Если убрать все инструкции результат которых не определён, скажем, bsf (Bit Scan Forward при нуле не определён), то можно честно сравнивать выходы. Так и нашли этот баг. Удивительно крутая история.

3. Переписал Iguana Compression c Go на C++ (выложим код скорее всего). Получилось попробовать в более боевых условиях. Результаты хорошие, но не 2-3x заявленных в бенчмарках. По уровню сжатия версия без энтропийного кодирования чуть получше стандартного LZ4, а энтропийное где-то между ZSTD:2-3. В целом ничего не мешает увеличивать сжатие, так как алгоритм из LZ семейства и все алгоритмы сжатия из ZSTD можно перенести в Iguana. На Icelake писали, что где-то прибавка в 20-30%, а от себя скажу, что на Zen4 примерно всё ровно с ZSTD. AVX вещи у AMD всегда отстают на где-то 1 поколение от Intel. Догонят :)



group-telegram.com/experimentalchill/250
Create:
Last Update:

1. https://www.intel.com/content/www/us/en/developer/articles/technical/advanced-performance-extensions-apx.html

Тут Intel выложили статью о том как они будут менять архитектуру ассемблера. Мне честно очень понравилось, будет выглядеть более похоже на Arm:
* Теперь будет 32 логических регистра. Тут уменьшатся в разы инструкции перекладываний со стека и на стек. Тем не менее, результаты могут быть не такими воодушевляюшими, так как современные процессоры имеют по 200-350 физических регистров (без учёта SIMD регистров) и алгоритмы переименования давным давно хорошо справляются со сложными задачами. Тем не менее, можно будет не использовать такие сложные алгоритмы
* push2, pop2: быстрее будем класть и брать со стека. Тут можно посмотреть на LDP/STP инструкции из Arm о которых я писал.
* 3 argument instructions. Инструкции будут иметь 3 аргумента, теперь на надо будет складывать память с регистром и мувать в другой регистр, можно сразу класть в другой. Тоже Arm так делает давным давно. Тут скорее всего лучше будет компиляторам такие инструкции производить.
* Conditional stores/loads -- это интересно, на Arm такого нет, я думаю хорошо взлетит во всяких compression/sorting
* Унификация SIMD. Intel тоже хочет быть похожим на SVE в Армах с непостоянной максимальной шириной максимального регистра. Поэтому вы можете спросить какая версия SIMD доступна и кодировать инструкции с помощью EVEX префикса. И даже не придётся компилировать 2 копии.

2. Тут нашли удивительную уязвимость с помощью фаззинга AMD процессоров https://lock.cmpxchg8b.com/zenbleed.html: более менее мои Ctrl+C Ctrl+V оно нашло за несколько секунд эксплуатации. Идея: давайте на разных процессорах запустим случайно сгенерированные программы, а также программы, где между инструкциями стоят lfence/mfence инструкции. Последние убивают instruction level parallelism, а значит и много оптимизаций вроде переименования регистров, speculative execution. После этого можно сверить все результаты. Если убрать все инструкции результат которых не определён, скажем, bsf (Bit Scan Forward при нуле не определён), то можно честно сравнивать выходы. Так и нашли этот баг. Удивительно крутая история.

3. Переписал Iguana Compression c Go на C++ (выложим код скорее всего). Получилось попробовать в более боевых условиях. Результаты хорошие, но не 2-3x заявленных в бенчмарках. По уровню сжатия версия без энтропийного кодирования чуть получше стандартного LZ4, а энтропийное где-то между ZSTD:2-3. В целом ничего не мешает увеличивать сжатие, так как алгоритм из LZ семейства и все алгоритмы сжатия из ZSTD можно перенести в Iguana. На Icelake писали, что где-то прибавка в 20-30%, а от себя скажу, что на Zen4 примерно всё ровно с ZSTD. AVX вещи у AMD всегда отстают на где-то 1 поколение от Intel. Догонят :)

BY Experimental chill




Share with your friend now:
group-telegram.com/experimentalchill/250

View MORE
Open in Telegram


Telegram | DID YOU KNOW?

Date: |

Some privacy experts say Telegram is not secure enough As a result, the pandemic saw many newcomers to Telegram, including prominent anti-vaccine activists who used the app's hands-off approach to share false information on shots, a study from the Institute for Strategic Dialogue shows. Multiple pro-Kremlin media figures circulated the post's false claims, including prominent Russian journalist Vladimir Soloviev and the state-controlled Russian outlet RT, according to the DFR Lab's report. The company maintains that it cannot act against individual or group chats, which are “private amongst their participants,” but it will respond to requests in relation to sticker sets, channels and bots which are publicly available. During the invasion of Ukraine, Pavel Durov has wrestled with this issue a lot more prominently than he has before. Channels like Donbass Insider and Bellum Acta, as reported by Foreign Policy, started pumping out pro-Russian propaganda as the invasion began. So much so that the Ukrainian National Security and Defense Council issued a statement labeling which accounts are Russian-backed. Ukrainian officials, in potential violation of the Geneva Convention, have shared imagery of dead and captured Russian soldiers on the platform. "The argument from Telegram is, 'You should trust us because we tell you that we're trustworthy,'" Maréchal said. "It's really in the eye of the beholder whether that's something you want to buy into."
from sa


Telegram Experimental chill
FROM American