العزل الزمني بين الآلات الافتراضية

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

مقدمة للمشكلة

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

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

الحلول الممكنة

يمكن استخدام تقنيات متعددة لمواجهة المشكلة المذكورة آنفاً. وتهدف هذه التقنيات إلى تحقيق درجة معينة من العزل الزمني بين الأجهزة الافتراضية التي تعمل في وقت واحد، وذلك على مختلف المستويات الحرجة للجدولة : جدولة وحدة المعالجة المركزية، وجدولة الشبكة، وجدولة القرص.

بالنسبة لوحدة المعالجة المركزية، يُمكن استخدام تقنيات جدولة مناسبة على مستوى برنامج إدارة الأجهزة الافتراضية للتحكم في حجم العمليات الحسابية التي قد تفرضها كل آلة افتراضية على وحدة المعالجة المركزية أو النواة الفعلية المشتركة. على سبيل المثال، في برنامج إدارة الأجهزة الافتراضية Xen ، تم اقتراح مُجدولات BVT وCredit-based وS-EDF للتحكم في كيفية توزيع قوة الحوسبة بين الآلات الافتراضية المتنافسة. [ 1 ] وللحصول على أداء مستقر في التطبيقات الافتراضية، من الضروري استخدام تكوينات جدولة لا تُحافظ على العمل . كذلك، في برنامج إدارة الأجهزة الافتراضية KVM ، اقترح البعض استخدام استراتيجيات جدولة قائمة على EDF [ 2 ] للحفاظ على أداء مستقر وقابل للتنبؤ للتطبيقات الافتراضية. [ 3 ] [ 4 ] وأخيرًا، مع مضيف فعلي متعدد النوى أو متعدد المعالجات ، يُمكن نشر كل آلة افتراضية على معالج أو نواة منفصلة لعزل أداء الآلات الافتراضية المختلفة مؤقتًا.

بالنسبة للشبكة، يُمكن استخدام تقنيات إدارة حركة البيانات للحد من حجم البيانات التي تُفرضها كل آلة افتراضية على المضيف. كما يُمكن تثبيت عدة محولات شبكة على نفس المضيف الفعلي، وتكوين طبقة المحاكاة الافتراضية بحيث تمنح كل آلة افتراضية وصولاً حصرياً إلى كل منها. على سبيل المثال، يُمكن تحقيق ذلك باستخدام نطاقات برامج التشغيل في برنامج Xen Hypervisor. توجد محولات شبكة متعددة الطوابير تدعم عدة آلات افتراضية على مستوى الأجهزة، حيث تحتوي على طوابير حزم منفصلة مرتبطة بكل آلة افتراضية مُستضافة (عن طريق عناوين IP الخاصة بها)، مثل أجهزة Virtual Machine Device Queue (VMDq) من Intel . [ 5 ] وأخيرًا، يُمكن استخدام جدولة وحدة المعالجة المركزية في الوقت الفعلي لتعزيز العزل الزمني لحركة بيانات الشبكة من عدة آلات افتراضية مُوزعة على نفس وحدة المعالجة المركزية. [ 6 ]

عند استخدام جدولة الوقت الحقيقي للتحكم في مقدار موارد وحدة المعالجة المركزية المحجوزة لكل جهاز افتراضي، تبرز مشكلةٌ تتمثل في حساب وقت وحدة المعالجة المركزية المخصص للأنشطة على مستوى النظام. على سبيل المثال، في حالة مُجدول Xen، قد تتم مشاركة خدمات Dom0 وخدمات نطاقات برامج التشغيل بين عدة أجهزة افتراضية تصل إليها. وبالمثل، في حالة مُشرف KVM، قد لا يكون من السهل تمييز عبء العمل المفروض على نظام التشغيل المضيف نتيجةً لخدمة حركة مرور الشبكة لكل نظام تشغيل ضيف على حدة، لأنه يشمل بشكل أساسي برامج تشغيل الأجهزة على مستوى النواة وبنية الشبكة التحتية (على نظام التشغيل المضيف). وقد اقتُرحت بعض التقنيات للتخفيف من هذه المشكلات في حالة Xen. [ 7 ]

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

مراجع

  1. لودميلا تشيركاسوفا؛ ديواكر غوبتا؛ أمين فهدات (3 سبتمبر 2007)، "مقارنة بين ثلاثة برامج جدولة لوحدة المعالجة المركزية في زين" (ملف PDF) ، مجلة تقييم الأداء، المجلد 35، العدد 2 ، تاريخ الاطلاع 30 يونيو 2010
  2. فابيو تشيكوني، توماسو كوتشينوتا، داريو فاجيولي، جوزيبي ليباري، حجز وحدات المعالجة المركزية متعددة المعالجات الهرمية لنواة لينكس ، وقائع ورشة العمل الدولية الخامسة حول منصات أنظمة التشغيل للتطبيقات المضمنة في الوقت الحقيقي (OSPERT 2009)، دبلن، أيرلندا، يونيو 2009
  3. توماسو كوتشينوتا، غايتانو أناستاسي، لوكا أبيني، مراعاة القيود الزمنية في الخدمات الافتراضية ، وقائع ورشة العمل الدولية الثانية لمعهد مهندسي الكهرباء والإلكترونيات حول هندسة وتطبيقات الخدمات الموجهة في الوقت الحقيقي (RTSOAA 2009)، سياتل، واشنطن، يوليو 2009
  4. توماسو كوتشينوتا، غايتانو أناستاسي، لوكا أبيني، الآلات الافتراضية في الوقت الحقيقي ، وقائع ندوة أنظمة الوقت الحقيقي التاسعة والعشرين (RTSS 2008) - جلسة العمل قيد التقدم، برشلونة، ديسمبر 2008
  5. شيفالي تشيني، رادهاكريشنا هيريماني، قوائم انتظار أجهزة الآلة الافتراضية ، ورقة بيضاء حول تقنية المحاكاة الافتراضية من إنتل، 2007
  6. توماسو كوتشينوتا، دهافال جياني، داريو فاجيولي وفابيو تشيكوني، توفير ضمانات الأداء للآلات الافتراضية باستخدام جدولة الوقت الحقيقي ، وقائع ورشة العمل الخامسة حول المحاكاة الافتراضية والحوسبة السحابية عالية الأداء (VHPC 2010)، إيشيا (نابولي)، إيطاليا، أغسطس 2010.
  7. ديواكر غوبتا، لوسي تشيركاسوفا، روبرت غاردنر، أمين وحدات، فرض عزل الأداء عبر الآلات الافتراضية في زين ، وقائع المؤتمر الدولي السابع للبرمجيات الوسيطة (البرمجيات الوسيطة 2006)، سلسلة محاضرات في علوم الحاسوب، المجلد 4290/2006، الصفحات 342-362، ملبورن، أستراليا، نوفمبر 2006
  8. ريبال ناثوجي؛ أمان كانسال وعلي رضا غفارخاه (أبريل 2010)، "سحابات Q: إدارة تأثيرات تداخل الأداء للسحابات الواعية بجودة الخدمة" ، وقائع المؤتمر الأوروبي الخامس لأنظمة الحاسوب (EuroSys 2010) ، باريس، فرنسا