Office Computing Grade utilização de ambientes virtuais - Parte 1
Introdução
Eu trabalho em uma empresa onde corremos muitos trabalhos em lote processando milhões de registros de dados de cada dia e eu estive pensando recentemente sobre todas as máquinas que se sentam em torno de cada dia sem fazer nada durante várias horas. Não seria bom se pudéssemos usar essas máquinas para reforçar o poder de processamento dos nossos sistemas? Neste conjunto de artigos que eu vou olhar para os potenciais benefícios da contratação de um escritório de grade utilização de ambientes virtualizados.
Como PHP desenvolvedor vou usar as ferramentas que eu uso todos os dias, ou seja, Linux, MySQL , PHP, VirtualBox e Subversion (SVN). No entanto, eu espero que este guia irá se adaptar a outras linguagens e tecnologias tão bem.
A solução que fornecer serão muito vagamente baseado no tipo de processamento que seria necessário para alcançar, isto pode não ser verdade através de todo o artigo como eu vou mudar as coisas para a simplicidade, ou para produzir cenários de uso mais interessantes.
Estes ambientes virtualizados serão executados em máquinas com Windows pois é isso que a maioria dos escritórios executado. O tratamento que as máquinas de escritório não deve interferir com o pessoal usando essas máquinas, devem não necessitam de manutenção na máquina, e ser facilmente destacável para novas máquinas que estiverem disponíveis. Além disso, novas máquinas virtuais não deverá exigir qualquer configuração adicional, pois isso reduz a escalabilidade ea facilidade com que o sistema de rede pode ser prorrogado.
Por que implantar um Grid Computing Office?
Primeiramente, você pode estar pensando, por que não usar um recurso de computação em nuvem como plataforma EC2 da Amazon ? Bem, as razões podem ser várias, por exemplo:
- Você não vai confiar certos dados para um ambiente de computação em nuvem
- Você não pode colocar alguns dados em um ambiente de cloud computing, por motivos legais (por exemplo, dados de deixar o país), potencialmente, por razões legais, por exemplo, registros do SNS.
- Você quer manter as suas unidades de processamento de fechar e tem total controle sobre o hardware também
- Você não tem os fundos do projecto de execução de instâncias de nuvens
- Seu escritório não tem uma conexão com a internet e, portanto, que não é possível usar um recurso de nuvem
- Você não gosta de chuva, nuvens de chuva sugerem, portanto, a manter bem longe
Tenho certeza que a lista poderia continuar, mas eu acho que é suficiente por enquanto.
Vantagens de um Grid Computing Escritório
Bem, vamos fazer alguma matemática (e em grande estilo física verdade vamos fazer algumas suposições abrangentes). Imagine que você tem de processamento do servidor grande executando beefy 100 postos de trabalho por dia. Em seu escritório, você tem 50 máquinas que estão ociosos 16 horas por dia, cada uma dessas máquinas é de 10% tão poderoso quanto seu sever processamento robusto. (Todos os resultados aqui são arredondados para subestimar aumento de desempenho).
Assim, uma máquina de poder do * 10% * 2/3 do tempo = 0,067 ou seja, processamento desktop 1 no tempo ocioso pode processar 6 vagas de emprego completas por dia.
Se você agora escalar isto leva 15 desktops ociosos para processar trabalhos como muitos por dia como seu servidor de processamento principal faz.
Assim, em nosso escritório fingir de 50 máquinas, poderíamos aumentar nosso poder de processamento a partir de 1 servidor até 4 servidores de processamento pleno, ou poderíamos estar processando 400 empregos por dia em vez de 100.
Aviso prévio, por nenhum investimento em hardware novo a sua empresa acaba de ampliar sua capacidade de processamento em lote 4 vezes! Potencialmente você vai aumentar o seu consumo de energia, mas da maioria dos ambientes de escritório que estiveram em máquinas são geralmente deixadas durante a noite de qualquer maneira, assim que você poderia ver isso como uma iniciativa verde.
Outras vantagens também significa que o investimento em novas (ou atualizado) servidores de processamento pode ser adiada se as máquinas de seu escritório são suficientes e que, como você melhorar o poder de suas máquinas de escritório sua grade escritório torna-se mais poderosa automaticamente.
Tecnologias
O que você precisa? (Ou mais corretamente o que eu uso):
- Ociosos de máquinas para escritório (no meu caso um livre de idade janelas laptop XP)
- VirtualBox (ou outro software de virtualização de cliente)
- Uma máquina virtual com PHP, mySQL running executando um corte OS, eu estou chamando esses servidores meus Limp :)
- Trabalhos para serem executados
- Servidor Job (pode ser uma outra máquina virtual em algum lugar)
Empregos típicos
Os tipos de empregos que este sistema é projetado para executar é o seguinte:
- Sistema recebe uma lista de dados sobre a qual precisamos para corresponder e retornar resultados
- Correspondência envolve verificar / pesquisar várias fontes (bastante estática) de dados
- Resultados das fontes de dados podem requerer uma validação adicional, fusão, verificação de fontes de dados adicionais em resposta aos resultados
- Os dados são devolvidos com registros correspondentes devidamente validados e processados
- Cada registro dentro de um trabalho é independente do resto
Então, basicamente, nós estamos olhando para executar trabalhos que requerem uma mistura de pesquisas do banco de dados e algum processamento de números, um cenário bastante comum em um ambiente de negócios.
Soluções de redes não só são vantajosos para processar os trabalhos deste tipo. Basicamente, qualquer processo que pode ser dividida em unidades independentes podem ser executados em paralelo. Veja esta wikipedia exemplos e mais informações: Grid Computing , mas um par de exemplos famosos são Seti @ Home e BIONC . Há quadros para a execução de redes de computação, e estes valem bem a pena olhar em.
O que vamos conseguir?
Ao final desses artigos, espero mostrar que a implantação de uma grade de escritório não precisa estar consumindo muito caros ou de tempo. Estou indo para discutir:
- Configurando o sistema de controle de trabalho, configuração de trabalho
- Criando uma máquina de processamento virtual apropriada
- Como configurar o sistema em uma máquina Windows
- Garantir que você está usando o código mais recente e os dados
- Implantação e avaliação do desempenho
- Olhando para o futuro
Eu estarei de construção (ok eu construí, então escrevi isso) uma aplicação de exemplo para testar os conceitos em uma máquina local usando o windows XP e minha máquina GridMachine 'virtual. Meu servidor de controle de trabalho será a minha máquina principal, que corre o Fedora 11 .
Isto é de modo algum significado para demonstrar um sistema totalmente funcional robusto, o seu significado mais de uma demonstração e discussão mostrando que estas coisas pode ser conseguida num espaço de tempo razoavelmente curto e com custos relativamente reduzidos. Sinta-se livre para me enviar quaisquer comentários, correções ou melhorias e eu vou fazer o meu melhor para manter este artigo atualizado para corresponder.
Próxima vez
Na parte 2 eu vou começar por olhar para o sistema de controle de trabalho, e olhar em como os trabalhos devem ser configurados para atingir maior quantidade de processamento, garantindo que cada trabalho é processado, sem falhar.

















































