Представена е асинхронна реализация на DISCARD за Btrfs

За файлова система btrfs представлявано от асинхронна реализация на операцията DISCARD (маркиране на освободени блокове, които вече не трябва да се съхраняват физически), реализирана от инженерите на Facebook.

Същността на проблема: в оригиналната реализация DISCARD се изпълнява синхронно с други операции, което в някои случаи води до проблеми с производителността, тъй като устройствата трябва да изчакат завършването на съответните команди, което изисква допълнително време. Това може да е проблем, ако изпълнението на DISCARD на устройството е бавно.

При асинхронна реализация няма нужда да чакате устройството да завърши DISCARD по време на нормална работа на FS, което елиминира проблема чрез прехвърляне на тази операция на заден план. Представената реализация също така извършва някои оптимизации. Например, той изчаква известно време от загриженост, че блокът скоро може да бъде използван по такъв начин, че изобщо няма смисъл да се изпълнява процедурата DISCARD, и също така се опитва да обедини региони, преди действително да изпълни DISCARD, за да намали общия брой операции.

Източник: opennet.ru

Добавяне на нов коментар