Compile e empacote o kernel com processadores ociosos em sua rede utilizando distcc, ccache e kernel-package no Debian

Se você resolve compilar e empacotar o kernel em uma máquina isoladamente, o tempo para a execução e finalização da tarefa tende ao infinito. Que tal usar os processadores de sua rede para agilizar o processo?! Neste artigo você saberá como fazer isso.

[ Hits: 23.340 ]

Por: Marco Sinhoreli em 20/04/2006


Conclusão



No momento que o make-kpkg envia para o processador uma requisição, ele consulta a variável CC e entrega pra ela a operação. Como a variável CC está declarada como sendo o ccache, o ccache verifica em ~/.ccache se a tarefa havia sido executado em outras vezes, caso positivo ele reentrega para o make-kpkg a tarefa já executada.

Caso a tarefa não tenha sido executada, o ccache envia a tarefa para o distcc, que consulta quais processadores estão ociosos e faz o envio para um deles pela rede através de um socket TCP e ao receber o envia para o gcc, que o compila no processador e devolve para o distcc do nó central, que o devolve para o ccache, que o armazena e entrega para o make-kpkg. Todo este processo é dinâmico e transparente e efetivamente melhora e muito a agilidade da tarefa.

Página anterior    

Páginas do artigo
   1. Descrição das aplicações utilizadas
   2. Tudo que você precisa no nó central
   3. Tudo que você precisa nos nós escravos
   4. Usando o compile cluster
   5. Conclusão
Outros artigos deste autor

Debmirror: Criando um repositório Debian na rede local

Leitura recomendada

Instalando o kernel 2.6.13 pré-compilado no Slackware 10.2

Instalando kernel otimizado do Ubuntu no Asus eeepc

NPTL, Exec-Shield e outros palavrões que fazem seus programas crasharem

Compilando o kernel no Slackware com pacotes pré-compilados

Layer7 e compilação do kernel mole-mole com Conectiva 10

  
Comentários
[1] Comentário enviado por removido em 21/04/2006 - 11:54h

Ótimo artigo, vou testar em breve.
Só achei que o artigo foca a instalação usando apt. Poderia ser dado exemplos de instação em Fedora com uso de YUM, e até mesmo compilação manual via fonte.
Além do mais, faltou citar que as portas envolvidas no trabalho devem ser liberadas no firewall.
Abraços e parabéns :)

[2] Comentário enviado por msinhore em 21/04/2006 - 13:46h

Olá Otavio,

Eu trabalho somente com Debian e por esse motivo não citei como configurar em outras distribuições. Acredito que os passos para configuração dos aplicatívos deva ser a mesma.
Com relação ao firewall, ele não era objeto do artigo e por esse motivo não citei sua configuração.

Abraços e sucesso.

[3] Comentário enviado por psabs em 21/04/2006 - 20:04h

Olá,

Antes de mais nada , parabéns pelo artigo.

Vc saberia se o distcc e o ccache funcionariam para compilar outros projetos tal como OpenOffice, gnome etc... ? Ou ele apenas serve pra compilar kernel ?

[]

[4] Comentário enviado por removido em 21/04/2006 - 20:31h

O homem enlouqueceu!!!!!!!!!!!...........
Realmente, não faltava mais nada...
O que esse tal de linux não é capaz, hein???
;-P

[5] Comentário enviado por thelinux em 24/04/2006 - 08:46h

Ao Marco Sinhoreli - Parabéns pelo ótimo tutorial.

Ao otavio - cara, isto aqui não é curso. O cara fez um excelente tutorial.

[6] Comentário enviado por msinhore em 24/04/2006 - 10:33h

Olá psabs,

Sem nenhuma restrição para compilar outros códigos. Lembre-se de declarar e exportar as mesmas variaveis antes de chamar o gcc.

Abraços

[7] Comentário enviado por removido em 24/04/2006 - 17:29h

thelinux, não me leve a mal. Realmente é um ótimo artigo.
Apenas expressei uma ideia complementar ao artigo.
Afinal, esse espaço é exatamente para isso, para discução de ideias que possam não apenas elogiar o artigo, mas agregar mais informação :)
Abraços

[8] Comentário enviado por thelinux em 24/04/2006 - 17:43h

Tranquilo otavio. Grande abraço. Bola para frente.

[9] Comentário enviado por israel_miranda em 13/12/2007 - 15:36h

UAU!!!
Cara, eu sei da existência do projeto do bewolf para computação distribuida, mas não fazia idéia que havia um software assim para GCC!!!

Muito bom o artigo, meus parabéns!!!


Contribuir com comentário




Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts