Carregar apresentação
A apresentação está carregando. Por favor, espere
PublicouRosa Escobar Barata Alterado mais de 8 anos atrás
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)
Apresentações semelhantes
© 2024 SlidePlayer.com.br Inc.
All rights reserved.