В нашем беспокойном мире забота о собственной информационной безопасности уже давно перестала рассматриваться как разновидность паранойи, и с этим приходится считаться разработчикам приложений — при прочих равных пользователь выберет то, которое лучше защищает его данные. Чтобы упростить программистам жизнь, Intel в рамках своей open source программы разработала технологию ускорения шифрования и сжатия QuickAssist (QAT). Давайте познакомимся с ней поближе.
Итак, как уже говорилось, QAT может пригодиться для решения следующих задач:
Intel QuickAssist представляет из себя комбинированное аппаратно-программное решение. С программной точки зрения QuickAssist — это набор API, реализующих алгоритмы шифрования и сжатия на определенном специфическом «железе». Для некоторых популярных open source продуктов, таких как zLib, NGINX, Hadoop предусмотрены патчи, позволяющие использовать QuickAssist, вообще не разбираясь в его внутреннем устройстве. В качестве программной основы может выступать любая ОС семейства Linux.
Теперь о железе. Для функционирования QuickAssist сервер должен иметь один из следующих аппаратных компонентов:
Следует признать, что ни тот, ни другой аппаратный компонент нельзя назвать широко распространенным — желающим попробовать QuickAssist на практике придется основательно заморочиться с поиском подходящего сервера.
Внешний вид Intel QuickAssist Adapter
Естественно, возникает вопрос: на сколько использование QuickAssist увеличивает производительность приложений? Полученные результаты тестирования впечатляют. Так, работа Hadoop в связке с QuickAssist ускоряется на 30%. Применение QuickAssist вместе с OpenSSL увеличивает число соединений в секунду в 6 раз! Определенно, в некоторых случаях QuickAssist может очень помочь. Кстати, небольшая подсказка для заинтересовавшихся: хоть об этом и умалчивает сайт Intel, но поддержка QAT есть также и в линейке процессоров Intel Atom C2000.
Напоследок приведу небольшой список ссылок для изучения QAT:
Итак, как уже говорилось, QAT может пригодиться для решения следующих задач:
- шифрование потоков данных: симметричное шифрование и аутентификация, операции с шифром;
- криптография с открытым ключом: асимметричное шифрование, цифровые подписи, обмен ключами;
- сжатие: сжатие данных без потерь «на лету» и статических объектов.
Intel QuickAssist представляет из себя комбинированное аппаратно-программное решение. С программной точки зрения QuickAssist — это набор API, реализующих алгоритмы шифрования и сжатия на определенном специфическом «железе». Для некоторых популярных open source продуктов, таких как zLib, NGINX, Hadoop предусмотрены патчи, позволяющие использовать QuickAssist, вообще не разбираясь в его внутреннем устройстве. В качестве программной основы может выступать любая ОС семейства Linux.
Теперь о железе. Для функционирования QuickAssist сервер должен иметь один из следующих аппаратных компонентов:
- либо специализированный QuickAssist адаптер (Intel QuickAssist Adapter), в настоящее время имеется две их разновидности, 8920 и 8950
- либо материнскую плату с чипсетами 8920 или 8950 и процессорами Intel Xeon
Следует признать, что ни тот, ни другой аппаратный компонент нельзя назвать широко распространенным — желающим попробовать QuickAssist на практике придется основательно заморочиться с поиском подходящего сервера.
Внешний вид Intel QuickAssist Adapter
Естественно, возникает вопрос: на сколько использование QuickAssist увеличивает производительность приложений? Полученные результаты тестирования впечатляют. Так, работа Hadoop в связке с QuickAssist ускоряется на 30%. Применение QuickAssist вместе с OpenSSL увеличивает число соединений в секунду в 6 раз! Определенно, в некоторых случаях QuickAssist может очень помочь. Кстати, небольшая подсказка для заинтересовавшихся: хоть об этом и умалчивает сайт Intel, но поддержка QAT есть также и в линейке процессоров Intel Atom C2000.
Напоследок приведу небольшой список ссылок для изучения QAT:
- Архив с драйвером QAT
- Release Notes
- Обучающее видео
(ссылки на другие уроки — на этой же странице) - Страница QuickAssist на сайте Intel
Поделиться с друзьями
dmitry_ch
Редко кому нужное редко встречающееся решение, которое, ко всему, еще и поддержку имеет в виде патчей (а не встроенную в тот же Nginx) — как тот неуловимый Джо.
Вопрос — зачем его Quick называть, ведь оно настолько не для всех и настолько редко будет ставиться, что лишние полчаса на установку на его популярнойсть ну вот никак-никак не повляет?
А из практических вопросов: как эту мегафункциональность можно внутри виртуальных машин пробросить?