تخصيص إعادة كتابة الملف في Azure HPC Cache

يمكن لمستخدمي HPC Cache أن يطلبوا من ذاكرة التخزين المؤقت كتابة ملفات فردية معينة إلى التخزين الخلفي عند الطلب باستخدام الأداة المساعدة flush_file.py. هذه الأداة المساعدة هي حزمة برامج تم تنزيلها بشكل منفصل تقوم بتثبيتها واستخدامها على أجهزة عميل Linux.

تم تصميم هذه الميزة للحالات التي تريد فيها توفير التغييرات على الملفات المخزنة مؤقتا في أقرب وقت ممكن للأنظمة التي لا تقوم بتحميل ذاكرة التخزين المؤقت.

على سبيل المثال، قد تستخدم Azure HPC Cache لتوسيع نطاق مهام الحوسبة في السحابة، ولكن يمكنك تخزين مجموعة البيانات الخاصة بك بشكل دائم في مركز بيانات محلي. إذا حدثت مهام الحوسبة في مركز البيانات التي تعتمد على التغييرات التي تم إنشاؤها باستخدام Azure HPC Cache، يمكنك استخدام هذه الأداة المساعدة "لدفع" الإخراج أو التغييرات التي تم إنشاؤها بواسطة مهمة سحابية مرة أخرى إلى تخزين NAS المحلي. يتيح هذا استخدام الملفات الجديدة على الفور تقريبا بواسطة موارد الحوسبة المحلية.

الاختيار بين إعادة الكتابة المخصصة والمسح

يمكنك فرض إعادة كتابة البيانات باستخدام خيار "تدفق هدف التخزين" المضمن في Azure HPC Cache - ولكن قد لا يكون هذا الأسلوب مناسبا لجميع الحالات.

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

  • قد تمنع ذاكرة التخزين المؤقت تقديم بعض الطلبات من هدف التخزين هذا أثناء عملية المسح. يمكن أن يؤدي هذا إلى تأخير المعالجة إذا كان هناك عملاء حوسبة آخرين يستخدمون الملفات الموجودة على نفس هدف التخزين.

  • يتطلب تشغيل هذا الإجراء وصول المساهم إلى Azure Resource Manager، والذي قد لا يكون لدى المستخدمين النهائيين.

على سبيل المثال، يمكن أن يكون لديك العديد من مهام الحوسبة المتوازية (ولكن غير المتراكبة) التي تستهلك البيانات الموجودة على نفس هدف تخزين HPC Cache. عند اكتمال مهمة واحدة، تريد كتابة إخراج هذه المهمة على الفور من ذاكرة التخزين المؤقت إلى التخزين طويل المدى على النهاية الخلفية.

لديك ثلاث خيارات:

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

  • مسح الملفات المخزنة مؤقتا على الفور لهدف التخزين بأكمله - ولكن من شأن ذلك أن يعطل مهام الحوسبة الأخرى التي تستخدم أيضا بيانات هدف التخزين هذا.

  • استخدم الأداة المساعدة المخصصة لإعادة الكتابة لإرسال طلب NFS خاص إلى ذاكرة التخزين المؤقت لإعادة كتابة الملفات المحددة التي تريدها فقط. لا يعطل هذا السيناريو الوصول للعملاء الآخرين ويمكن تشغيله في أي وقت في مهمة الحوسبة.

حول الأداة المساعدة للحفظ مع التحديث

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

يأخذ البرنامج النصي دفق إدخال للملفات للكتابة، بالإضافة إلى مسار مساحة اسم ذاكرة التخزين المؤقت إلى تصدير هدف التخزين وعنوان IP لتحميل HPC Cache.

يستخدم البرنامج النصي استدعاء NFSv3 "commit" مع تمكين الوسيطات الخاصة. لا يمكن للعميل Linux nfs-common تمرير هذه الوسيطات بشكل مناسب، لذلك تستخدم الأداة المساعدة flush_file.py محاكي عميل NFS في مكتبة Python للاتصال بخدمة HPC Cache NFS. تتضمن المكتبة كل ما هو مطلوب، والذي يتجاوز أي قيود قد تكون موجودة في عميل NFS المستند إلى Linux-kernel لعميل الحساب الخاص بك.

لاستخدام هذه الميزة، تحتاج إلى القيام بما يلي:

  • قم بتثبيت المكتبة hpc-cache-nfsv3-client من مستودع GitHub Microsoft HPC-Cache-NFSv3-client في https://github.com/microsoft/hpc-cache-nfsv3-client. على عميل حساب واحد أو أكثر. يتم تضمين معلومات المتطلبات الأساسية والإرشادات في ملف README الخاص بالمستودع.

  • استخدم البرنامج النصي "flush_file.py" المضمن لإخبار ذاكرة التخزين المؤقت بكتابة الملفات الدقيقة التي تحتاجها مرة أخرى إلى نظام التخزين طويل المدى.

تعرف على المزيد حول تثبيت البرنامج النصي flush_file.py واستخدامه في مستودع GitHub.