Clustering em Casa
“O volume e a complexidade das informações com as quais trabalhamos cresce assustadoramente rápido e, com isso, também aumenta a necessidade de desenvolver formas mais eficientes de processar essas informações. Muitas vezes o tempo de processamento de uma tarefa pode ser crucial para determinar sua viabilidade.
Em ambientes onde um maior poder de processamento é requisito freqüente, uma alternativa que tem se mostrado interessante por sua viabilidade financeira é o uso de clusters: agregados de computadores pelos quais o processamento de uma tarefa é distribuído, podendo-se então processar uma quantidade enorme de dados em muito menos tempo. Ultimamente esse tipo de solução tem se tornado cada vez mais acessível e viável, tanto à área corporativa quanto ao público geek. Uma vez que há bastante documentação disponível, nada impede você de fazer aqueles gabinetes empoeirados e empilhados no sótão sentirem-se úteis novamente.
Um cluster pode ser usado para fazer balanceamento de carga, por exemplo, um servidor Web. Neste tipo de cluster, um computador recebe as requisições de processos pelo usuário (uma busca na web) e os passa para os demais, que processam e devolvem o resultado. Isso é interessante porque aumenta a escalabilidade do servidor (pra tornar ele mais poderoso é só colocar mais máquinas) e o torna mais barato: você pode usar várias máquinas fracas e baratas ao invés de um servidor caro.”
Enviado por Bruno Aguiar de Melo (brunoameloΘgmail·com) – referência (codeplex.com).
“Outro uso é o de tolerância a falhas, por exemplo, em um banco de dados. Um PC faz o trabalho enquanto outro o monitora e fica fazendo um backup constante dos dados para que, caso esse primeiro por algum motivo pare de funcionar, o segundo assuma automaticamente até que o problema seja sanado.
Um terceiro uso para um cluster, e talvez o mais interessante a longo prazo, é o cluster de processamento paralelo: o Compute Cluster. Neste tipo de cluster o processamento é dividido em diversas frentes e processado paralelamente em diversos processadores. Todos os computadores do cluster trabalham em diferentes tarefas para completar um trabalho muito grande, como um trabalho em equipe.
Funciona mais ou menos assim: com o processamento paralelo, os nodes – como são conhecidos os computadores que integram o cluster – podem, cada um, executar diferentes frentes de uma tarefa independentemente comunicando-se uns com os outros conforme os processos requisitem. Uma reprodução de um vídeo, por exemplo, não é uma tarefa paralelizável, e então não seria adequado tentar processá-la com o uso de um cluster, pois o overhead para comunicação dos nodes poderia consumir mais recursos que o metódo normal. Já a renderização desse mesmo vídeo pode demorar muito menos em um cluster do que em uma estação de trabalho comum.
Você não deve esperar uma serventia imediata para esse compute cluster caseiro. É preciso de um pouco de estudo em aplicações paralelizáveis para usar propriamente a infra-estrutura paralelizável: a forma de programar e as bibliotecas (MPI, por exemplo) diferem um pouco da programação linear a que estamos habituados mas, com a atual tendência irrevogável a computadores multi-core, vai se tornar obrigatória e mais cedo ou mais tarde você teria de aprender isso. Caso você não queira aprender sobre todo o potencial da programação paralela, mesmo como um usuário comum existem utilidades para um cluster em sua vida.
Para os fãs de Blender (modelagem 3D) é possível criar um conjunto de computadores que renderizem conjuntamente os projetos, reduzindo o tempo de espera pelo resultado. A solução, usando DrQueue e o Blender, é de fácil instalação e permite que qualquer “mortal” produza um centro de renderização poderoso. Para usuários mais experientes, o Scilab (computação numérica) também é uma opção de fácil clusterização. Usando PVM aliada a programação própria do programa, um matemático conseguiria reduzir o tempo de análise de dados. Para ambas as idéias, existem diversos tutoriais de como preparar e utilizar o ambiente.
Na plataforma Windows, a Microsoft disponibiliza o Windows Compute Cluster Server (http://www.micorsoft.com/windowsserver2003/ccs/) mas somente na arquitetura x64. Com Linux, temos uma boa opção com o Oscar Cluster (http://oscar.openclustergroup.org/), que é uma coleção de scripts de instalação de diversos aplicativos que compõe a estrutura do cluster e que facilita imensamente sua instalação em Linux.
Hoje em dia há muita gente trabalhando com isso e, portanto, há muita documentação e implementações diferentes. Isso facilita bastante o acesso à informação para quem deseja começar a fazer isso por conta própria. Assim, para montar um cluster de máquinas velhas, tudo que você vai precisar é de alguns CPUs, um CD de instalação do Linux e um HUB. Em caso de interesse, tem gente trabalhando com isso em http://www.codeplex.com/LMSU. Divirta-se =)
Links:
Tutorial DrQueue + Blender = http://www.midstorm.org/~jalexandre/blog/2007/05/14/drqueue-blender-render-farm-para-mortais/
Tutorial Scilab = http://ats.cs.ut.ee/u/kt/hw/scilabpvm/Por:
Bruno Melo, Raul Kist, Daniele Santos, Henrique Baggio, Ivo Trivella (Equipe LMS)”
Enviado por Bruno Aguiar de Melo (brunoameloΘgmail·com) – referência (codeplex.com).
Desculpem-me, mas não entendi a relação entre software livre ou linux e o link em anexo.
Abraços!
tentando entender
O cara só pode estar brincando de 1° de abril atrasado!
Onde estão os moderadores para apagar essa coisa?
Bom o texto ainda presta, apesar de a matéria ser spam moderno (pelo link), que chato!
Ah, tá… Vamos todos comprar umas licenças de Windows Compute Cluster Server para colocar em casa e fazer o que o linux faz de graça e muito melhor.
É uma pena ver um pessoal tão bom como da USP trabalhando para criar relatórios de supostas interoperabilidades dos produtos Microsoft com o linux (e mesmo assim somente o linux “abençoado” por ela, o da Novell) em vez de criar softwares livres para o benefício da comunidade e em especial o povo brasileiro que banca a USP e as universidades públicas. A Microsoft deve estar pagando muito bem essas universidades. Teve uma que até participou da votação do OOXML na ABNT votando a favor da Micros$oft !
Caros, boa noite (agora são 21h =p)
Tomarei a liberdade de conversar com aqueles que não usam pseudônimos para esconderem seus ideais e críticas.
@joutaro e Rodrigo: Realmente não ficou muito clara a relação. Aqui então a explicarei sucintamente: o link é sobre o projeto “Interop Router” desenvolvido na Unicamp. Este projeto fica hospedado dentro da “wiki” chamada LMSU (o link fornecido está errado, culpa minha, mas é só procurar o projeto “Interop Router” na página principal). O IR (sigla para Interop Router) é um software livre, opensource e de pesquisa acadêmica. O IR é uma camada transparente entre usuários e um conjunto de clusters, e estes podem ser baseados em Linux e Windows, atualmente. Nosso ideal é expandir o suporte a mais sistemas que ofereçam clusterização. Espero que esteja claro agora. Mais informações, por favor busquem no site (ou por email comigo).
http://www.codeplex.com/LMSU
veja o que aparece lá:
# Resumo Pt/En dos Projetos dos Innovation Centers (Pt/En Innovation Centers Project’s Summary) doc docx-
- .doc edocx que bonitinho
* Orientação dos Documentos do WCCS -
-usando Microsoft Visual C++ 2008 que bonitinho
* Soluções com OpenXML, Desenvolvimento de Games com XNA Game Studio
-Tudo usando produtos MS…
Fala serio Bruno tu e um dos fantoches da MS quanto tu ganha mandando esta noticias por ai….
Caros, boa noite (agora são 21h11 =p) – novamente
Tomarei a liberdade de conversar com aqueles que não usam pseudônimos para esconderem seus ideais e críticas.
@Rodrigo Z. Armond: Não, não é brincadeira de 1o. de Abril =p. Quero entender melhor seu ponto de vista. Minha pergunta é: porque apagar? O texto é mentiroso, de mal-gosto, ou algo do gênero? Ou é só porque ‘comenta-se’ durante o desenvolvimento do texto a empresa Microsoft?
Peço que não responda em tom de ataque ou zombaria, pois se coloco meu email a disposição é porque levo a sério o tempo que utilizo quando respondo os comentários. Aguardo! =)
Tudo bem Bruno se o que você me falou po e-mail for verdade , minhas criticas não tem fundamento mas mande arrumar o link Ok :p
(agora são 21h26 =p) – novamente e novamente =p
Respondendo ao comentários do tiaggs, segue conversa que tivemos por email:
tiaggs:
Por favor Não Mande mais Spam para o Br-linux…..Obrigado.
Eu:
Tiago, tudo bom?
Acredite, se estou respondendo tua mensagem é porque quero explicar claramente o motivo do artigo no br-linux.org.
Sobre o artigo, não gosto de saber que tu classifica o texto como spam. Claro que o tema está ligado a meu trabalho e no final do texto (somente no final) convido aos leitores a conhecerem meu trabalho.
Do início ao fim do artigo aborda-se o tema clustering e o que pode-se fazer “em casa” com a tecnologia. Durante o texto comenta-se as opções em clustering, e como opções entende-se aqueles que você pode usar (pagando ou não por elas). Se bem me lembro no texto, eu não digo USEM Microsoft. E nem diria isso. Veja que nos exemplos mostrados para uso dentro de casa só consta iniciativas opensource e baseadas no Linux.
Explicado o fato, peço explique mais detalhadamente o porque tanta avareza com o texto.
Ciente de compreensão, Agradeço os comentários.
tiaggs:
Bruno, o motivo é o link no final do artigo
http://www.codeplex.com/LMSU
veja o que aparece lá:
# Resumo Pt/En dos Projetos dos Innovation Centers (Pt/En Innovation Centers Project’s Summary) doc docx-
- .doc edocx que bonitinho
* Orientação dos Documentos do WCCS -
-usando Microsoft Visual C++ 2008 que bonitinho
* Soluções com OpenXML, Desenvolvimento de Games com XNA Game Studio
-Tudo usando produtos MS…
Fala serio Bruno tu e um dos fantoches da MS quanto tu ganha mandando esta noticias por ai….
Eu:
Tiago,
Peço que leia os comentários que acabei de enviar ao site. Resumindo, o link oferecido está errado, pois clustering é UM dos projetos desenvolvidos. Procure dentro do codeplex.com/LMSU o projeto Interop Router…
Quanto aos outros projetos e iniciativas, sinceramente não preocupam-me: meu negócio é alta-performance.
Sobre os arquivos em docx, doc, pdf e outros formatos, realmente é necessário pois solicitam para nós (toda a equipe) que os formatos sejam oferecidos. Quanto ao formato ODF, isto já é uma necessidade que entrará no próprio projeto de alta-performance (que hoje só tem documentos da Microsoft).
Por fim, apesar de sentir-me ofendido pelo “fantoche”, digo a ti que não recebo para escrever artigos. Simplismente o faço pois vejo como um bom exercício de leitura, estudo, redação e comunicação.
Quaisquer dúvidas adicionais, é só enviar.
Por favor, procure sobre o Interop Router (o projeto de alta-performance que falei, em que eu trabalho).
Abraços,
Eu: (completando)
ah, malz, esqueci de uma parte…
Sobre “tudo usar produtos da Microsoft” é porque realmente eu estou acostumado com os produtos deles. Mas, como disse, isso não classifica como melhor. Só estou acostumado. Garanto que ODF’s irão aparecer. Pode cobrar-me (em alguns dias, pois ando bem ocupado com alguns processos seletivos).
tiaggs:
Tudo bem Bruno se o que você me falou for verdade , minhas criticas não tem fundamento mas mande arrumar o link Ok :p
Eu:
Thiago, tá sussa.
Fique tranquilo. Verei se consigo mudar os links. Quanto aos documentos, é só esperar essa fase conturbada passar e cuidarei pessoalmente. Lá no site eu corrigi um ODP pra ODF, digitei errado.
Abraços,
Melo
[[Resumo geral: preciso corrigir os links =p]]]
Espero que amanhã sobre algum tempinho na agenda pra responder mais comentários. Abraços para todos.
Queria dizer que não tenho nada conta interoperabilidade entre sistemas Linux – Windows, sou contra somente a itraoperabilidade…em que so se ensina a colocar o Linux como gaiato, mas acho que este não foi o caso de mal entendido mesmo!
Bem colocado tiaggs. Peço que desconsiderem o comentário de nosso amigo entitulado “NoOOXML” primeiro porque não pe relacionado com o tema, e segundo porque é preconceituoso já que partiu de uma outra discussão (OpenXML + ISO + ODF + blábláblá…) para criticar a iniciativa do Interop Router. De nenhuma maneira entrarei no mérito dessa batalha (OpenXML + ISO + ODF + blábláblá…).
Abraços,
valeu tiaggs
Bruno,
Honestamente, ao ler a matéria e depois o link, não senti nenhuma ligação do nome à pessoa. Porém, após explicado pelo Bruno, as coisas normalizaram. Bom texto, Bruno, clustering é das coisas que me interessam. E aqui, se falar em Microsoft (ou no seu caso ter várias coisas no link emitido), a maioria das respostas serão baixo nível, como você memso viu. Teria mais material sobre cluster para servidores Web? Não achei a vasta documentação da qual você se referiu… :)
Tiaggs,
Já não passou da hora de você crescer um pouquinho? Para de ficar jogando lenha na fogueira, isso é troll…
Caramba, quanto comentário troll aqui. Se a Microsoft está bancando uma pesquisa que usa software livre (além de seus produtos) em alguma parte, isso não é bom? Ruim não é.
A Microsoft banca muita coisa legal em pesquisa aqui no país. Não tem motivo pra ser tão preconceituoso com algo só porque está escrito “Microsoft Innovation Center”.
O projeto em si parece ser interessante. Clusters com interoperabilidade são essenciais para aqueles famosos projetos de processamento distribuídos pela Internet (tipo aqueles para simular proteínas e ajudar a achar a cura de doenças). Aí é essencial que o cliente rode também em Windows, para conseguir o maior número possível de colaboradores.
Bem, a idéia em si é interessante e realmente de uma iniciativa poderosa, porém os links deveriam ser mais equilibrados né? :p E a questão do clustering é importante hoje e será muito mais no futuro, a curto prazo.
Depois aque migrei pro FreeBSD, percebi que a maioria dos defensores do dito software livre, na verdade, são anti-Microsoft, e não a primeira.
Acho que você está confundindo as coisas, timm. É normal que um usuário de Linux não morra de amores pela Microsoft, o que é bem diferente de ser ANTI-Microsoft. Os anti-Microsoft são os que mais fazem barulho, só isso.
Eu trabalho com Windows. Se eu pudesse, trocaria o Windows na hora. Como não posso, convivo na boa.
Falo por mim: não sou anti-entidade nenhuma do ecossistema da informática. Me posiciono sobre fatos, comportamentos, produtos, serviços, mas não estou em guerra contra ninguém. Entre os usuários e profissionais da área que eu conheço e que defendem o software livre, posso afirmar que a maioria também não é anti-coisa nenhuma neste contexto. E isto não impede ninguém de analisar criticamente e se posicionar sobre as ações da Microsoft, da Novell, da RIAA, do TPB, da FSF ou do Greenpeace.
Claro que há exceções, inclusive atuando de forma organizada. Creio que os anti-alguma coisa sejam mais barulhentos e sintam mais necessidade de expor este seu posicionamento sempre que há alguma oportunidade, então talvez seja mais correto concluir que é mais freqüente ver manifestações deste tipo, e não que eles sejam em si mais freqüentes como indivíduos.
E até vou além. Eis o item 13 do posicionamento do BR-Linux, publicado na página “Sobre o BR-Linux”: # O BR-Linux considera que é mais eficaz promover o software livre divulgando suas qualidades do que atacando empresas e produtos proprietários.
De uma forma ou de outra, não concordo com a caracterização.
João Marcus,
Não é diferente, cara. A maioria, infelizmente, é assim.
Queira a comunidade ou não, o Windows é bem maior do que o Linux em vários segmentos. Barulho não vai mudar isso. Eu uso Linux como desktop, ferramenta de trabalho e desenvolvimento, mas não me importo de usar Windows, assim como qualquer outro sistema operacional. Não estou nem aí pra Microsoft, interopero com o melhor do que a tecnologia pode me oferecer, sem dor nem preconceito.
O link que o autor postou, é superficial demais em vários aspectos. Por exemplo, fala de virtualização, mas eu não achei nada no site que falasse de VMware ou Xen, e nada muito contundente sobre Linux também. Sem deméritos: é como um site da Microsoft, pois fala bem do que lhes tange mas ignora o resto completamente. Essa é minha crítica. Agora, a dos rapazes aqui foi devido ao conteúdo do site ser justamente Microsoft, independente dele ser bom ou não.
Então, o que valeu a pena mesmo (na minha opinão, claro) foi o tópico aqui no BR-Linux!
É Augusto, o que você falou faz sentido.
Opa eu concordo com o Augusto, não adianta nada ser anti-Windows, mas o que deixa os linuxistas realmentes fulos são as coisas que a MS faz como ameaçar dizendo que o Linux infringe suas patentes somente por terrorismo, já que não vai fazer nada judicialmente…ou publicar em pagina inteira na revista Info dizendo: “Tal empresa troca Linux por Windows em busca de confiabilidade” , pô se querem fazer propaganda tudo bem mais não coloquem o nome Linux na jogada que fica tudo na paz.
Tiaggs,
Honestamente, você trabalha com Linux? Sabe qual a diferença que isso faz/fez pra quem trabalha com Linux? No meu caso e no dos meus amigos, desde a Get the Facts/04, nunca perdemos nenhum cliente por causa das campanhas difamatórias da Microsoft – e olha que na época eu era tão xiita quanto você. Se não existisse a Microsoft, a guerrilha seria a mesma, mas contra a IBM e seu OS/2. Esse é o mundo capitalista, Alice.
Sem falar que hoje a Microsoft recomenda SUSE e produtos da Novell para clientes que queiram/precisam de uma solução que o Windows e demais softwares Microsoft não o atendam, garantindo a interoperabilidade entre os dois sistemas. Se antes eles criticavam, hoje eles recomendam. Quem venceu?
Demorou pra eles perceberem, mas é mais fácil pra Microsoft “matar” o Linux empurrando ele pra frente e mostrando seus problemas em produção do que denegrindo sua imagem, pois na segunda, quem acaba se queimando é a própria Microsoft. E também, isso garante que ambos os sistemas coexistam onde lhes cabem.
“Fortune and Glory, kid.”
Ok Timm, mas como foi discutido o termo xiita e preconceituoso, e a mesma coisa que falar que todo muçulmano é terrorista, portanto tome cuidado blz.
Sem falar que hoje a Microsoft recomenda SUSE e produtos da Novell para clientes que queiram/precisam de uma solução que o Windows e demais softwares Microsoft não o atendam, garantindo a interoperabilidade entre os dois sistemas. Se antes eles criticavam, hoje eles recomendam. Quem venceu?
Quem perdeu foi a Novell, porque ela basicamente caiu na conversa fiada da Microsoft ao aceitar “acordos de patente”. Foi uma jogada inteligente da MS, pois a recomendação da Microsoft ao Novell SUSE possui uma mensagem escondida: “O Linux não é seguro quanto às patentes, mas nosso sistema é”.
O acordo MS/Novell Foi uma chantagem implícita que deu resultado. Não estou sendo anti-Microsoft, nem estou dizendo que a Microsoft é do capeta. A Microsoft é uma empresa, e uma empresa que tem como objetivo o lucro (e isso não é ruim!). A Microsoft não fez nada ilegal nesse caso. Burro é quem caiu na jogada.
O aumento da concorrência obrigou a Microsoft a melhorar a qualidade de alguns de seus produtos, especialmente na linha de servidores. Se antes as versões “Server” do Windows eram patéticas, hoje em dia melhoraram substancialmente.
Por outro lado, a concorrência com o Windows fez com que o Linux melhorasse substancialmente em outras áreas também. Todos ganham e cada um segue segundo suas preferências. Então eu digo: viva a concorrência!
Eu discordo, acho que a Novell perdeu em identidade, mas ganhou MUITO em dinheiro. Na verdade, continua ganhando, ela nunca faturou tanto quanto fatura depois do acordo.
Não entendo por que isso pode ser ruim… :P
Essa é uma jogada a longo prazo da Microsoft. Não perde dinheiro, a Novell tem a ilusão de ter ganho muita coisa, mas agora está comendo na mão da Microsoft. Todo o dinheiro pode secar bem rapidinho quando a Microsoft se cansar da Novell e decidir partir para a ignorância. Você aceitaria um acordo “camarada” para trabalhar em uma empresa com um salário maior, mas dependendo de outros (e comendo na não deles)para se manter lá? Eu não.
Eu aceitaria, até agora é tudo especulado.
Fala pessoal…
@timm:
tu quer saber mais a respeito de clusters de servidores web, mas o que exatamente? Ou algoritmos de balanceamento de carga, ou implementação, ou análise de performance, ou… o que?
Abraços…
PS: por curiosidade, busque pesquisas em universidades brasileiras no tema…
Bruno,
Implementação e análise de performance.
Bruno,
Mto interessante saber da iniciativa de montar um router open source, ainda que bastante estranha… olha só:
1- os arquivos não possuem nenhuma licença, ou seja: ninguém vai usar isto, pois não se sabe quais medidas serão tomadas pelo autor.
2- em daemon_linux.c existe um comentário com o texto “programa.exe XYZ FakeDelay HeadNodeSharedDir”. Não preciso dizer que está completamente fora de contexto, né?
Ainda assim, talvez o projeto esteja um pouco deslocado com relação à página, pois ele exige a utilização de ao menos 1 máquina Windows com MS Visual C++ para rodar o protótipo de submissão.
Boa sorte!
Túlio Magno
@timm: vou procurar algo mais específico para os pontos que você disse. Só peço uma pouco de paciência porque esta semana será ‘osso’…
@joutaro: Túlio,
1 – Esquecer de escrever qual é a licença, isso é coisa de newba =) … anotado para a pauta de reunião. (como só agora o projeto tem maior visibilidade, tu foi o primeiro a comentar este fato)
2 – este comentário errôneo veio do copy-and-paste da parte semelhante para Windows. Apesar de fora de contexto, o programa funciona. Finja que o “.exe” não está ali, e tudo bem. =)
3 – O projeto não está ‘deslocado’ com a descrição. Para o protóripo de submissão foi usado Microsoft Visual Basic 6 porque oferece uma prototipação mais rápida (na visão dos desenvolvedores). Como é um protótipo, escolhemos as ferramentas que permitissem o desenvolvimento em tempo recorde =p … mas, preocupados com o propósito do projeto, adianto que desde o último mês (março) estamos migrando as aplicações para python, aumentando a interoperabilidade e o potencial de aproveitamento pela comunidade. Muito trabalho a frente!
Espero que eu tenha explicado claramente os pontos!
Abraços…
@timm: tô devendo… abraços!