تعلن Reiser5 عن دعم Burst Buffers (تصنيف البيانات)

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

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

تعتمد الطريقة المطبقة على ملاحظة بسيطة مفادها أنه في الممارسة العملية لا تتم كتابة القرص باستمرار، وأن منحنى حمل الإدخال / الإخراج له شكل قمم. في الفترة الفاصلة بين هذه "القمم"، من الممكن دائمًا إعادة تعيين البيانات من القرص الوكيل، وإعادة كتابة جميع البيانات (أو جزء منها فقط) في الخلفية إلى وحدة التخزين الرئيسية "البطيئة". وبالتالي، فإن القرص الوكيل جاهز دائمًا لاستقبال جزء جديد من البيانات.

نشأت هذه التقنية (المعروفة باسم Burst Buffers) في الأصل
مجالات الحوسبة عالية الأداء (HPC). ولكن تبين أيضًا أن هناك طلبًا على التطبيقات العادية، خاصة تلك التي تفرض متطلبات متزايدة على سلامة البيانات (عادةً أنواع مختلفة من قواعد البيانات). تقوم مثل هذه التطبيقات بإجراء أي تغييرات في أي ملف بطريقة ذرية، وهي:

  • أولاً، يتم إنشاء ملف جديد يحتوي على البيانات التي تم تغييرها؛
  • потом этот новый файл записывается на диск при помощи fsync(2);
  • وبعد ذلك تتم إعادة تسمية الملف الجديد إلى الملف القديم، والذي يتم تلقائيًا
    يحرر الكتل التي تشغلها البيانات القديمة.

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

    في Reiser5، من المخطط إرساله اختياريا ليس فقط
    كتل منطقية جديدة للملف، ولكن أيضًا جميع الصفحات القذرة بشكل عام. علاوة على ذلك،
    ليس فقط الصفحات التي تحتوي على البيانات، ولكن أيضًا مع البيانات الوصفية التي
    مكتوبة في الخطوتين (2) و (3).

    يتم دعم الأقراص الوكيلة في سياق العمل المنتظم معها
    Reiser5 مجلدات منطقية, أعلن في بداية السنة. إنه،
    النظام الكلي "القرص الوكيل - التخزين الرئيسي" أمر طبيعي
    الحجم المنطقي مع الاختلاف الوحيد وهو أن القرص الوكيل له الأولوية
    من بين مكونات وحدة التخزين الأخرى في سياسة تخصيص عنوان القرص.

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

    بعد إضافة قرص وكيل، السعة الإجمالية لوحدة التخزين المنطقية
    يزيد من قدرة هذا القرص. مراقبة المساحة الحرة
    يتم تنفيذ القرص الوكيل بنفس الطريقة كما هو الحال مع مكونات وحدة التخزين الأخرى، أي. باستخدام الأداة المساعدة Volume.reiser4(8).

    يجب تنظيف القرص الوكيل بشكل دوري، أي. إعادة تعيين البيانات من
    إلى المخزن الرئيسي. بعد الوصول إلى الاستقرار التجريبي Reiser5
    من المخطط أن يكون التنظيف تلقائيًا (ستتم إدارته بواسطة
    خيط نواة خاص). في هذه المرحلة، مسؤولية التنظيف
    تقع على عاتق المستخدم. إعادة تعيين البيانات من القرص الوكيل إلى القرص الرئيسي
    يتم إنتاج التخزين ببساطة عن طريق استدعاء الأداة المساعدة Volume.reiser4 مع الخيار
    "-ب". كوسيطة، تحتاج إلى تحديد نقطة تحميل الملف المنطقي
    أحجام وبطبيعة الحال، يجب أن تتذكر القيام بالتنظيف بشكل دوري. ل
    يمكنك كتابة برنامج نصي بسيط للقيام بذلك.

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

    المصدر: opennet.ru

  • إضافة تعليق