Dapper (Distribuída e Paralela Programa de Execução Runtime) é uma ferramenta para domar as complexidades de desenvolvimento para a nuvem em grande escala e computação em grade, permitindo ao usuário criar cálculos distribuídos a partir dos fundamentos - o código que irá EXECUT
Por Dapper?
Vivemos em tempos interessantes, onde avanços nas ciências cada vez mais dependem da disponibilidade crescente e abundância de comoditizados, recursos computacionais em rede. Com a ajuda da nuvem ou grade, os cálculos que de outra forma seria executado por dia numa única máquina de mesa agora distribuída e / ou formulações paralelas que podem produzir por meio de, numa questão de horas, a entrada define dez vezes maior em máquinas de cem . Tão atraente quanto a idéia de força nos números pode ser, tendo apenas de hardware físico não é suficiente - um programador tem de elaborar o cálculo real que será executado nele. Consequentemente, o alto valor dado ao esforço humano e criatividade necessita de um ambiente de programação que permite e até incentiva, expressão sucinta das computações distribuídas, e ainda, ao mesmo tempo, não sacrifique generalidade.
Dapper, em pé de Distribuída e Paralela Execução do Programa Runtime, é uma dessas ferramentas para colmatar as especificações de alto nível o cientista / programador que capturam a essência de um programa, com os mecanismos de baixo nível que refletem as realidades desagradáveis da computação distribuída e paralela. No âmbito da sua abordagem orientada para o fluxo de dados, Dapper permite aos usuários codificar localmente em Java e executar globalmente na nuvem ou grade. O utilizador escreve primeiro codelets, ou pequenos trechos de código que executam tarefas simples e não fazer, em si mesmos, constituem um programa completo. Em seguida, ele ou ela especifica como essas codelets, vistos como vértices no fluxo de dados, transmissão de dados para o outro através de relações de ponta. O fluxo de dados acíclico dirigido gráfico resultante é um completo programa interpretável pelo servidor Dapper, que, ao ser contactado por clientes trabalhador de longa duração, podem coordenar a execução distribuída.
Sob o modelo de Dapper, o usuário não precisa mais se preocupar com aspectos tradicionalmente ad-hoc de gerenciamento de nuvem ou de grade, que incluem manipulação de interconexões de dados e dependências, recuperação de erros, a distribuição de código, e iniciar os trabalhos. Talvez mais importante, ele fornece todo um conjunto de ferramentas e tempo de execução baseado em Java para enquadrar quase todas as computações distribuídas de granulação grossa em um formato consistente que permite a implementação rápida e fácil transporte para outros pesquisadores.
Características :
- Um sistema de distribuição de código que permite que o servidor Dapper para transmitir o código do programa requisito através da rede e tem clientes carregá-lo dinamicamente. A consequência disto é que, salvo executáveis externos, alterações de programas Dapper só precisa acontecer no lado do servidor.
- Um método de incorporação subfluxo poderosa para modificar dinamicamente o gráfico de fluxo de dados em tempo de execução.
- A runtime em baunilha Java, uma linguagem que muitos são, sem dúvida familiarizado. Além da exigência de uma JVM recente e, opcionalmente, Graphviz Dot, Dapper é auto-suficiente.
- Um protocolo de controle robusto. O servidor Dapper espera qualquer número de clientes a falhar, a qualquer momento, e tem políticas de re-execução e tempo limite personalizáveis para lidar. Por conseguinte, pode-se iniciar e parar (de longa duração) clientes sem medo de colocar todo o sistema em um estado inconsistente.
- semântica flexíveis que permitem a transferência de dados através de arquivos ou TCP córregos.
- A interoperabilidade com firewalls. Desde sua nuvem ou grid local provavelmente fica atrás de um firewall, nós planejamos semântica especial para streaming de transferências de dados.
- termos de licenciamento liberais. Dapper é liberado sob a LGPL para evitar a contaminação de sua base de código.
- Operação como um aplicativo incorporado. Um manual do usuário descreve a API de programação que os usuários podem seguir para executar o servidor Dapper dentro de um aplicativo como o Apache Tomcat.
- Operação como uma interface de usuário autônomo. Com ele, pode-se executar off-the-shelf demos e aprender conceitos fundamentais de exemplos visuais. Ao seguir um conjunto mínimo de convenções, pode-se, em seguida, junte os próprios programas Dapper como arquivos de execução e, em seguida, obter o status de fluxo de dados em tempo real e feedback de depuração.
O que é novo nesta versão:
- O método ServerLogic # closeIdleClients foi alterado para melhor corresponder ao noção intuitiva do usuário de ociosidade.
- A opção do usuário para especificar o hostname do servidor foi adicionada.
- internos de rede foram reformulados para utilizar as novas APIs.
- O processo de compilação foi atualizado para suportar de 32 e 64 bits do Windows cross-compilação.
- O garboso. * Hierarquia foi renomeado para org.dapper. *.
O que é novo na versão 0.96:
- Adicionado a abstração FlowListener, para que os usuários podem agora metadados associado com fluxos de dados e seus nós.
- Corrigido um vazamento de memória no servidor Dapper.
- Adicionado marcas apiviz Doclet para que as relações entre as classes pode ser melhor visualizado.
- Adicionado apiviz para visualização de dependências em Javadoc.
- Corrigido um pequeno bug no executável BuildAndTest.
- O processo de compilação está agora totalmente integrado com o Apache Ivy. A distribuição fonte agora mais navios com a SST. Em vez disso, as dependências são baixados automaticamente; na sua falta, um pode baixar o código fonte SST, compilá-lo e publicar em um repositório local. Veja o manual do usuário para obter mais detalhes.
- processo de construção Atualizado e etapas redundantes removidas.
- Normalizado de direitos autorais e de licença de avisos em todos os arquivos.
- Java 1.6 agora é necessário para construir e executar.
- Alterar processo para usar o Apache Ivy, o que significa que as dependências externas já não têm de ser embalado com a distribuição principal SST compilação.
- Adicionado alvo 'doxygen' para construir processo, para que componentes nativos podem ser documentados.
O que é novo na versão 0.95:
- Uma infra-estrutura de registro novo, flexível foi adicionado
- Initializers para estruturas madeireiras foram movidos para fora das classes de servidor e de cliente e para os motoristas.
- máquinas de estados finitos foram atualizados para a nova API orientado a anotação.
- O código fonte foi normalizado para ter oito espaços em vez de tabulações.
O que é novo na versão 0.94:
- opções de linha de comando para o cliente eo servidor estão agora disponíveis, cortesia da biblioteca Apache Commons CLI.
- O ciclo de vida do processo do cliente é agora definida como termina quando uma desconexão do servidor acontece.
- Stem funcionalidade de geração deixou de ser um método membro de OutputHandleResource de ser um método estático de CodeletUtilities.
- A classe FlowNodeFactory é usada em favor de instanciação direta de FlowNodes.
- Construção de componentes nativos migrou para o CMake.
- Logging migrou para SLF4J.
- A README foi adicionado a todas as distribuições.
O que é novo na versão 0.93:.
- melhorou muito exemplos pedagógicos
- Manual Atualizado.
- Adicionado rotinas de conveniência em dapper.codelet.CodeletUtilities para consultar recurso.
- Gerador Removido, FileEdge, FileBatchGenerator, FileBatchEdge, FileResource, e FileBatchResource. Eles foram substituídos com o conceito de alças de dados abstratos na forma de HandleEdge, InputHandleResource, OutputHandleResource. Consulte o manual para alterações.
- dapper.codelet.Resource Atualizado para exportar fluxos de entrada e saída.
Requisitos :
- Java 2 Standard Edition Runtime Environment
Comentários não encontrado