Разработчиците на 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. Права: По всяко време можете да ограничите, възстановите и изтриете информацията си.