В нашем беспокойном мире забота о собственной информационной безопасности уже давно перестала рассматриваться как разновидность паранойи, и с этим приходится считаться разработчикам приложений — при прочих равных пользователь выберет то, которое лучше защищает его данные. Чтобы упростить программистам жизнь, 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