Za Btrfs je predstavljena asinhrona implementacija DISCARD

Za btrfs sistem datoteka predstavljen asinhrona implementacija operacije DISCARD (označavanje oslobođenih blokova koji više ne moraju biti fizički pohranjeni), implementirana od strane Facebook inženjera.

Suština problema: u originalnoj implementaciji DISCARD se izvršava sinhrono sa drugim operacijama, što u nekim slučajevima dovodi do problema u performansama, jer drajvovi moraju da čekaju da se odgovarajuće komande završe, što zahteva dodatno vreme. Ovo može biti problem ako je implementacija DISCARD diska spora.

Sa asinhronom implementacijom, nema potrebe da se čeka da disk završi DISCARD tokom normalnog FS rada, što eliminiše problem prenošenjem ove operacije u pozadinu. Prikazana implementacija također vrši neke optimizacije. Na primjer, čeka neko vrijeme iz zabrinutosti da bi se blok uskoro mogao koristiti na takav način da nema smisla izvršavati postupak DISCARD uopće, a također pokušava spojiti regije prije nego što stvarno izvrši DISCARD kako bi smanjio ukupan broj operacija.

izvor: opennet.ru

Dodajte komentar