Lucas Zampieri da Red Hat publicou um planejador de tarefas humorístico scx_horoscope, que distribui recursos de CPU com base em princípios astrológicos, considerando os signos do zodíaco e a posição dos planetas no momento atual. O projeto é desenvolvido para fins educacionais e de entretenimento. O principal objetivo do scx_horoscope é ensinar e demonstrar o uso do mecanismo «sched_ext» (SCX), que permite o uso de eBPF para criar planejadores de CPU.
O planejador é totalmente funcional e bastante estável, mas não é recomendado para uso em produção, pois realmente considera o movimento retrógrado dos planetas e as fases da lua ao calcular a prioridade dos processos. Para determinar a posição dos planetas, utiliza-se o pacote astro.
As tarefas são classificadas levando em conta os signos do zodíaco e a vinculação aos corpos celestes, por exemplo, o sol está associado a processos críticos (PID 1, init), a lua com tarefas interativas (editores, shells, emuladores de terminal), mercúrio com tarefas de rede e I/O, vênus com tarefas de desktop, marte com aplicações de alto desempenho (compiladores, codificadores de vídeo), júpiter com processos que consomem muita memória (SGBD, navegadores) e saturno com processos de fundo do sistema e threads do núcleo.
Em caso de fatores negativos do ponto de vista astrológico da posição dos planetas calculada para o dia atual, é aplicada uma redução de 50% na prioridade da classe de tarefas associada ao planeta. Por exemplo, durante o mercúrio retrógrado, a prioridade de tarefas de rede e interativas é reduzida, no marte retrógrado, a prioridade de tarefas que consomem recursos é reduzida, e na vênus retrógrada, a prioridade de tarefas de desktop é reduzida.
A prioridade também é afetada pela fase atual da lua — durante a lua cheia, as tarefas interativas recebem 1.4 vezes mais tempo. Signos de fogo e ar aumentam a prioridade das tarefas que consomem CPU em 1.5 vezes, mas reduzem a prioridade de tarefas que consomem memória em 0.7 vezes. Signos de água reduzem a prioridade de tarefas que consomem CPU em 0.6 vezes, mas aumentam a prioridade de tarefas que consomem memória em 1.3 vezes.
Os planos futuros incluem a criação de um mapa notacional dos processos com base no tempo de sua criação, previsão do tempo de conclusão dos processos de acordo com o horóscopo e consideração da compatibilidade astrológica ao vincular processos aos núcleos CPU.
Fonte: opennet.ru
