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 متعددة المستويات المفككة
تدرس هذه الورقة تأثير طوبولوجيا NUMA المعقدة على أداء التطبيقات في الأنظمة المفككة (disaggregated systems)، وتقترح طريقة محسّنة للتعيين مع الوعي بـ NUMA. تعتمد الطريقة على ربط النوى الافتراضية وهجرة الذاكرة، مع الأخذ في الاعتبار أداء التطبيق والمنافسة على الموارد والاستخدام. تم إجراء التقييم على نظام مفكك يتكون من 6 خوادم تجارية بـ 288 نواة وحوالي 1 تيرابايت من الذاكرة، وأظهرت النتائج تحسنًا كبيرًا مقارنة بمجدول Linux الافتراضي.
تحديات معمارية الأنظمة المفككة: تدعم الأنظمة المفككة التطبيقات كثيفة الموارد (مثل الشبكات الاجتماعية والبحث وقواعد البيانات في الذاكرة) من خلال تجميع موارد خوادم فيزيائية متعددة، لكن الطوبولوجيا الموزعة تؤدي إلى تأخير وصول غير متساوٍ ومشاكل في الأداء
تعقيد NUMA متعدد المستويات: يتعايش النظام مع خصائص NUMA داخل الجهاز الواحد وتأخير الوصول للموارد البعيدة عبر الأجهزة، مما يشكل طوبولوجيا NUMA معقدة متعددة المستويات
تحسين البيئة الافتراضية: لا يمكن لمجدول Linux الحالي التعامل بفعالية مع سيناريو التعيين المعقد للموارد
الإدخال: طلبات الآلات الافتراضية (تتضمن عدد نوى CPU والاحتياجات من الذاكرة)، تصنيف التطبيق، حالة موارد النظام
الإخراج: خطة التعيين الأمثل من وحدات المعالجة الافتراضية إلى وحدات المعالجة الفيزيائية
القيود: تجنب الإفراط في الاشتراك في الموارد، تقليل مسافة NUMA، تقليل التداخل بين التطبيقات
إذا كان VMi وصول جديد ثم
إذا كان الفتحة الحرة مناسبة لـ VMi بالنظر إلى ci, ai ثم
عيّن VMi مباشرة
وإلا
أعد ترتيب الآلات الافتراضية الموجودة لإنشاء فتحة مناسبة
عيّن VMi إلى الفتحة الجديدة
المرحلة 2: تقليل التداخل (التحسين أثناء التشغيل)
لكل VMi قم بـ
إذا كان (expected_perf - measured_perf)/expected_perf ≥ Threshold ثم
أضف VMi إلى قائمة المتأثرة
لكل آلة افتراضية متأثرة قم بـ
بناء قائمة الجيران المحتملة بناءً على توافق الفئة
حساب التكوين الجديد مع إعادة ترتيب بحد أدنى
إعادة التعيين إذا كان مفيدًا
تستشهد هذه الورقة بـ 26 مرجعًا ذا صلة، تغطي أنظمة مفككة وتحسين NUMA وتقنيات الافتراضية وغيرها من مجالات البحث المهمة، مما يوفر أساسًا نظريًا قويًا للعمل البحثي.
التقييم الشامل: هذه ورقة ذات مساهمة مهمة في مجال إدارة موارد الأنظمة المفككة. من خلال تصميم تجريبي صارم وتقييم أداء شامل، أثبتت فعالية خوارزمية التعيين مع الوعي بـ NUMA. على الرغم من وجود بعض القيود، إلا أن قيمتها العملية والمساهمة الأكاديمية كبيرة جدًا، مما يضع أساسًا قويًا لمزيد من التطوير في هذا المجال.