2025-11-15T01:49:17.958429

Optimising Virtual Resource Mapping in Multi-Level NUMA Disaggregated Systems

Lakew, Svärd, Elmroth et al.
Disaggregated systems have a novel architecture motivated by the requirements of resource intensive applications such as social networking, search, and in-memory databases. The total amount of resources such as memory and CPU cores is very large in such systems. However, the distributed topology of disaggregated server systems result in non-uniform access latency and performance, with both NUMA aspects inside each box, as well as additional access latency for remote resources. In this work, we study the effects complex NUMA topologies on application performance and propose a method for improved, NUMA-aware, mapping for virtualized environments running on disaggregated systems. Our mapping algorithm is based on pinning of virtual cores and/or migration of memory across a disaggregated system and takes into account application performance, resource contention, and utilization. The proposed method is evaluated on a 288 cores and around 1TB memory system, composed of six disaggregated commodity servers, through a combination of benchmarks and real applications such as memory intensive graph databases. Our evaluation demonstrates significant improvement over the vanilla resource mapping methods. Overall, the mapping algorithm is able to improve performance by significant magnitude compared the default Linux scheduler used in system.
academic

تحسين تعيين الموارد الافتراضية في أنظمة NUMA متعددة المستويات المفككة

المعلومات الأساسية

  • معرّف الورقة: 2501.01356
  • العنوان: تحسين تعيين الموارد الافتراضية في أنظمة NUMA متعددة المستويات المفككة
  • المؤلفون: Ewnetu Bayuh Lakew, Petter Svärd, Erik Elmroth, Johan Tordsson (جامعة أوميا، السويد)
  • التصنيف: cs.DC (الحوسبة الموزعة والمتوازية والعنقودية)
  • تاريخ النشر: 2 يناير 2025 (نسخة أولية من arXiv)
  • رابط الورقة: https://arxiv.org/abs/2501.01356

الملخص

تدرس هذه الورقة تأثير طوبولوجيا NUMA المعقدة على أداء التطبيقات في الأنظمة المفككة (disaggregated systems)، وتقترح طريقة محسّنة للتعيين مع الوعي بـ NUMA. تعتمد الطريقة على ربط النوى الافتراضية وهجرة الذاكرة، مع الأخذ في الاعتبار أداء التطبيق والمنافسة على الموارد والاستخدام. تم إجراء التقييم على نظام مفكك يتكون من 6 خوادم تجارية بـ 288 نواة وحوالي 1 تيرابايت من الذاكرة، وأظهرت النتائج تحسنًا كبيرًا مقارنة بمجدول Linux الافتراضي.

خلفية البحث والدافع

تعريف المشكلة

  1. تحديات معمارية الأنظمة المفككة: تدعم الأنظمة المفككة التطبيقات كثيفة الموارد (مثل الشبكات الاجتماعية والبحث وقواعد البيانات في الذاكرة) من خلال تجميع موارد خوادم فيزيائية متعددة، لكن الطوبولوجيا الموزعة تؤدي إلى تأخير وصول غير متساوٍ ومشاكل في الأداء
  2. تعقيد NUMA متعدد المستويات: يتعايش النظام مع خصائص NUMA داخل الجهاز الواحد وتأخير الوصول للموارد البعيدة عبر الأجهزة، مما يشكل طوبولوجيا NUMA معقدة متعددة المستويات
  3. تحسين البيئة الافتراضية: لا يمكن لمجدول Linux الحالي التعامل بفعالية مع سيناريو التعيين المعقد للموارد

أهمية البحث

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

قيود الطرق الموجودة

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

المساهمات الأساسية

  1. أول دراسة قياس عملي عميق للأنظمة المفككة: إجراء قياسات عميقة على أجهزة مفككة حقيقية، مع الأخذ في الاعتبار المنافسة على الموارد والمحلية والتداخل
  2. نظام تصنيف التطبيقات ومؤشرات الأداء: استخدام طريقة تصنيف Animal Classes لتصنيف التطبيقات، واستخدام IPC و MPI كمؤشرات أداء
  3. خوارزمية التعيين مع الوعي بـ NUMA: اقتراح خوارزمية تعيين عبر الإنترنت تأخذ في الاعتبار تصنيف التطبيق والقرب من الموارد وعدادات الأداء الحقيقية للأجهزة
  4. تحسن كبير في الأداء: تحقيق تحسن متوسط بمعامل 50 مرة على النظام الفعلي

شرح الطريقة

تعريف المهمة

الإدخال: طلبات الآلات الافتراضية (تتضمن عدد نوى CPU والاحتياجات من الذاكرة)، تصنيف التطبيق، حالة موارد النظام الإخراج: خطة التعيين الأمثل من وحدات المعالجة الافتراضية إلى وحدات المعالجة الفيزيائية القيود: تجنب الإفراط في الاشتراك في الموارد، تقليل مسافة NUMA، تقليل التداخل بين التطبيقات

نظام تصنيف التطبيقات

بناءً على طريقة تصنيف Animal Classes، يتم تقسيم التطبيقات إلى ثلاث فئات:

  • Sheep (النوع المعتدل): التطبيقات التي لا تتأثر بسهولة بمشاركة الذاكرة المؤقتة
  • Rabbit (النوع الحساس): التطبيقات سريعة الأداء لكنها تتدهور بسهولة بسبب عدم كفاية تخصيص الذاكرة المؤقتة أو المشاركة
  • Devil (النوع المخرب): التطبيقات التي تصل بشكل متكرر إلى الذاكرة المؤقتة بمعدل فشل عالي، مما يؤثر على أداء التطبيقات الأخرى

يتم تصنيفها بشكل إضافي بناءً على حساسية الذاكرة البعيدة إلى فئات حساسة/غير حساسة.

معمارية خوارزمية التعيين

استراتيجية التعيين على مرحلتين

المرحلة 1: معالجة البعد (عند وصول التطبيق)

إذا كان VMi وصول جديد ثم
    إذا كان الفتحة الحرة مناسبة لـ VMi بالنظر إلى ci, ai ثم
        عيّن VMi مباشرة
    وإلا
        أعد ترتيب الآلات الافتراضية الموجودة لإنشاء فتحة مناسبة
        عيّن VMi إلى الفتحة الجديدة

المرحلة 2: تقليل التداخل (التحسين أثناء التشغيل)

لكل VMi قم بـ
    إذا كان (expected_perf - measured_perf)/expected_perf ≥ Threshold ثم
        أضف VMi إلى قائمة المتأثرة
        
لكل آلة افتراضية متأثرة قم بـ
    بناء قائمة الجيران المحتملة بناءً على توافق الفئة
    حساب التكوين الجديد مع إعادة ترتيب بحد أدنى
    إعادة التعيين إذا كان مفيدًا

مصفوفة توافق التطبيقات

نوع التطبيقSheepRabbitDevil
Sheep
Rabbit
Devil

مصفوفة تقييم الفوائد

نوع التطبيقمستوى Socketمستوى عقدة NUMAمستوى الخادم
Sheep158
Rabbit479
Devil169

آلية مراقبة الأداء

  • IPC (التعليمات لكل دورة): يشير إلى الأداء النسبي للتطبيق، كلما زادت القيمة كان الأداء أفضل
  • MPI (الفشل لكل تعليمة): يقيس معدل فشل الذاكرة المؤقتة، كلما انخفضت القيمة كان الأداء أفضل
  • استخدام أداة Linux Perf لجمع عدادات الأداء الحقيقية في الوقت الفعلي

إعداد التجارب

منصة الأجهزة

  • تكوين النظام: 6 خوادم IBM x3755 M3
  • المعالجات: 2×AMD 6380 لكل خادم (48 نواة)
  • الذاكرة: 192 جيجابايت RAM لكل خادم، إجمالي 1176 جيجابايت
  • الشبكة: محول NumaConnect N323، طوبولوجيا حلقية ثنائية الأبعاد
  • إجمالي الموارد: 288 نواة، حوالي 1 تيرابايت من الذاكرة

خصائص تقنية NumaConnect

  • نظام ذاكرة مشتركة متسق في الذاكرة المؤقتة
  • نموذج برمجة موحد، شفاف للتطبيق
  • مسافة NUMA: محلي 10، جار 16/22، بعيد 160/200

أحمال عمل التجارب

التطبيقالنوعالتصنيفالخصائص
Neo4jقاعدة بيانات الرسم البيانيSheepكثيف CPU والذاكرة
Sockshopالخدمات الدقيقةSheepممثل تطبيقات السحابة
Derbyاختبار معياريSheepمعيار قاعدة البيانات
SPECjvm2008اختبار معياريRabbit/Devilأداء وقت تشغيل Java
Streamعرض النطاق الترددي للذاكرة-اختبار عرض النطاق الترددي للذاكرة

تكوينات نوع الآلة الافتراضية

نوع الآلة الافتراضيةعدد نوى CPUالذاكرة (GB)العدد
صغير41612
متوسط8324
كبير16642
ضخم722882

نتائج التجارب

تحسينات الأداء الرئيسية

مقارنة بمجدول Linux الافتراضي (Vanilla)، حققت الخوارزمية المقترحة تحسنًا كبيرًا في الأداء:

التطبيقتحسن SM-IPCتحسن SM-MPI
Derby215×241×
FFT33×37×
Sockshop25×23×
Sunflow34×34×
Mpegaudio
SOR17×23×
Neo4j
Stream105×105×

تحليل استقرار الأداء

  • خوارزمية Vanilla: نسبة الانحراف المعياري إلى متوسط الأداء > 0.4، أداء غير متوقع
  • SM-IPC/SM-MPI: هذه النسبة < 0.04، أداء مستقر وقابل للتنبؤ

تحليل تأثير حجم الآلة الافتراضية

مثال على تطبيق Stream، تحسن الأداء تحت أحجام مختلفة من الآلات الافتراضية:

نوع الآلة الافتراضيةتحسن SM-IPCتحسن SM-MPI
صغير48×47×
متوسط105×105×
كبير41×39×
ضخم

النتائج الرئيسية:

  • تحسن الأداء للآلات الافتراضية الضخمة نسبيًا أقل، لأن الآلات الكبيرة بطبيعتها لديها محلية أفضل
  • تستفيد الآلات الافتراضية الصغيرة إلى المتوسطة الحجم بشكل أكبر، لأنها أكثر عرضة للتأثر بالتعيين غير الصحيح

تأثير مسافة NUMA

أداء تطبيق Mpegaudio تحت مسافات NUMA مختلفة:

  • الوصول المحلي: أداء أساسي (1.0)
  • الوصول للجار (مسافة 16/22): انخفاض الأداء حوالي 5-10%
  • الوصول البعيد (مسافة 160/200): أقصى انخفاض في الأداء 17%

الأعمال ذات الصلة

دراسات تحسين NUMA التقليدية

  • Panagouirgious: أثبت تأثير موقع الذاكرة على أداء أنظمة NUMA
  • Lepers وآخرون: درسوا تأثير الترابط غير المتماثل على أنظمة x86
  • Mayo و Gross: اقترحوا خوارزمية وضع الخيوط لتقليل عدم محلية البيانات

تحسين البيئة الافتراضية

  • Rao وآخرون: اقترحوا خوارزمية هجرة vCPU عشوائية منحازة
  • Tang وآخرون: درسوا تأثير NUMA في بيئة الإنتاج الكبيرة في Google

نقاط الابتكار في هذه الورقة

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

الخلاصة والنقاش

الاستنتاجات الرئيسية

  1. تحسن كبير في الأداء: حققت خوارزمية التعيين مع الوعي بـ NUMA المقترحة تحسنًا متوسطًا بمعامل 50 مرة مقارنة بمجدول التشغيل الافتراضي
  2. تحسن الاستقرار: تقليل كبير في تباين الأداء، مما يوفر أداءً متوقعًا
  3. فعالية تصنيف التطبيقات: طريقة التصنيف القائمة على Animal Classes يمكنها توجيه قرارات تعيين الموارد بشكل فعال

القيود

  1. افتراض التصنيف الثابت: تصنيف التطبيقات الحالي ثابت، ولا يأخذ في الاعتبار التغييرات الديناميكية في سلوك التطبيق
  2. أنواع أحمال عمل محدودة: يركز التقييم بشكل أساسي على أنواع معينة من التطبيقات
  3. منصة أجهزة محددة: تم إجراء التجارب فقط على منصة NumaConnect

الاتجاهات المستقبلية

  1. ضبط مجدول Linux: البحث عن تأثير ضبط مجدول Linux لتقليل العشوائية
  2. تقنيات هجرة الذاكرة: استخدام تقنية هجرة الذاكرة "memory follows cores" في libvirt
  3. تصنيف التطبيقات الديناميكي: تطوير آليات تحليل سلوك التطبيق في وقت التشغيل وإعادة التصنيف الديناميكي

التقييم المتعمق

المزايا

  1. قيمة عملية عالية: التقييم على أجهزة حقيقية يجعل النتائج ذات قيمة عملية قوية
  2. منهجية شاملة: تشكل تحليل المشكلة وتصميم الحل والتحقق التجريبي نظامًا شاملاً
  3. تحسن الأداء كبير: أظهرت نتائج التجارب مجالاً كبيرًا لتحسين الأداء
  4. دراسة منظمة: تأخذ في الاعتبار عوامل متعددة التأثير، وتوفر حلاً شاملاً

أوجه القصور

  1. الاعتماد على المنصة: يعتمد البحث بشكل أساسي على منصة NumaConnect، وتحتاج قابلية التطبيق على أنظمة مفككة أخرى إلى التحقق
  2. تغطية أحمال العمل: أنواع التطبيقات المقيمة نسبيًا محدودة، وتحتاج إلى التحقق من صحتها بأحمال عمل أكثر تنوعًا
  3. نقص الديناميكية: تحتاج قدرة الخوارزمية على التكيف مع التغييرات الديناميكية في حمل النظام إلى مزيد من البحث
  4. نقص التحليل النظري: يفتقر إلى التحليل النظري لتعقيد الخوارزمية والتقارب

التأثير

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

السيناريوهات المناسبة

  1. بيئات الحوسبة السحابية الكبيرة: مناسبة بشكل خاص للبنية التحتية السحابية لتجميع الموارد
  2. مجموعات الحوسبة عالية الأداء: يمكن استخدامها لتحسين تخصيص الموارد لتطبيقات HPC
  3. التطبيقات كثيفة الذاكرة: تأثير ملحوظ على قواعد البيانات الرسومية والحوسبة في الذاكرة
  4. مراكز البيانات الافتراضية: يمكن دمجها في أنظمة إدارة الافتراضية الموجودة

المراجع

تستشهد هذه الورقة بـ 26 مرجعًا ذا صلة، تغطي أنظمة مفككة وتحسين NUMA وتقنيات الافتراضية وغيرها من مجالات البحث المهمة، مما يوفر أساسًا نظريًا قويًا للعمل البحثي.


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