تؤثر محلية NUMA في الاستدلال عندما تتواصل خيوط المعالج وذاكرة المضيف ووحدات معالجة الرسومات عبر نطاقات غير محلية بدلًا من بقائها قريبة من مسار PCIe الخاص بها.
يمكن لخادم منزلي للذكاء الاصطناعي ذي مقبسين أن يوفّر مجموعتي RAM كبيرتين وعدة وحدات معالجة رسومات كأنها جهاز واحد، إلا أن الوصول ليس موحّدًا. فقد يُجدول عامل على أحد المقبسين، ويُحضّر الموترات في ذاكرة متصلة بالمقبس الآخر، ثم ينقلها إلى وحدة معالجة رسومات تقع تحت جذر PCIe مختلف. يعتمد التأثير على موضع النموذج، والتجهيز المرحلي على المضيف، وحركة مرور التوازي الموترّي، وطوبولوجيا الوصلات البينية، وحجم الدفعة، وما إذا كان عبء العمل مقيّدًا بالحساب أو بالنقل.
تحوّل NUMA مجموعة ذاكرة واحدة إلى وصول يعتمد على المسافة
في نظام NUMA، يمتلك كل مقبس للمعالج أو نطاق حسابي ذاكرة تكون أقرب إلى بعض الأنوية من غيرها. يمكن للبرمجيات عنونة السعة المجمعة، لكن الوصول البعيد يجب أن يعبر وصلة بينية. وعادةً ما يملك هذا المسار زمن استجابة وعرض نطاق متاحًا يختلفان عن الذاكرة المحلية.
تؤثر طوبولوجيا NUMA أيضًا في DMA الخاص بوحدة معالجة الرسومات، لأن صفحات المضيف قد تكون بعيدة عن مجمّع جذر PCIe الخاص بوحدة معالجة الرسومات. ويُعدّ جدولة المعالج وتحديد موضع الذاكرة قرارين منفصلين، وقد لا ترى الآلة الافتراضية تلقائيًا طوبولوجيا المضيف اللازمة لمواءمتهما.
يكون التأثير صغيرًا عندما تكون حركة مرور ذاكرة المضيف محدودة مقارنةً بحسابات وحدة معالجة الرسومات. لكنه يزداد أثناء تحميل النموذج، أو تفريغ العمل إلى المعالج، أو تقسيم النص إلى رموز، أو نسخ المخازن المثبّتة، أو المزامنة المتكررة، أو أعباء العمل التي تتجاوز سعة VRAM. فسعة NUMA لا تضمن محلية NUMA.
يضيف وضع وحدات معالجة الرسومات طوبولوجيا ثانية إلى مسار النموذج
قد تتصل وحدات معالجة الرسومات المتعددة بمقابس معالجات مختلفة، أو مفاتيح PCIe مختلفة، أو أقسام مضمّنة على الحزمة. ويمكن لموتر ينتقل بين مسرّعين أن يستخدم مسار نظير مباشر، أو وصلة مخصصة لوحدات معالجة الرسومات، أو مفتاح PCIe، أو مسارًا يمر بذاكرة المضيف وقفزة بين المقبسين. وهذه المسارات ليست متكافئة.
تجد أبحاث حول وحدات معالجة الرسومات متعددة الأقسام أن الوصول غير الموحّد والاتصال بين الأقسام قد يفاقمان التزاحم وزمن استجابة النواة. وتختلف استراتيجيات التوزيع بحسب ما إذا كانت البيانات مشتركة عالميًا، أو جزئيًا، أو داخل مجموعة عمل أو قسم واحد فقط.
ينبغي أن يتبع تقسيم النموذج الطوبولوجيا التي تحمل أكبر قدر من حركة المرور المتكررة. فقد تتواصل الطبقات المتجاورة أو حالة الانتباه الموضوعة عبر حد بطيء معًا عند كل رمز، بينما قد يتحمل تقسيم أقل تواصلاً المسافة. ويؤدي عدّ وحدات معالجة الرسومات من دون رسم خريطة لوصلاتها إلى إخفاء العلاقة المهمة.
قد يجعل التوازي الموترّي المحلية تكلفة تتكرر مع كل رمز
يقسم الاستدلال بالتوازي الموترّي العمليات داخل الطبقة بين وحدات معالجة الرسومات، ثم يجمع النتائج الجزئية عبر عمليات جماعية. وقد يتيح ذلك تشغيل نماذج أكبر والاستفادة من قدرة حسابية أعلى، لكن الاتصال يتكرر عبر طبقات ورموز عديدة. لذلك يتحول المسار البعيد إلى تكلفة متكررة بدلًا من كونه عقوبة لمرة واحدة أثناء تحميل النموذج.
يعمل التوازي الموترّي بأفضل صورة عندما تدعم وصلات المسرّعات وموضع الأجزاء عملية المزامنة المطلوبة. وقد تؤدي إضافة وحدة معالجة رسومات عبر حد أضعف في NUMA أو PCIe إلى زيادة السعة مع تحقيق مكسب في معدل النقل أقل مما يوحي به عدد الأجهزة.
قد يكون التوزيع المتوازي للبيانات أو التوزيع على مستوى الطلب أفضل عندما تتسع النماذج مستقلّةً ويمكن إبقاء الطلبات محلية. ويصبح التوازي الموترّي ضروريًا عندما لا يتسع نموذج واحد على جهاز واحد، لكن حجم الدفعة وتكرار العمليات الجماعية والوصلة البينية تحدد ما إذا كانت السعة الإضافية ستحسن السرعة أيضًا.
قد يؤدي الوصول الأول إلى الصفحة وترحيل الخيوط إلى إفساد التخطيط المقصود
غالبًا ما تضع أنظمة التشغيل الذاكرة بالقرب من الخيط الذي يلمس كل صفحة للمرة الأولى. فإذا جرى التهيئة على أحد المقبسين ثم نُفّذت خيوط الاستدلال لاحقًا على مقبس آخر، فقد تظل الصفحات بعيدة. كما يمكن أن يؤدي ترحيل المجدول إلى نقل خيوط التحضير على المعالج بعيدًا عن الذاكرة ووحدة معالجة الرسومات اللتين كان يفترض أن تخدمهما.
تربط مراعاة NUMA بنوك الذاكرة المحلية بمقابس المعالج التي تصل إليها بأعلى كفاءة. فتثبيت خيوط المعالج من دون التحكم في تخصيص الذاكرة، أو تثبيت الذاكرة من دون مواءمة وحدة معالجة الرسومات، لا يحل سوى جزء من المسار.
قد يتطلب التخطيط المستقر تقارب المعالج، وسياسة الذاكرة، وتعيين الأجهزة، وإطلاق العمليات بوعي بالطوبولوجيا. وتضيف الحاويات والآلات الافتراضية طبقة تخطيط أخرى. والهدف ليس تثبيت كل شيء بلا تمييز، بل إبقاء مسارات المنتج والمخزن والمستهلك ذات الحجم الكبير ضمن أقرب نطاق عملي.
تزداد أهمية المحلية في مراحل محددة من الاستدلال
يبرز تحميل النموذج حركة البيانات من التخزين إلى المضيف ومن المضيف إلى وحدة معالجة الرسومات. وتعالج مرحلة التهيئة عددًا كبيرًا من رموز المطالبة وقد تستخدم عمليات مصفوفية أكبر، بينما تتقدم مرحلة فك الترميز بصورة متكررة عبر رمز واحد أو بضعة رموز، وقد تصبح حساسة لعرض نطاق الذاكرة والمزامنة وزمن إطلاق النواة. لذلك يمكن أن تتغير تأثيرات NUMA خلال الطلب الواحد.
توضح تأثيرات NUMA في وحدات معالجة الرسومات أن الجدولة الواعية بالموضع قد تحسن الانتباه عبر مواءمة العمل مع نطاقات الذاكرة وإعادة استخدام ذاكرة التخزين المؤقت. والدرس هنا أضيق من تحقيق تسارع شامل: يظهر المكسب عندما يتوافق نمط مشاركة النواة مع التخطيط المراعي للطوبولوجيا.
قد يخفي معيار لا يبلّغ إلا عن متوسط عدد الرموز في الثانية زمنًا بطيئًا للوصول إلى الرمز الأول أو ضعف التوسع عند حجم دفعة معين. سجّل وقت التحميل، ومعدل نقل التهيئة، وزمن الاستجابة بين الرموز، وحركة مرور وصلة وحدة معالجة الرسومات، والوصولات البعيدة إلى NUMA، وعرض نطاق ذاكرة المعالج كلًّا على حدة.
مركز التكنولوجيا والذكاء الاصطناعي
المزيد للقراءة

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

كيفية قياس أداء Jellyfin دون الخلط بين ذاكرة التخزين المؤقت والسعة
يُصنّف اختبار أداء موثوق لـ Jellyfin حالتي التشغيل الباردة والدافئة بشكل منفصل، حتى لا تُعتبر البيانات الوصفية المخزّنة مؤقتًا أو صفحات نظام الملفات سعةً...

ما مقدار هامش أداء معالج الرسومات المدمج (iGPU) الذي يحتاجه Jellyfin متعدد المستخدمين؟
هامش أداء iGPU في Jellyfin يعتمد على عبء العمل: احتفظ بهامش يتجاوز أصعب مزيج متكرر من عمليات تحويل الترميز المتزامنة، بدلًا من اعتماد نسبة...

