Разработчиците на Cloudflare работят върху кръпки, за да ускорят шифроването на диска в Linux

Cloudflare

Лос Разработчиците на Cloudflare пуснаха информация за работата, която вършат, за да оптимизират работата на криптирането на диска в ядрото на Linux, за която те споменават, че са подготвили кръпки за подсистемите dm-crypt и Crypto API.

С това, на синтетичния тест беше позволено да удвои честотната лента за четене и писане, както и наполовина латентност. При тестване на реални машини режийните разходи за криптиране бяха намалени до почти нивото, наблюдавано при работа с диск, без да се използва криптиране на данни.

Интерес към подобряване на криптирането данни на диск защото Cloudflare използва dm-crypt за криптиране на данни на устройства, използвани за кеширане на съдържание на CDN. Dm-crypt работи на ниво блоково устройство и криптира I / O заявки за записване и декриптиране на заявки за четене, действайки като слой между блоковото устройство и драйвера на файловата система.

За оценка на представянето dm-crypt с помощта на гъвкавия I / O тест пакет, se измери скоростта на работа с криптирани дялове и не е криптиран на RAM диск, разположен в RAM, за да се елиминират колебанията в производителността на диска.

За некриптирани дялове производителността на четене и запис остава 1126MB / s, но когато криптирането е включено, скоростта спада 7 пъти до 147MB / s.

В началото, се подозира използването на неефективни алгоритми в криптографската система на ядрото. Но тестовете използваха по-бързия алгоритъм aes-xts с 256 криптиращи ключа, чиято производителност при стартиране на „криптографския критерий“ е повече от два пъти по-висока от резултата, получен при тестване на RAM диска.

dm-крипта

Експериментите с флагове на dm-crypt да коригира производителността не работи: Когато беше използван флаг –perf-same_cpu_crypt, производителността дори намаля до 136MB / s, а когато беше използван флаг –perf-submit_from_crypt_cpus, той само се увеличи до 166MB / s.

По-задълбочен анализ на логиката на работа показа, че dm-crypt не е толкова просто както изглежда.

Когато се получи заявка за запис от FS контролера, dm-crypt не я обработва веднага, а я поставя на опашката "kcryptd", което не се разбира веднага, но когато настъпи добър момент. От опашката заявката се изпраща до Linux Crypto API за криптиране.

При първо четене, dm-crypt се нарежда на опашки "kcryptd_io" заявка за получаване на данни от устройството. след това за известно време данните са налични и те са на опашка "kcryptd" за дешифриране.

Kcryptd изпраща заявка до API за криптиране на Linux, който асинхронно дешифрира информацията. Исканията не винаги преминават през всички опашки, но в най-лошия случай, заявката за запис се задава на опашки до 4 пъти и заявката за четене до 3 пъти. Всеки удар в опашката води до закъснения, които са ключовата причина за значително намаляване на производителността на dm-crypt.

Като се има предвид, че съвременните устройства стават по-бързи и по-интелигентни, системата за разпределение на ресурси в ядрото на Linux е ревизирана и някои подсистеми са преработени, Инженерите на Cloudflare добавиха нов режим на работа към dm-crypt, премахвайки използването на допълнителни опашки и асинхронни обаждания.

Режимът се активира от отделен флаг "force_inline" и носи dm-crypt под формата на прост прокси, който криптира и декриптира входящите заявки. Взаимодействието с Crypto API е оптимизирано чрез изричен избор на алгоритми за криптиране Те работят в синхронен режим и не използват опашки за заявки.

При тестване на натоварването на реални сървъри, новата реализация показа ефективност, много близка до конфигурацията, която работи без криптиране, а включването на криптиране на сървъри с кеш на Cloudflare не повлия на скоростта на отговор.

В бъдеще, Cloudflare планира да прехвърли подготвените кръпки в основното ядро ​​на Linux, но преди това те ще трябва да бъдат модифицирани, тъй като са оптимизирани за определен товар и не покриват всички области на приложение.

Fuente: https://blog.cloudflare.com


Бъдете първите, които коментират

Оставете вашия коментар

Вашият имейл адрес няма да бъде публикуван. Задължителните полета са отбелязани с *

*

*

  1. Отговорен за данните: Мигел Анхел Гатон
  2. Предназначение на данните: Контрол на СПАМ, управление на коментари.
  3. Легитимация: Вашето съгласие
  4. Съобщаване на данните: Данните няма да бъдат съобщени на трети страни, освен по законово задължение.
  5. Съхранение на данни: База данни, хоствана от Occentus Networks (ЕС)
  6. Права: По всяко време можете да ограничите, възстановите и изтриете информацията си.