Lucas Zampieri från Red Hat har publicerat en humoristisk uppgiftsplanerare scx_horoscope, som fördelar CPU-resurser baserat på astrologiska principer, med hänsyn till stjärntecken och planeternas läge för tillfället. Projektet utvecklas för utbildnings- och underhållningssyften. Huvudsyftet med scx_horoscope är att utbilda och demonstrera användningen av mekanismen "sched_ext" (SCX), vilket möjliggör användning av eBPF för att skapa CPU-planerare.
Planeraren är helt fungerande och ganska stabil, men rekommenderas inte för arbetsanvändning, eftersom den faktiskt tar hänsyn till retrograd rörelse av planeter och månens faser vid beräkning av processprioriteringar. För att exakt bestämma planeternas position används paketet astro.
Uppgifter klassificeras med hänsyn till stjärntecken och kopplingar till himlakroppar, till exempel kopplas solen till kritiskt viktiga processer (PID 1, init), månen till interaktiva uppgifter (redigerare, kommandorad, terminalemulatorer), merkur till nätverksuppgifter och in/utdata, venus till skrivbordsuppgifter, mars till högt belastade applikationer (kompilatorer, videoencoderare), jupiter till minnesintensiva processer (databaser, webbläsare), och saturnus till systembakgrundsprocesser och kärntrådar.
Vid negativa astrologiska påverkan från planeternas läge, beräknat för den aktuella dagen, tillämpas en prioriteringssänkning på 50 % för den relaterade klassens uppgifter. Till exempel, vid retrograd merkur sänks prioriteten för nätverks- och interaktiva uppgifter, vid retrograd mars — resurskrävande uppgifter, och vid retrograd venus — skrivbordsuppgifter.
Prioriteten påverkas också av den aktuella månfasen — vid fullmåne får interaktiva uppgifter 1,4 gånger mer tid. Eld- och luftstjärntecken ökar prioriteten för CPU-intensiva uppgifter med 1,5 gånger, men sänker prioriteten för minnesintensiva uppgifter med 0,7 gånger. Vattenstjärntecken minskar prioriteten för CPU-uppgifter med 0,6 gånger, men ökar prioriteten för minneskrävande uppgifter med 1,3 gånger.
Framtida planer inkluderar att skapa en notkarta för processerna baserat på tiden för deras skapande, förutsäga avslutningstiden för processerna utifrån horoskopet och ta hänsyn till astrologisk kompatibilitet vid koppling av processerna till CPU-kärnorna.
Källa: opennet.ru
