A apresentação está carregando. Por favor, espere

A apresentação está carregando. Por favor, espere

Distributed Data-Parallel Computing Using a High-Level Programming Language TL1 Programação com Objetos Distribuídos Claiton Luiz Vieira Lisboa.

Apresentações semelhantes


Apresentação em tema: "Distributed Data-Parallel Computing Using a High-Level Programming Language TL1 Programação com Objetos Distribuídos Claiton Luiz Vieira Lisboa."— Transcrição da apresentação:

1 Distributed Data-Parallel Computing Using a High-Level Programming Language TL1 Programação com Objetos Distribuídos Claiton Luiz Vieira Lisboa

2 Tema Conceito, modelo, mecanismo de programação Projetar programação de computação paralela de dados em alto nível usando com Dryad e DryadLINQ Dryad – Mecanismo de programação DryadLINQ – Componente do Dryad Discussão de “tradeoffs” e resultados

3 Motivação Programação para a computação paralela de dados em larga escala (MapReduce) para Microsoft Tipo de programação simples e de alto nível SQL é uma linguagem muito simples, mas não suporta tipos complexos ou estruturas de dados, bibliotecas, módulos e loops

4 Motivação Linguagens de alto nível (C++, Java ou C#) tem sido usadas para criação de novos mecanismos LINQ – vem embarcada no.Net (C#, VB), com queries SQL, permite a criação de bibliotecas, criação de módulos, entre outros A partir do que já se tem, oferecer algo novo

5 Objetivos Dar ao programador a ilusão de programar para um simples computador, e deixar para o sistema as complexidade que surgem com o escalonamento, distribuição e tolerância a falhas Criar um novo conceito de programação de computação paralela de dados em larga escala

6 LINQ Language-Integrated Query

7 Dryad

8 JM(Job Manager): Controle; Comunicação dos jobs; agendamento dos jobs NS (Name Server): Nomes e localização de cada computador D (Deamon): Aplicação em cada computador (cria os processos solicitados pelo JM) V (Vertices): Programas (código fonte) Canais: Comunicação através de arquivos, pipes TCP ou memória compartilhada

9 DryadLINQ

10 Objetos de dados C# e LINQ tornam-se arquivos distribuídos As Queries LINQ tornam-se um job Dryad distribuído Métodos C# tornam-se código executando nos vértices de um job Dryad

11 LINQ e DryadLINQ

12 1 e 2: A aplicação do usuário executa; passa o controle para a DryadLINQ 3: Compilação da query LINQ e criação do EPG 4: Decomposição da query e criação do código para os vértices 5: Criação do Job de acordo com o EPG e escalonamento 6: Controle passa para o Dryad (execução) 7 e 8: Obtenção do resultado e devolução do controle para o DryadLINQ 9: Retorna resultado e controle para a aplicação

13 Resultados Não suporta transações É lento para queries pequenas No geral, DryadLINQ, não oferece todas as técnicas de otimização que as bases de dados oferecem Mais eficiente que MapReduce/Hadoop para algumas aplicações

14 Conclusões Dryad é mais expressiva e flexível que outros mecanismos Integração de computação paralela de dados com linguagem de programação de alto nível – Aprofundar estudos Dryad e DryadLINQ estão sendo usados em várias aplicações – Queries relacionais – Mineração de log em larga escala – Análise de grafos web – Etc

15 Referências M. Isard, Y. Yu. Distributed Data-Parallel Computing Using a High-Level Programming Language. SIGMOD '09 Proceedings of the 35th SIGMOD international conference on Management of data Pages 987-994. http://research.microsoft.com/en- us/projects/dryad/default.aspx (último acesso em 28/05/2012) http://research.microsoft.com/en- us/projects/dryadlinq/ (último acesso em 28/05/2012)


Carregar ppt "Distributed Data-Parallel Computing Using a High-Level Programming Language TL1 Programação com Objetos Distribuídos Claiton Luiz Vieira Lisboa."

Apresentações semelhantes


Anúncios Google