نوع المهمة (TT) هو جدولة وحدة المعالجة المركزية البديلة لـ Linux.
الهدف من جدولة نوع المهمة (TT) هو اكتشاف أنواع المهام بناءً على سلوكياتها والتحكم في الجدولة بناءً على أنواعها. هناك 5 أنواع:
ابحث عن الأوصاف وقواعد الكشف في tasks.ods
تتمثل فائدة أنواع المهام في السماح للجدولة بالحصول على مزيد من التحكم واختيار أفضل مهمة لتشغيلها في وحدة المعالجة المركزية.
TT يعطي مهام RT A -20 prio في حسابات Vruntime. هذا يعزز مهام RT على مهام أخرى. قواعد الاستباق هي HRRN بحتة حيث يكون لمهام RT أولوية لأن Vruntimes لها أقل نسبيًا من الأنواع الأخرى. سبب استخدام HRRN بدلاً من التقاط المستوى الصلب هو تهدئة عمليات التمييز ومنع أي فرصة للجوع.
تحتاج إلى تجميع مع CONFIG_SCHED_DEBUG=y . لقد أضفت حقلًا في إخراج معلومات المهام task_type . انظر واستخدام ttdebug.sh .
أمثلة الاستخدام:
ttdebug.sh | grep -i realtime
watch -t "(ttdebug.sh | grep -i interactive)"
watch -t "(ttdebug.sh | egrep -i 'webco|firefox')"
ملاحظة: يتم اكتشاف أنواع المهام بناءً على سلوكها ، وليس بما ينبغي أن يكون. لذا ، إذا كان SystemD في مرحلة ما يتصرف مثل المهام في الوقت الفعلي وذهب لنوم طويل ، فسيكون النوع في الوقت الفعلي حتى يستيقظ ويحدث نوعه. قد ترى العديد من مهام النوم مع أنواع غير صحيحة لأنها في مرحلة ما من وقت التشغيل تصرفت مثل الوقت الحقيقي ، CPU_BOUND ، أو أي نوع. تنام هذه المهام لفترة طويلة ، لذلك عندما يستيقظون سيكون نوعهم سيكون جيبًا داخليًا ، يكون لديهم قيمة HRRN عالية للغاية. لذلك ، لا تقلق بشأن نوع عمليات نظام النوم.
s kernel.sched_tt_max_lifetime
الافتراضي هو 22s. هذا هو الحد الأقصى لوقت الحياة للمهام لتطبيع وقت حياتهم و Vruntime. على غرار Cacule's cacule_max_lifetime .
kernel.sched_tt_rt_prio الافتراضي هو -20. المدى [-20 ، 19]. في حالة وجود مهام ذات أنواع أخرى غير REALTIME ، فإن جوعًا بسبب أولويات المهام الحقيقية مرتفعة للغاية ، يمكنك تليين أولوية المهام في الوقت الفعلي. -20 هو الأعلى ، 19 هو أقل أولوية.
kernel.sched_tt_interactive_prio الافتراضي هو -10. المدى [-20 ، 19].
kernel.sched_tt_cpu_bound_prio الافتراضي هو -15. المدى [-20 ، 19].
kernel.sched_tt_batch_prio الافتراضي هو 19. المدى [-20 ، 19].
kernel.sched_tt_balancer_opt
يمكن ضبطه على 4 قيم:
يمكنك تغيير خيار الموازن في وقت التشغيل.
kernel.sched_tt_lat_sens_enabled الافتراضي هو 1. حساسة الكمون تبقي وحدات المعالجة المركزية (مع عدم وجود مهام) بتردد عالي لبعض الوقت (~ 1ms) في حالة المهمة الواردة خلال هذا الوقت ستعمل بشكل أسرع. إنه يقلل من الكمون ولكنه يزيد من استهلاك الطاقة. إذا تم اختيار Power Save Balancer ، فلن يكون لهذا الخيار أي تأثير (أي معطل ، = 0).
kernel.sched_tt_dedicated_cpu_bound_enabled الافتراضي هو 1. يمكن أن تحتوي وحدة المعالجة المركزية على مهمة واحدة مخصصة ملزمة لوحدة المعالجة المركزية.
Telegram: https://t.me/tt_sched
شكرًا لك
حمد