Za Btrfs je predstavljena asinhrona izvedba DISCARD

Za datotečni sistem btrfs ki jih zastopa asinhrona izvedba operacije DISCARD (označevanje sproščenih blokov, ki jih ni več treba fizično shranjevati), izvajajo inženirji Facebooka.

Bistvo problema: v prvotni izvedbi se DISCARD izvaja sinhrono z drugimi operacijami, kar v nekaterih primerih povzroči težave z zmogljivostjo, saj morajo pogoni čakati na dokončanje ustreznih ukazov, kar zahteva dodaten čas. To je lahko težava, če je implementacija DISCARD pogona počasna.

Pri asinhroni izvedbi ni treba čakati, da pogon zaključi DISCARD med običajnim delovanjem FS, kar odpravi težavo s prenosom te operacije v ozadje. Predstavljena izvedba izvaja tudi nekaj optimizacij. Na primer, počaka nekaj časa zaradi skrbi, da bo blok kmalu uporabljen na tak način, da sploh nima smisla izvajati postopka DISCARD, prav tako poskuša združiti regije, preden dejansko izvede DISCARD, da zmanjša skupno število operacij.

Vir: opennet.ru

Dodaj komentar