تكنولوجيا

ريدوكس أو إس: نهاية الجدولة العتيقة، قفزة الأداء الحادة

DWRR يزيح Round Robin، يقفز بالأداء 150 FPS

مراسل في قسم التكنولوجيا، يركز على متابعة أخر مستجدات أخبار التكنولوجيا

ريدوكس أو إس، أخيراً، يكسر قيود الجدولة القديمة. محرك “Round Robin” (RR) التقليدي سقط. “Deficit Weighted Round Robin” (DWRR) الجديد يسيطر، محققاً قفزات أداء مذهلة. 150 إطاراً في الثانية مكاسب في ديمو “pixelcannon 3D”. 1.5 ضعف في العمليات بالثانية للمهام المستهلكة للمعالج. استجابة النظام ارتفعت بشكل حاسم، مقاسة بـ “schedrs”. هذا التحول ليس مجرد ترقية؛ إنه إعادة تعريف لأسلوب عمل نظام التشغيل الصغير المبني على لغة Rust.

الجدولة القديمة كانت كارثة. “Round Robin” يعامل الجميع سواسية. لا تمييز بين مهمة حيوية ومهمة خلفية تلتهم الموارد. تخيل عميلاً مهماً، كحزمة الصوت التفاعلية، ينتظر خلف مهمة تافهة تستنزف المعالج. النظام يتجمد، المستخدم يغرق في الإحباط. “Niceness”، آلية يونكس القياسية لتعديل أولوية العمليات، كانت بلا جدوى هنا. هذا العجز دفع لتطوير حل جذري.

هنا يتدخل “DWRR”. يعالج المشكلة بتخصيص أوزان مختلفة لطوابير العمليات. كل طابور يمتلك رصيداً، والمهام تنفذ حتى ينفد رصيدها. الأولوية الآن حقيقة. لكن هذا الحل ليس مثالياً؛ “DWRR” الأصلي يواجه مشكلة “التجويع”. المهام ذات الأولوية المنخفضة قد لا تحصل على فرصة للتنفيذ أبداً. إنه توازن هش بين الأداء والعدالة، خطوة نحو جداول أكثر تعقيداً مثل “Completely Fair Scheduler” (CFS) في لينكس.

لحل “التجويع”، ظهر نهج “Interleaving” (التشابك). بدلاً من السماح لطابور واحد باستنزاف رصيده كاملاً، تتشابك الجدولة. النظام يخدم المهام عالية الأولوية، ثم يتحقق بسرعة من الطوابير الأقل أولوية لضمان عدم تجويعها. هذا يزيد قليلاً من تكلفة تبديل السياق (context-switch overhead)، لكنه يضمن استجابة أفضل للمهام التفاعلية. إنه حل وسط ذكي يجمع بين سرعة الاستجابة والعدالة.

الاختبارات الصارمة أكدت الفعالية. محاكاة بـ 40,000 مهمة تلتهم المعالج على 16 نواة كشفت الفروقات الصارخة. “Round Robin” سجل متوسط زمن استجابة 1249.50 “tick”. “DWRR” قفز إلى 34459.56 “tick”، مع تحسين هائل للمهام ذات الأولوية القصوى. لكن “Interleaved DWRR” خفض المتوسط إلى 7442.54 “tick”، مقدماً توازناً أفضل. هذه الأرقام ليست مجرد نظريات؛ إنها مؤشرات حاسمة لأداء النظام تحت الضغط.

الواقع أكد النتائج. “pixelcannon”، عند رفع أولويته، قفز من 1000 إطار في الثانية إلى 1150 إطاراً (زيادة 15%). أداة “schedrs”، المصممة لقياس زمن انتقال تبديل السياق، أظهرت قفزة من 243 إلى 360 عملية في الثانية (زيادة 48%). هذا يعني استجابة فورية. المهام عالية الأولوية، الحساسة لزمن الانتقال، لم تعد تعاني من اختناق المهام الخلفية. “DWRR” يحميها بفعالية. الخطوة التالية: استبدال منطق الطوابير الثابت بحسابات التأخير الديناميكية لـ “full EEVDF”!

مقالات ذات صلة