Desenvolupadors de Cloudflare treballen en pegats per acceleren el xifrat de disc en Linux

Cloudflare

Els desenvolupadors de Cloudflare han donat a conèixer informació sobre el treball que estan realitzat per optimitzar el rendiment del xifratge de disc al kernel de Linux, de la qual cosa esmenten que han preparat pegats per als subsistemes dm-crypt i Crypto API.

Amb això, es va permetre que la prova sintètica dupliqués l'amplada de banda per llegir i escriure, així com reduir a la meitat la latència. En realitzar proves en equips reals, la sobrecàrrega del xifratge es va reduir a gairebé el nivell observat en treballar amb un disc sense fer servir el xifratge de dades.

L'interès per millorar el xifratge de dades al disc és perquè Cloudflare utilitza dm-crypt per xifrar dades en unitats utilitzades per emmagatzemar contingut en memòria cau en una xarxa CDN. Dm-crypt funciona a nivell de dispositiu de bloc i xifra les sol·licituds de E / S per escriure i desxifrar les sol·licituds de lectura, actuant com una capa entre el dispositiu de bloc i el controlador del sistema de fitxers.

Per avaluar el rendiment dm-crypt utilitzant el paquet de prova d'E/S flexible, si va mesurar la velocitat de treballar amb particions xifrades i no xifrades en un disc RAM ubicat a RAM per eliminar les fluctuacions en el rendiment del disc.

Per a particions sense xifrar, el rendiment de lectura i escriptura es va mantenir a 1126 MB/s, però quan es va activar el xifrat, la velocitat va disminuir 7 vegades i va pujar a 147 MB/s.

Al principi, se sospitava l'ús d'algorismes ineficients al sistema criptogràfic del nucli. Però les proves van utilitzar l'algorisme aes-xts més ràpid amb 256 claus de xifrat, el rendiment de les quals en executar el «punt de referència cryptsetup» és més de dues vegades més gran que el resultat obtingut en provar el disc RAM.

dm-crypt

Els experiments amb indicadors dm-crypt per ajustar el rendiment no van funcionar: quan es feia servir l'indicador –perf-same_cpu_crypt, el rendiment fins i tot disminuïa a 136 MB/s, i quan es feia servir l'indicador –perf-submit_from_crypt_cpus només augmentava a 166 MB/s.

Una anàlisi més profunda de la lògica del treball va mostrar que dm-crypt no és tan simple com sembla.

Quan es rep una sol·licitud d'escriptura del controlador FS, dm-crypt no la processa immediatament, sinó que la col·loca a la cua «kcryptd», que no es comprèn immediatament, però quan passa Un bon moment. Des de la cua, la sol·licitud s'envia a Linux Crypto API per fer el xifratge.

Quan llegiu primer, dm-crypt afegeix a la cua «kcryptd_io» una sol·licitud per rebre dades de la unitat. Després dun temps, les dades estan disponibles i es col·loquen a la cua «kcryptd» per al desxifrat.

Kcryptd envia una sol·licitud a l'API de xifratge de Linux, que desxifra la informació en mode asíncron. Les sol·licituds no sempre passen per totes les cues, però en el pitjor dels casos, la sol·licitud d'escriptura s'estableix a les cues fins a 4 vegades i la sol·licitud de lectura fins a 3 vegades. Cada cop a la cua condueix a retards, que són la raó clau duna disminució significativa en el rendiment de dm-crypt.

Tenint en compte que les unitats modernes s'han tornat més ràpides i intel·ligents, s'ha revisat el sistema d'assignació de recursos al nucli de Linux i s'han redissenyat alguns subsistemes, els enginyers de Cloudflare han afegit un nou mode operatiu a dm-crypt, eliminant l'ús de cues addicionals i anomenades asíncrones.

El mode està habilitat per un indicador separat «force_inline» i porta a dm-crypt a la forma d'un servidor intermediari simple que xifra i desxifra les sol·licituds entrants. La interacció amb Crypto API s'ha optimitzat mitjançant una elecció explícita d'algorismes de xifratge que funcionen en mode síncron i no utilitzen cues de sol·licitud.

En provar la càrrega en servidors reals, la nova implementació va mostrar un rendiment molt proper a la configuració que funciona sense xifratge i la inclusió del xifratge en servidors amb memòria cau Cloudflare no va afectar la velocitat de resposta.

En el futur, Cloudflare planeja transferir els pegats preparats al nucli principal de Linuxperò abans d'això hauran de ser modificats, ja que estan optimitzats per a una determinada càrrega i no cobreixen totes les àrees d'aplicació.

font: https://blog.cloudflare.com


Deixa el teu comentari

La seva adreça de correu electrònic no es publicarà. Els camps obligatoris estan marcats amb *

*

*

  1. Responsable de les dades: Miguel Ángel Gatón
  2. Finalitat de les dades: Controlar l'SPAM, gestió de comentaris.
  3. Legitimació: El teu consentiment
  4. Comunicació de les dades: No es comunicaran les dades a tercers excepte per obligació legal.
  5. Emmagatzematge de les dades: Base de dades allotjada en Occentus Networks (UE)
  6. Drets: En qualsevol moment pots limitar, recuperar i esborrar la teva informació.