يتم تقديم تطبيق غير متزامن لـ DISCARD لـ Btrfs

لنظام الملفات btrfs ويرد التنفيذ غير المتزامن لعملية DISCARD (وضع علامة على الكتل التي تم إصدارها والتي لم تعد بحاجة إلى تخزينها فعليًا)، يتم تنفيذها بواسطة مهندسي Facebook.

جوهر المشكلة: في التنفيذ الأصلي، يتم تنفيذ DISCARD بشكل متزامن مع العمليات الأخرى، الأمر الذي يؤدي في بعض الحالات إلى مشاكل في الأداء، حيث يتعين على محركات الأقراص الانتظار حتى تكتمل الأوامر المقابلة، الأمر الذي يتطلب وقتًا إضافيًا. يمكن أن يكون هذا مشكلة إذا كان تنفيذ DISCARD لمحرك الأقراص بطيئًا.

مع التنفيذ غير المتزامن، ليست هناك حاجة لانتظار محرك الأقراص لإكمال DISCARD أثناء عملية FS العادية، مما يحل المشكلة عن طريق نقل هذه العملية إلى الخلفية. يقوم التنفيذ المقدم أيضًا ببعض التحسينات. على سبيل المثال، ينتظر بعض الوقت خوفًا من إمكانية استخدام الكتلة قريبًا بطريقة لا فائدة من تنفيذ إجراء DISCARD على الإطلاق، ويحاول أيضًا دمج المناطق قبل تنفيذ DISCARD فعليًا لتقليل إجمالي عدد العمليات.

المصدر: opennet.ru

إضافة تعليق