Pangea

A primeira rede social sobre arquitetura de software do Brasil

Pessoal,

Estou participando de um mega projeto, que arrisco dizer, ser um dos maiores e mais complexos projetos em andamento no Brasil atualmente. Para não deixá-los curiosos, prometo negociar a sua divulgação incluindo a sua arquitetura assim que me for autorizado.

Mas o ponto principal é que em algumas partes da arquitetura utilizaremos grid computing para realização de cálculos bem complexos, para isso estamos quase com a certeza da utilização do framework Rio.

Alguém conhece ou já utilizou este framework? Alguma outra sugestão "barata" para ser utilizada neste contexto?

Tags: grid, java

As respostas para este tópico estão encerradas.

Respostas a este tópico

Um excelente solução para grid computing e agentes distribuidos é o Jini. Sem dúvida, uma das melhores idéias sobre objetos distribuídos já feita até hoje no âmbito de Java, mas sem metade das burocracias inerentes a isso como interfaces, localização e naming. E muito simples de usar ;-)

Abraços,

Ricardo Ferreira
Caro Braulio,
É muito difícil determinar o melhor framework sem realmente entender os requisitos. Gosto muito do Jini e acompanho a evolução do Rio desde que ele surgiu!. Ele está muito interessante.. tão interessante que ele é base de um produto excelente chamado Gigaspaces que seria talvez uma ótima opção no seu caso (mas é pago). Sem querer abordar o problema de que talvez o Jini não seja a melhor tecnologia no seu caso, existem frameworks e infra-estrutura para Grade que são bem mais maduros:

1) JPPF: (www.jppf.org) JPPF is an open source Grid Computing platform written in Java that makes it easy to run applications in parallel, and speed up their execution by orders of magnitude. Write once, deploy once, execute everywhere!

2) GridGain: (www.gridgain.org) GridGain is developed in Java and for Java developers and it is a natural extension of the latest Java development methodologies including annotations, integration of Spring and AOP-based grid-enabling.

3) MyGrid: (mygrid.sourceforge.net) MyGrid is an Open Source grid and grid middleware. MyGrid is designed with the modern concepts in mind, simple naming and transparent class hierarchy. MyGrid can distribute jobs to other grids, including comercial, such as DataSynapse, or Globus via gateway plugins. MyGrid wants to become to grid computing what MySQL became for proprietary SQL databases: a viable open source alternative.

4) ProActive: (http://proactive.inria.fr/) ProActive Parallel Suite is an Open Source middleware (OW2 consortium) for parallel, distributed, multi-core computing. ProActive tools simplify the programming and execution of parallel applications on: Multi-core processors, Distributed Local Area Network (LAN), Clusters and Data Center Servers, GRIDs, and on OS such as Linux, Windows, Mac.

Esses 4 ai na minha opinião são os melhores dos melhores para Grid de processamento. Se fosse grid de dados, (http://en.wikipedia.org/wiki/Data_grid) ai teriam outras opções. É legal também estar atento aos padrões como por exemplo o uso do DRMAA (http://en.wikipedia.org/wiki/DRMAA) que é uma API para controle de execução de Jobs. Se o seu processamento for "moer" arquivos independentemente da origem deles, você ainda pode utilizar o hadoop (hadoop.apache.org) que é uma implementação do Map Reduce distribuido. Você consegue fazer os jobs dele rodarem sobre o Sun Grid Engine (combinação perfeita).

Eu não me arriscaria com Rio apenas porque ele não serve pro trabalho. O Rio é pra uma outra categoria de sistemas distribuídos e não para grade computacioal. Grande abraço.
Leonardo,

Concordo que não há requisitos fomentados que possam sustentar uma decisão arquitetural como essa, mas, focando em mecanismos de desenho, Jini é uma ótima sugestão para grid computing.

Você não precisa ter em mãos requisitos funcionais e não funcionais para propor uma arquitetura de software. Você PRECISA deles para tornar sua arquitetura de software exequível. Abordagens como o ATAM por exemplo sugerem a avaliação da arquitetura dirigida aos cenários arquiteturais, mas ela já deverá ter nascido através de no mínimo, a análise do domínio da solução e dos mecanismos de análise e desenho.

Neste caso, a atividade em si para o momento, é identificar se o mecanismo de implementação sugerido (Seja Jini ou qualquer outra coisa) mapeia corretamente algum mecanismo de desenho elicitado a partir de um conjunto de cenários ou casos de uso arquitetônicamente significativos. Existem abordagens pragmáticas sobre arquitetura de software que regem fluxos de trabalho para descoberta e execução de arquiteturas, não é simplesmente feeling.

http://www.sei.cmu.edu/architecture/definitions.html

Abraços,

RF
Valeu pessoal pelas respostas.
Fizemos as avaliações e definimos na utilização do GridGain, pela maturidade e por causa da integração com o Spring que suporta nossos serviços.

Somente para completar, gostei muito do "desenho" do JINI também e foi uma das soluções avaliadas.

Mais uma vez valeu pelas respostas!

Abraços e obrigado!

consani

RSS

Fórum

Marco Mendes

Você acredita em arquiteturas de software evolutivas? 10 respostas 

Iniciado por Marco Mendes. Última resposta de David Lojudice Sobrinho 28 Jul.

Rogério Rocha

Curso de Pós Graduação em Engenharia de Software Centrada em Métodos Ágeis 1 resposta 

Iniciado por Rogério Rocha. Última resposta de Adriano Tavares 23 Jul.

Jayr motta

Formação de Arquitetos 3 respostas 

Iniciado por Jayr motta. Última resposta de Adriano Tavares 23 Jul.

Giovani Salvador

revisão de Arquitetura

Iniciado por Giovani Salvador 23 Jul.

Virtual-Coacher

CBAP® Prep - Um curso em um livro

Iniciado por Virtual-Coacher 3 Jul.

Sobre

Adriano Tavares Adriano Tavares
&

Marco Mendes

Marco Mendes

criaram esta rede social.

Badge

Carregando...

Parcerias

ARKHI

© 2010   Criado por Adriano Tavares e Marco Mendes

Badges  |  Relatar um incidente  |  Termos de serviço