D'ullmhaigh Cloudflare paistí a chuireann dlús mór le criptiú diosca i Linux

Forbróirí ó Cloudflare dúradh faoi ​​obair a dhéanamh chun feidhmíocht criptithe diosca san eithne Linux a bharrfheabhsú. Mar thoradh air sin, ullmhaíodh iad paistí don fhochóras dm-crypt agus Crypto API, rud a d'fhág gur féidir an tréchur léamh agus scríobh sa tástáil shintéiseach a dhúbailt, chomh maith le latency a leath. Nuair a dhéantar tástáil ar fhíor-chrua-earraí, laghdaíodh forchostais criptithe go dtí beagnach an leibhéal a breathnaíodh nuair a bhíothas ag obair le diosca gan úsáid a bhaint as criptiú sonraí.

Úsáideann Cloudflare dm-crypt chun sonraí a chriptiú ar ghléasanna stórála a úsáidtear chun ábhar a thaisceadh ar an CDN. Feidhmíonn Dm-crypt ag leibhéal an ghléis bloc agus scríobhann criptíonn iarratais I/O agus díchriptíonn sé iarratais léite, ag gníomhú mar shraith idir an blocghléas agus tiománaí an chórais comhad.

 D'ullmhaigh Cloudflare paistí a chuireann dlús mór le criptiú diosca i Linux

Chun feidhmíocht dm-crypt a mheas ag baint úsáide as an bpacáiste Tástálaí I/O solúbtha Thomhaiseamar an luas a bhí ag obair le deighiltí criptithe agus neamhchriptithe ar dhiosca RAM atá suite i RAM chun deireadh a chur le luaineachtaí i bhfeidhmíocht diosca agus díriú ar fheidhmíocht cód. Maidir le deighiltí neamhchriptithe, d'fhan feidhmíocht léamh agus scríobh ag 1126 MB/s, ach tháinig laghdú ar an luas nuair a bhí an criptiúchán cumasaithe 7 in am agus b'ionann é agus 147 MB/s.

Ar dtús, d'eascair amhras faoi úsáid halgartaim neamhéifeachtacha sa criptechóras eithne. Ach d’úsáid na tástálacha an t-algartam is tapúla, aes-xts, le 256 eochracha criptithe, a bhfuil a fheidhmíocht agus an “tagarmharc criptithe a chur i bhfeidhm” níos mó ná dhá uair níos airde ná an toradh a fuarthas agus diosca RAM á thástáil. Níor tháinig torthaí ar thurgnaimh le bratacha dm-crypt le haghaidh tiúnadh feidhmíochta: nuair a bhí an bhratach “--perf-same_cpu_crypt” in úsáid, laghdaigh feidhmíocht fiú go 136 MB/s, agus nuair a sonraíodh an bhratach “--perf-submit_from_crypt_cpus” mhéadaigh sé amháin go dtí 166 MB/s.

Léirigh anailís níos doimhne ar an loighic oibriúcháin nach bhfuil dm-crypt chomh simplí agus is cosúil - nuair a thagann iarratas scríofa ón tiománaí FS, ní phróiseálann dm-crypt é láithreach, ach cuireann sé sa scuaine "kcryptd", a nach bhfuil parsáil láithreach, ach nuair a nóiméad áisiúil. Ón scuaine, seoltar an t-iarratas chuig an Linux Crypto API chun criptiú a dhéanamh. Ach ós rud é go n-úsáideann an API Crypto múnla forghníomhaithe asincrónach, ní dhéantar criptiú láithreach freisin, ach seachnaítear scuaine eile. Tar éis don chriptiú a bheith críochnaithe, féadfaidh dm-crypt iarracht a dhéanamh iarratais scríofa ar feitheamh a shórtáil ag baint úsáide as crann cuardaigh dearg-dubh. Ag an deireadh, piocann snáithe eithne ar leith arís, le moill áirithe, na hiarrataí I/O carntha agus seolann chuig an chairn gléas bloc iad.

 D'ullmhaigh Cloudflare paistí a chuireann dlús mór le criptiú diosca i Linux

Agus dm-crypt á léamh, cuireann dm-crypt iarratas leis an scuaine “kcryptd_io” ar dtús chun sonraí a fháil ón tiomántán. Tar éis roinnt ama, éiríonn na sonraí ar fáil agus cuirtear sa scuaine “kcryptd” iad le haghaidh díchriptiú.
Seolann Kcryptd iarratas chuig an Linux Crypto API, a dhíchriptíonn an fhaisnéis go neamhshioncronach. Ní i gcónaí a théann iarratais trí na scuainí go léir, ach sa chás is measa, críochnaíonn iarratas scríofa suas le 4 huaire i scuainí, agus iarratas léite suas le 3 huaire. Bíonn moill ar gach scuaine, agus is iad sin an phríomhchúis leis an laghdú suntasach ar fheidhmíocht dm-crypt.

Tá úsáid scuainí mar gheall ar an ngá a bheith ag obair i gcoinníollacha ina dtarlaíonn briseadh. Sa bhliain 2005, nuair a cuireadh múnla oibriúcháin reatha scuaine-bhunaithe dm-crypt i bhfeidhm, ní raibh an Crypto API fós asincrónach. Tar éis an API Crypto a aistriú chuig múnla forghníomhaithe asincrónach, thosaigh cosaint dhúbailte go bunúsach le húsáid. Tugadh scuainí isteach freisin chun tomhaltas an chairn eithne a shábháil, ach tar éis é a mhéadú in 2014, chaill na huasmhéaduithe sin a n-ábharthacht. Tugadh isteach scuaine breise "kcryptd_io" chun an tranglam a shárú agus mar thoradh air sin bhíothas ag fanacht le leithdháileadh cuimhne nuair a thagann líon mór iarratas. In 2015, tugadh isteach céim shórtála bhreise, ós rud é go bhféadfaí iarratais criptithe ar chórais ilphróiseálaí a chomhlánú as ord (in ionad rochtain sheicheamhach ar an diosca, rinneadh rochtain in ord randamach, agus níor oibrigh an sceidealóir CFQ go héifeachtach). Faoi láthair, nuair a bhíonn thiomáineann SSD á úsáid agat, tá a bhrí caillte ag an sórtáil, agus ní úsáidtear an sceidealóir CFQ san eithne a thuilleadh.

Ag cur san áireamh go bhfuil tiomántáin nua-aimseartha tar éis éirí níos tapúla agus níos cliste, tá an córas dáileacháin acmhainní san eithne Linux athbhreithnithe agus athdhearadh roinnt fochóras, innealtóirí Cloudflare curtha leis Tá modh oibriúcháin nua ag dm-crypt a chuireann deireadh le húsáid scuainí neamhriachtanach agus glaonna asincrónacha. Tá an modh cumasaithe ag bratach ar leith “force_inline” agus tugann sé dm-crypt go foirm seachfhreastalaí simplí a chripíonn agus a dhíchriptíonn iarratais isteach. Tá an idirghníomhaíocht leis an Crypto API optamaithe trí halgartaim criptithe a roghnú go sainráite a fheidhmíonn i mód sioncrónach agus nach n-úsáideann scuainí iarratais. Chun oibriú go sioncrónach leis an Crypto API bhí molta modúl a ligeann duit FPU/AES-NI a úsáid le haghaidh luasghéaraithe agus a chuireann iarratais criptithe agus díchriptithe ar aghaidh go díreach.

Mar thoradh air sin, agus diosca RAM á thástáil, bhíothas in ann feidhmíocht dm-crypt a mhéadú faoi dhó - mhéadaigh an fheidhmíocht ó 294 MB/s (2 x 147 MB/s) go 640 MB/s, atá an-ghar do feidhmíocht criptithe lom (696 MB / s).

 D'ullmhaigh Cloudflare paistí a chuireann dlús mór le criptiú diosca i Linux

 D'ullmhaigh Cloudflare paistí a chuireann dlús mór le criptiú diosca i Linux

 D'ullmhaigh Cloudflare paistí a chuireann dlús mór le criptiú diosca i Linux

Agus an t-ualach á thástáil ar fhreastalaithe fíor, léirigh an cur i bhfeidhm nua feidhmíocht an-ghar don chumraíocht a bhí ag rith gan criptiú, agus ní raibh aon éifeacht ag cumasú criptithe ar fhreastalaithe le taisce Cloudflare ar luas freagartha. Sa todhchaí, tá sé beartaithe ag Cloudflare na paistí ullmhaithe a aistriú chuig an bpríomh-eithne Linux, ach roimhe sin beidh gá iad a athoibriú, ós rud é go bhfuil siad optamaithe le haghaidh ualach ar leith agus nach gclúdaíonn siad gach réimse iarratais, mar shampla, criptiú ar íseal. -chumhacht feistí leabaithe.

 D'ullmhaigh Cloudflare paistí a chuireann dlús mór le criptiú diosca i Linux

Foinse: oscailtenet.ru