За Btrfs е претставена асинхрона имплементација на DISCARD

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

Суштината на проблемот: во оригиналната имплементација, DISCARD се извршува синхроно со други операции, што во некои случаи доведува до проблеми со изведбата, бидејќи дисковите треба да чекаат да се завршат соодветните команди, што бара дополнително време. Ова може да биде проблем ако имплементацијата на DISCARD на дискот е бавна.

Со асинхрона имплементација, нема потреба да се чека погонот да заврши DISCARD за време на нормална работа на FS, што го елиминира проблемот со пренесување на оваа операција во позадина. Презентираната имплементација врши и некои оптимизации. На пример, чека одредено време поради загриженост дека блокот наскоро може да се користи на таков начин што нема смисла воопшто да се изврши постапката ОТРЕЛИ, а исто така се обидува да ги спои регионите пред всушност да ја изврши ДИСКАРД со цел да се намали вкупниот број на операции.

Извор: opennet.ru

Додадете коментар