Pull to refresh

Comments 14

Спасибо за статью. Цифра (5.2Гбит/с) впечатляет.
Правильно ли я понял, что это все таки теоритическая производительноть. То есть, например в статье не учитывается латентность самой памяти. Также речь как я понял идет о работе бареметал, без операционки?

Это 100% загрузки 8 ядер под задачу шифрования. С одного ядра можно снять 650Мбит/с. Это теория. Будет сильно зависеть, как использовать. Если делать ipsec, то на смешанном трафике(imix) думаю около 4ГБит можно т.е. проходной шифратор на 1Гбит в дуплексе (2+2) должен работать

Всё ещё сильно зависит от режима шифрования. При прикладном примении (ipsec, tls) лучшим вариантом по скорости будет MGM, но тогда надо все значения скорости поделить на 2 (особенность режима). Если брать другие режимы с аутентификацией, то там даже невозможно организовать параллельную обработку блоков, так что скорость упадёт совсем сильно.

UFO just landed and posted this here

Было бы интересно подробнее узнать про wave формы, как узнать, где "тормозит конвейер" и прочие детали. Хотя бы пару ссылок.

Листинги ассемблера, наверное, стоит убрать под спойлер, а то занимают основную часть статьи.

Ну и хотелось бы, конечно, больше информации про то, какую реализацию брали и способ замера. Без подготовки читать ассемблер невозможно, а вычленять из него идею — и того хуже. И почему именно разбивка 6+4 на ALU/SIMD? Кажется, что при наличии 32 регистров NEON можно уместить обработку больше, чем 4 блоков, что должно положительно сказаться на скорости. Про замер интересует хотя бы режим шифрования (ECB?), наличие работы с памятью или шифрование на месте в цикле...

Если команда застревает в конвейере, то она стоит на декодере несколько тактов и на формах это как длинный прямоугольник. Из статьи видно, что суперскалярность дает больше чем использование neon. инструкция tbl сильно тормозит.

Сходу понял только первые 20-30 строк поста, дальше надо вспоминать давно забытый опыт.

UFO just landed and posted this here

Спасибо за комментарий. Поправили.

В 15 тестах из 21 bcm2711 упёрся в память. Это на заметку на сколько производительность системы (не)определяется только производительностью ядра.

А вообще, я достаточно плотно протестил Байкал-М и сравнил с Эльбрус-8С, 8СВ. На байкал-М скомпилял даже игры под альт, но вот Mali-t628 достаточно уже старый в наше время, всё-таки 2013-2014 гг. гпу.

ГОСТ89 "умирает" и его стараются не использовать в оборудовании (криптомаршрутизаторах) которые сертифицирует ФСБ? Верно ли я понимаю этот момент? Поправьте меня пожалуйста.

Пытаюсь понять практическое применение такой производительности в сетевом оборудовании. Где можно это использовать?

С незначительными модификациями реализация переносится на новый актуальный ГОСТ 34.12-2015 - алгоритм Магма.

Sign up to leave a comment.