Essa semana o desenvolvedor Jeff Roberson completou a parte final de seu trabalho de melhoria do escalonador do FreeBSD, e locking avançado no kernel do FreeBSD, colocando o desenvolvimento em estado de pronto, para o FreeBSD 7.0-RELEASE. Roberson, como muito divulgado internacionalmente e aqui na FUG também conseguiu melhorias expressivas de performance no FreeBSD. O escalonador nunca teve um nome, foi chamado de NEW-ULE, de SCHED_ULE_X e nos últimos meses de trabalho Roberson se referia como SCHED_SMP. O fato é que o escalonador substituiu o SCHED_ULE por completo, e desse último agora só existe o nome. O novo SCHED_ULE tem uma história curiosa. Foi projetado na Universidade de Washigntown, em Seattle, pelo próprio Roberson, quando ainda era graduando. Algum tempo depois, começou a desenvolver e contribuir com o Projeto FreeBSD, iniciado pelo desenvolvedor Evan, e desde o início sua intenção era aplicar na prática todas as idéias sobre como um escalonador SMP deveria atuar. Anos depois dessa decisão acadêmica, Jeff completa esse (maior) ciclo, e adiciona ao FreeBSD o que tende a se tornar o escalonador padrão do sistema. Essa é uma história que nos remete às origens do BSD e do Unix como o conhecemos hoje, e que portanto, merece ficar documentada para futuras referências. Afinal, quanto, temos no Unix, e na própria Internet, que foi projetado no ambiente acadênico (notávelmente em Berkeley) e depois tornado realiade? Roberson não vem da Califórnia, vem da terra do grunge. Ouve mais Pearl Jam do que NOFX por exemplo (segundo ele mesmo). Mas o resto da história nos remete aos capítulos do livro Open Source Revolution sobre Berkeley, e as palestras de McKusick (sem mencionar a manhã do primeiro dia de treinamento da FreeBSD Brasil, rs rs). Roberson ilustra a conclusão da primeira (e principal) fase de seu trabalho, com o seguinte comentário: Nesse verão fará 5 anos que eu dei uma passada na casa do Evan' no distrito universitário de Seattle e o disse que escreveria um escalonador naquele sábado. Hoje eu efetivei o commit de meu trabalho, SCHED_SMP, com o nome de SCHED_ULE e sinto que finalmente, ele reflete minhas intenções e objetivos originais. A maior parte do tempo foi gasto para tornar o kernel isolado (locked) bem o suficiente para explorar todas as afinidades do ambiente. Contudo, experimentei um grande número de idéias e esquemas nesse processo. Por enquanto estou satisfeito, darei uma pequena pausa para trabalhar em outros projetos. E como todo bom orientador, passa a acompanhar agora o desenvolvimento de dois novos contribuidores, iniciativa do Summer of Code, um na área de locking do VFS, reescrevendo todas as primitivas dessa atividade, e o segundo projeto, o gerenciamento de memória compartilhada por processo em instâncias do kernel independentes por CPU.
|