Btrfs ir parādīta asinhrona DISCARD ieviešana

Btrfs failu sistēmai kuru pārstāv asinhrona operācijas DISCARD ieviešana (atzīmējot atbrīvotos blokus, kas vairs nav fiziski jāuzglabā), ko īsteno Facebook inženieri.

Problēmas būtība: sākotnējā realizācijā DISCARD tiek izpildīts sinhroni ar citām operācijām, kas dažos gadījumos rada veiktspējas problēmas, jo diskdziņiem ir jāgaida, līdz tiks pabeigtas atbilstošās komandas, kas prasa papildu laiku. Tā var būt problēma, ja diska DISCARD ieviešana ir lēna.

Izmantojot asinhrono ieviešanu, normālas FS darbības laikā nav jāgaida, līdz disks pabeigs DISCARD, kas novērš problēmu, pārceļot šo darbību uz fonu. Piedāvātā ieviešana veic arī dažas optimizācijas. Piemēram, tas kādu laiku nogaida no bažām, ka bloks drīz var tikt izmantots tā, ka vispār nav jēgas izpildīt procedūru DISCARD, kā arī mēģina sapludināt reģionus pirms reālas DISCARD izpildes, lai samazinātu kopējais operāciju skaits.

Avots: opennet.ru

Pievieno komentāru