Facebook ir ierosinājis jaunu plāksnes atmiņas pārvaldības mehānismu Linux kodolam

Romāns Guščins (Romāns Guščins) no Facebook publicēti Linux kodola izstrādātāju adresātu sarakstā ir ielāpu komplekts ar jauna atmiņas sadales kontroliera ieviešanu plātne (plāksnes atmiņas kontrolieris). Jaunais kontrolleris ir ievērojams ar plākšņu uzskaites pārvietošanu no atmiņas lapas līmeņa uz kodola objekta līmeni, kas ļauj koplietot plātņu lapas dažādās cgrupās, nevis katrai cgrupai piešķirt atsevišķu plākšņu kešatmiņu.

Piedāvātā pieeja ļauj palielināt plātņu izmantošanas efektivitāti, samazināt plātnei izmantotās atmiņas apjomu par 30-45% un ievērojami samazināt kodola kopējo atmiņas patēriņu. Samazinot nekustamo plātņu skaitu, ir arī pozitīva ietekme uz atmiņas sadrumstalotības samazināšanos. Jaunais atmiņas kontrolleris ievērojami vienkāršo plākšņu uzskaites kodu un neprasa izmantot sarežģītus algoritmus, lai dinamiski izveidotu un dzēstu plākšņu kešatmiņas katrai cgrupai. Visas atmiņas cgrupas jaunajā implementācijā izmanto kopīgu plākšņu kešatmiņu kopu, un plākšņu kešatmiņu kalpošanas laiks vairs nav saistīts ar to darbmūžu, kas instalēts, izmantojot cgroup. ierobežojumiem par atmiņas izmantošanu.

Jaunajā plātņu kontrollerī ieviestajai precīzākai resursu uzskaitei teorētiski vajadzētu vairāk noslogot centrālo procesoru, taču praksē atšķirības izrādījās niecīgas. Jo īpaši jaunais plākšņu kontrolleris vairākus mēnešus ir izmantots ražošanas Facebook serveros, kas apstrādā dažāda veida darba slodzi, un vēl nav konstatētas ievērojamas regresijas. Tajā pašā laikā ir ievērojami samazināts atmiņas patēriņš - dažos resursdatoros bija iespējams ietaupīt līdz 1 GB atmiņas, taču šis rādītājs ir ļoti atkarīgs no slodzes veida, kopējā RAM lieluma, CPU skaita. un funkcijas darbam ar atmiņu. Iepriekšējie testi ir parādījuši atmiņas patēriņa samazinājums par 650-700 MB (42% no plātnes atmiņas) tīmekļa priekšgalā, 750-800 MB (35%) serverī ar DBMS kešatmiņu un 700 MB (36%) DNS serverī.

Avots: opennet.ru

Pievieno komentāru