Një zbatim asinkron i DISCARD është paraqitur për Btrfs

Për sistemin e skedarëve btrfs të përfaqësuar nga zbatimi asinkron i operacionit DISCARD (duke shënuar blloqe të lëshuara që nuk kanë më nevojë të ruhen fizikisht), zbatuar nga inxhinierët e Facebook.

Thelbi i problemit: në zbatimin origjinal, DISCARD ekzekutohet në mënyrë sinkrone me operacione të tjera, gjë që në disa raste çon në probleme të performancës, pasi disqet duhet të presin që të plotësohen komandat përkatëse, gjë që kërkon kohë shtesë. Ky mund të jetë një problem nëse zbatimi HISCARD i diskut është i ngadalshëm.

Me një implementim asinkron, nuk ka nevojë të prisni që disku të përfundojë DISCARD gjatë funksionimit normal të FS, gjë që eliminon problemin duke e transferuar këtë operacion në sfond. Implementimi i paraqitur gjithashtu kryen disa optimizime. Për shembull, ai pret pak kohë nga shqetësimi se blloku së shpejti mund të përdoret në atë mënyrë që të mos ketë fare kuptim ekzekutimi i procedurës HISCARD, dhe gjithashtu përpiqet të bashkojë rajonet përpara se të ekzekutojë në të vërtetë HISCARD për të reduktuar numri i përgjithshëm i operacioneve.

Burimi: opennet.ru

Shto një koment