Pre Btrfs je prezentovaná asynchrónna implementácia DISCARD

Pre súborový systém btrfs zastúpené asynchrónna implementácia operácie DISCARD (označenie uvoľnených blokov, ktoré už nie je potrebné fyzicky ukladať), realizovaná inžiniermi Facebooku.

Podstata problému: v pôvodnej implementácii sa DISCARD vykonáva synchrónne s inými operáciami, čo v niektorých prípadoch vedie k problémom s výkonom, pretože jednotky musia čakať na dokončenie príslušných príkazov, čo si vyžaduje dodatočný čas. To môže byť problém, ak je implementácia DISCARD disku pomalá.

Pri asynchrónnej implementácii nie je potrebné čakať, kým disk dokončí DISCARD počas bežnej prevádzky FS, čo eliminuje problém prenesením tejto operácie na pozadie. Prezentovaná implementácia tiež vykonáva určité optimalizácie. Napríklad čaká nejaký čas v obavách, že blok môže byť čoskoro použitý takým spôsobom, že nemá zmysel vykonávať procedúru DISCARD, a tiež sa pokúša zlúčiť oblasti pred skutočným vykonaním DISCARD, aby sa znížil celkový počet operácií.

Zdroj: opennet.ru

Pridať komentár