← أحدث الأبحاث
💻 علوم الحاسوب

SecBCache: Evaluating Banked Interleaved Word-Granularity Sector Cache for gather/scatter Operations on Sparse Data

تقدم الورقة البحثية SecBCache، وهو ذاكرة تخزين مؤقت للقطاعات بدقة الكلمة مع بنوك متداخلة مصممة لتحسين الكفاءة لأعباء العمل المتفرقة من خلال تقليل عمليات الكتابة في ذاكرة SRAM والطاقة الديناميكية لـ L1 بشكل كبير، مع تقديم تخفيضات في تأخير الوصول إلى الذاكرة المُمذجة لعمليات التجميع والتشتيت (gather/scatter).

المؤلفون الأصليون: Nazmus Sakib, John Shalf, Abdel-Hameed A. Badawy

نُشر 2026-10-30
📖 9 دقيقة قراءة🧠 قراءة متعمّقة

المؤلفون الأصليون: Nazmus Sakib, John Shalf, Abdel-Hameed A. Badawy

البحث الأصلي مرخَّص بموجب CC BY 4.0 (https://creativecommons.org/licenses/by/4.0/). ✨ هذا شرح مولَّده بالذكاء الاصطناعي للبحث أدناه. لم يكتبه المؤلفون ولم يصادقوا عليه. وللتحقق من الدقة التقنية، يرجى الرجوع إلى البحث الأصلي. اقرأ إخلاء المسؤولية الكامل

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

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

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

يكمن جوهر ابتكار الباحثين في كيفية إعادة تنظيم تخزين الذاكرة. لقد قاموا بتفكيك كتل الذاكرة القياسية الكبيرة إلى قطع أصغر بحجم ثمانية بايتات، والتي يسمونها "القطاعات الفرعية" (subsectors). في النظام التقليدي، إذا احتاج الحاسوب إلى رقم واحد من كتلة ما، فيجب عليه تحميل الكتلة بأكملها. أما في نظام SecBCache الجديد، فتنقسم الذاكرة إلى ثمانية أقسام منفصلة، أو "بنوك" (banks)، يمكن الوصول إليها في وقت واحد. وعندما يحتاج الحاسوب إلى جمع قائمة من الأرقام المبعثرة، يمكنه إرسال طلبات إلى هذه البنوك المختلفة في آن واحد، ليجلب فقط قطع الثمانية بايتات المحددة المطلوبة. هذا يشبه مكتبة، بدلاً من أن تعطيك كتاباً كاملاً، لديها ثمانية موظفين يمكن لكل منهم سحب صفحة واحدة تحتاجها من كتب مختلفة في اللحظة ذاتها. يسمح هذا التصميم للحاسوب بتجنب هدر جلب البيانات غير المستخدمة مع الحفاظ على سرعة وتنظيم نظام الذاكرة القياسي.

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

كشفت عمليات المحاكاة عن فرق صارخ في الكفاءة. في النظام القياسي، غالباً ما كان الحاسوب يجلب كتلة كاملة من البيانات ولكنه ينتهي باستعمال أقل من نصفها، وفي بعض الحالات، ما يصل إلى 18% فقط. وهذا يعني أنه مقابل كل قطعة من البيانات المفيدة التي يتم استردادها، يهدر النظام الطاقة ونطاق التردد في نقل عدة قطع غير مفيدة. ألغى تصميم SecBCache هذا الهدر من خلال جلب قطع الثمانية بايتات المحددة المطلوبة فقط. وبالنسبة لمهام البحث في الرسوم البيانية، قلل التصميم الجديد من كمية البيانات المكتوبة في ذاكرة التخزين بمتوسط قدره 63%. أما بالنسبة لمهام ضرب المصفوفات، فقد كان الانخفاض أكثر دراماتيكية، بمتوسط انخفاض قدره 80% في البيانات المكتوبة. وهذا يعني أنه بالنسبة للعديد من مجموعات البيانات التي تم اختبارها، كتب النظام الجديد فقط جزءاً ضئيلاً من البيانات التي كتبها النظام القديم، مما قلل بشكل كبير من الحركة الداخلية التي تبطئ الحواسيب.

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

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

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

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

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

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

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

غارق في أبحاث مجالك؟

تصلك نشرة يومية بأحدث الأبحاث المطابقة لكلماتك البحثية المفتاحية — مع ملخصات تقنية، بلغتك.

جرّب Digest →