Meio Bit » Baú » Software » LatencyTop: Visualizador de latência da Intel

LatencyTop: Visualizador de latência da Intel

20/01/2008 às 6:41

A Intel é uma empresa de visão e não cria só hardware. Depois do ICC, compilador multi-plataforma que gera binários otimizados para processadores dela mesma, foi anunciado o desenvolvimento do LatencyTop. Assim como o comando top exibe o status dos processos sendo executados em tempo real (e o htop permite vários recursos legais em cima disso), o comando latencytop deverá acompanhar as próximas safras de distribuições Linux. Não as 2008, 2009, mas talvez as de 2010, quem sabe?

É uma ferramenta para que desenvolvedores identifiquem onde está havendo latência e o que está gerando isso no processo, para que seu código possa ser modificado a tempo, antes que o software final fique ainda mais beberrão.

Ainda está em versão 0.1 e pode ser utilizada por desenvolvedores de software em vários níveis: tanto por desenvolvedores do próprio kernel quanto por desenvolvedores de aplicações para o user-space. Seu foco são casos onde as aplicações estão rodando e de repente precisam de algum recurso que está indisponível, ficando na fila de escalonamento até o kernel bloqueá-lo, pois ele não tem como executar. Você prestou a atenção nas aulas de sistemas operacionais e entendeu que o LatencyTop serve para o programador identificar o que pode gerar deadlock de starvation em seu código? Eu também.

Porém...

Conforme anunciado, o LatencyTop ainda está em versão 0.1, e graças às sua funcionalidades, necessita rodar em nível mais baixo. Para instalá-lo, é necessário adicionar três patches ao seu Kernel. Ei, você, usuário Ubuntu! É, você mesmo! Sabe fazer isso? Que bom, pois eu também sei, mas não consegui.

Baixei os três patches e o código de fonte do binário latencytop para tentar aplicar numa das minhas cobaias: o querido Slackware 12 (virtualizado) com kernel 2.6.21.5-smp. Zerei as configurações do kernel com os comandos make mrproper/make distclean e tentei aplicar os patches que são fornecidos no site do projeto. Porém, já no primeiro patch, ele dá erro ao não encontrar o header sched_fair.c. Não sei o motivo, mas o header não vem por padrão nos fontes do kernel do Slackware, do Fedora nem do Arch. Baixei o maldito header, joguei no diretório e os arquivos patchearam sem erros. Pensei: agora funciona! Reconfigurei, rodei o make bzImage e deu erro justamente na criação do fork.o, objeto criador de processos do sistema operacional...

Não sou programador para ficar brincando no código de fonte do kernel, isso quem faz é a comunidade (?), e sem idéias do que deveria fazer, deixei pra lá...

E o que podemos esperar?

Não sei. Quando o LatencyTop for adicionado diretamente ao kernel, acredito que ele poderá realmente executar o que propõe, mas devido à sua implementação ser justamente no núcleo do sistema, além de ser um projeto ainda inicial (0.1), vai demorar um pouco até isso acontecer.

Pois é, não se pode ganhar todas. =)

relacionados


Comentários