جیهانی - ئاژانسی هەواڵی ئەخباری
کاتێک پلانساز سەیری ئەستێرەکانی کرد: چۆن scx_horoscope داهاتووی پلانسازە نەرمەکانی ناوکی لینوکسی ئاشکرا کرد
لە کۆتایی ساڵی 2024، پڕۆژەیەک لە گیتھاب دەرکەوت کە توانی زەردەخەنە بخاتە سەر ڕووی تەنانەت بە ئەزموونترین پرۆگرامسازانی سیستەمیش. پڕۆژەی scx_horoscope تەنها پلانسازێکی ئەرکەکان نەبوو بۆ ناوکی لینوکس؛ بەڵکو ئامێرێکی سەرنجڕاکێش بوو کە دیزاین کرابوو بۆ ڕێکخستنی ڕەفتاری CPU بەپێی شوێنی هەسارەکان، قۆناغەکانی مانگ، و تەنانەت گەڕانەوەی ئەستێرەناسی. دروستکەرەکەی، لوکاس زامپێری، بە شێوەیەکی مامۆستایانە یاری بە وتەیەکی کۆنی کارگێڕانی سیستەم کرد کە "سیستەمەکان بەپێی قۆناغەکانی مانگ کار دەکەن"، ئەم میمی گاڵتەجاڕانەی گۆڕی بۆ کۆدێکی کارا کە بەڕاستی لە ناوکدا بار دەکرێت و بەشداری لە تەرخانکردنی کاتی CPU دەکات. بەڵام لە ژێر ئەم دەرکەوتە سەیرەدا، پیشاندانی پێشکەوتنێکی زۆر گرنگتر بوو: یەکخستنی میکانیزمی sched_ext لە ناوکی لینوکسدا، کە بنچینەییترین شێوازی بەڕێوەبردنی سەرچاوەکان دەگۆڕێت و سەردەمێکی نەرمی بێوێنە لە پلاندانانی ئەرکەکاندا دەستپێدەکات.
لە ڕووی مێژووییەوە، هەر هەوڵێک بۆ باشترکردن یان گونجاندنی پلانسازی ئەرکەکانی لینوکس پڕ بوو لە سەختی زۆر. پلانساز دڵی سیستەمی کارپێکردنە، کە دیاری دەکات کام ئەرک دەستی بە پرۆسێسەر بگات و بۆ چەندێک. لەگەڵ هەر لێدانێکی تایمەردا، سێ بڕیاری گرنگ دەدات: کام ئەرک لەسەر ناوکێکی بەردەست دەستپێبکات، چەندێک دەبێت بەبێ پێشخستن کار بکات، و چۆن ئامانجە ناکۆکەکان هاوسەنگ بکات وەک کەمترین دواکەوتن بۆ بەرنامە کارلێککەرەکان، زۆرترین دەردان بۆ سێرڤەرەکانی دروستکردن، یان جیاکاری توند بۆ کۆنتێنەرەکان. لە ڕابردوودا، تەنانەت گۆڕانکارییە بچووکەکانیش پێویستیان بە گۆڕینی کۆدی ناوکی مۆنۆلیتی هەبوو. ئەمەش مانای چاوەڕوانکردنی مانگێک، یان هەندێک جار ساڵانێک، بۆ پێداچوونەوەی پاتچەکان، گونجاندنیان لە بڵاوبوونەوەی داهاتوودا، و پاشان بڵاوکردنەوەیان. لە ئەنجامدا، ناوک ئەلگۆریتمێکی گشتگیر بەڵام زۆرجار سازشکارانەی وەرگرت، کە زۆرێک لە سیناریۆ تایبەتەکانی بەبێ ڕێکخستنی گونجاو بەجێدەهێشت. نموونەکانی وەک O(1) و Completely Fair Scheduler (CFS) پێشکەوتنیان نیشاندا، بەڵام گشتگیرییان هەمیشە تێچوویەکی هەبوو.
Bixwîne jî
- نصری سەرکەوتنی بەدەست هێنا لە خولی ڕۆشن سەرەڕای ئاستەنگەکان
- Xwendekarên Zanîngeha Skenderiyê di Global HackAtom 2026 de Sêyemîn Cih Girtin
- Mêrek bi tohmeta êrîşa bi kêr li ser malbata xwe li Misrê hat girtin
- قاهره: حەوزی مەلەواندنێک داخرا و ئاگاداری درا بە سەرپێچیکاران
- ئەیمەن یونس: داهاتووی محەمەد سەڵاح لە ئیتاڵیا یان ئیسپانیایە
ئەم دۆخە بە شێوەیەکی دراماتیکی گۆڕا بە فەرمییەتیی زیادکردنی پۆلی پلانسازەکانی sched_ext بۆ لقی سەرەکی ناوکی لینوکس لەگەڵ بڵاوبوونەوەی 6.12 لە کانوونی یەکەمی 2024. ئەم میکانیزمە ڕێگە بە جوڵاندنی لۆژیکی پلاندانانی ئاڵۆز لە ناوکی بە توندی کۆدکراوەوە دەدات بۆ سیاسەتەکان کە بە شێوەیەکی داینامیکی دەتوانرێت بار بکرێن و بە زمانی BPF (Berkeley Packet Filter) نووسراون. ئێستا، گەشەپێدەران و کارگێڕانی سیستەم دەتوانن ئەلگۆریتمەکانی تەرخانکردنی سەرچاوە تاقی بکەنەوە، بیانگۆڕن بۆ پێداویستییە تایبەتەکانی خۆیان، و بڵاویان بکەنەوە بەبێ پێویستی بە دووبارە کۆمپایلکردنی ناوک یان چاوەڕوانییەکی درێژخایەن بۆ یەکخستن لە سەرچاوە. ئەمە تەنها پەرەسەندنێک نییە، بەڵکو شۆڕشێکە لە بەڕێوەبردنی ئەرکەکاندا، کە ڕێگە خۆش دەکات بۆ دروستکردنی پلانسازە زۆر تایبەتمەند و گونجێنەرەکان.
پێکهاتەی sched_ext لەسەر بنەما ڕوونەکانی دابەشکردنی بەرپرسیارێتی بنیات نراوە. ناوک ئەرکە زۆر گرنگەکان دەپارێزێت: بەڕێوەبردنی باری ئەرکەکان، بنەما سەرەتاییەکانی ناردن بە شێوەی ڕیزەکان (DSQ)، میکانیزمەکانی کۆچکردن لە نێوان ناوکەکان، و بە تایبەتی، سیستەمی ئاسایش. لە کاتی شکست یان کارکردنی نادروستی پرۆگرامی پلانسازی BPF ی دەرەکی، ناوک بە شێوەیەکی خۆکارانە پرۆسەی هەڵوەشاندنەوە دەستپێدەکات، و هەموو ئەرکەکان دەگەڕێنێتەوە بۆ پۆلی ستاندارد SCHED_NORMAL. ئەمە دڵنیایی دەدات لە بەرگەگرتنی هەڵە بەهێز، و ڕێگری لە داڕمانی تەواوی سیستەم دەکات. بەڵام، گرنگە ئاماژە بەوە بکرێت کە میکانیزمی گەڕانەوە تەنها لە شکستە کارەساتبارەکان دەپارێزێت، نەک لە هەڵە لۆژیکییەکانی ناو خودی پلانەکە. بۆ نموونە، ئەگەر سیاسەتێک بە بەردەوامی ماوەی کاتی زۆر کورت تەرخان بکات یان ئەرکەکان بە هەڵە پۆلێن بکات، سیستەمەکە بەردەوام دەبێت لە کارکردن، بەڵام بە کاراییەکی زۆر خراپتر.
لۆژیکی بڕیاردان – پۆلێنکردنی ئەرکەکان، حیسابکردنی پلەی ناوخۆیی (نمرە)، و دیاریکردنی ماوەی کاتی کوانتۆم – بە تەواوی دراوە بە پرۆگرامی BPF کە لە بۆشایی بەکارهێنەرەوە بار دەکرێت. ئەمە نەرمییەکی بێوێنە دابین دەکات. سووڕی ژیانی ئەرکێک لەژێر بەڕێوەبردنی sched_ext بەم شێوەیە دەستپێدەکات: کاتێک ئەرکێک بەئاگا دێتەوە، ناوک سیاسەتەکە لە ڕێگەی هۆکی enqueue() ئاگادار دەکاتەوە. سیاسەتەکە ئەرکەکە شیدەکاتەوە (شێوازەکانی بەئاگاهاتنەوەی، بەکارهێنانی سەرچاوەکان، سەر بە گروپەکان بوون) و بڕیار دەدات لە کوێ دایبنێت. کاتێک ناوکێک بەتاڵ دەبێت، هۆکی dispatch() بانگ دەکرێت، و سیاسەتەکە ئەرکێک لە ڕیزەکە دەردەهێنێت، و لە ڕێگەی scx_bpf_dispatch() ەوە دەیداتە ناوک، بە دیاریکردنی ناسنامەی ئەرکەکە و ماوەی کوانتۆم بە نانۆچرکە. سیاسەتەکە دەتوانێت کۆچکردنی ئەرکەکان لە نێوان ناوکەکاندا لە ڕێگەی scx_bpf_kick_cpu() ەوە دەستپێبکات بۆ هاوسەنگکردنی بار یان باشترکردنی ناوخۆیی کاش.
پڕۆژەی scx_horoscope، سەرەڕای گاڵتەجاڕییەکەی، نموونەیەکی زیندووی ئەم توانایانەیە. کتێبخانەی astro بەکاردەهێنێت بۆ حیسابکردنی ماوە بە ماوە (هەر 60 چرکە جارێک) شوێنی هەسارەکان بەپێی زەوی و قۆناغەکانی مانگ. ئەم داتایانەی ئەستێرەناسی کاریگەری فیزیکی لەسەر CPU ناکەن بەڵکو وەک هاوکۆلکە کار دەکەن بۆ لۆژیکی ناوخۆیی پلانسازەکە. ئەرکەکان بەپێی پێوەرە بابەتییەکان پۆلێن دەکرێن وەک بوونی سیاسەتی کاتی ڕاستەقینە، شێوازەکانی بەئاگاهاتنەوە، یان ئەندامێتی cgroup. پاشان، چاکسازییەکان کە لە "پێشینەی ئەستێرەناسی" یەوە حیساب کراون، لەسەر کاتی بنچینەیی کوانتۆم جێبەجێ دەکرێن. بۆ نموونە، هەندێک بورجی دیاریکراو لەوانەیە هاوکۆلکەی زیادکەر یان کەمکەرەوە دابین بکەن، لە کاتێکدا گەڕانەوەی هەسارەیەک لەوانەیە سزای 50% کوانتۆم بۆ ئەرکەکانی ناو مەوداکەی بگرێتەوە. زۆر گرنگە کە تێبگەین ئەمە پێوەرێکی سیاسەتی ناوخۆییە کە تەنها کاریگەری لەسەر ماوەی کوانتۆم و ڕێکوپێکی هەڵبژاردن لە ڕیزەکانی ناردندا هەیە؛ ئەمە پێشینەکانی ناوک ناگۆڕێت (وەک nice، prio، یان SCHED_FIFO)، کە بە شێوەیەکی سەربەخۆ لەلایەن ناوکەوە بەڕێوەدەبرێن.
Nûçeyên Têkildar
- دروستی كارى Claude Code ئاشكرا كرا، گەشەپێدەران سەرسامن
- ڕەتکردنەوەی ئەفسانە: زانایان جەخت دەکەنەوە کە درەختەکان ناتوانن پێشبینی خۆرگیران بکەن
- سۆکسەکانی سپی ئامادەن بۆ دروستکردن لەسەر نیوەی دووەمی وەرزی ڕابردوو
- Lokonyen: "دەتوانین هیوای چاک بۆ پهنابهرانی تر بهێنین"
- Belo, Roos û Pipi Rekorên Nû li Kladno danîn
نووسەری scx_horoscope بە ڕاشکاوی ئاماژە بەوە دەکات کە پڕۆژەکە تەنها بۆ مەبەستی پەروەردەیی و کات بەسەربردنە. حیساباتی فەلەکی ڕاستەقینەن، و پلانسازەکە بە شێوەیەکی جێگیر لە ناوکدا بار دەکرێت و کار دەکات، بەڵام بەکارهێنانی ئەستێرەناسی بۆ تەرخانکردنی کاتی CPU لە ڕووی زانستییەوە پشتڕاست نەکراوەتەوە. ئەمە پیشاندانێکی بلیمەتانەیە بۆ تواناکانی تەلارسازی sched_ext، نەک ڕاسپاردەیەک بۆ بەکارهێنان لە بەرهەمهێناندا. scx_horoscope تەنها یەکێکە لە پڕۆژەکانی ناو سیستەمی ژینگەیی scx، کە تێیدا جێبەجێکردنەکانی تر، وەک scx_lavd (Latency-Aware Virtual Deadline)، کێشە پراکتیکییەکان چارەسەر دەکەن، بۆ نموونە، بە تەرکیزکردن لەسەر کارلێککردنی سیستەمەکانی دیسکتۆپ. بەم شێوەیە، پلانسازە "سەیری ئەستێرەکان" نەک تەنها زەردەخەنەی هێنا، بەڵکو بە شێوەیەکی ڕوونیش نیشانیدا کە چۆن نەرمی دروستکراو لەلایەن sched_ext ەوە دەتوانێت ئاسۆیەکی تەواو نوێ بۆ باشترکردن و بەڕێوەبردنی سەرچاوەکان لە ناوکی لینوکسدا بکاتەوە.