ine 5645 – programação paralela e distribuída

Download INE 5645 – Programação Paralela e Distribuída

Post on 23-Feb-2016

24 views

Category:

Documents

0 download

Embed Size (px)

DESCRIPTION

INE 5645 Programao Paralela e Distribuda. Prof. Joo Bosco M. Sobral INE - UFSC bosco@inf.ufsc.br Agosto de 2013. Contedo Programtico da Disciplina. Unidade 1. Introduo : Plano de Ensino e Histrico, - PowerPoint PPT Presentation

TRANSCRIPT

A Novel Approach of Prioritizing Use Case Scenarios (Uma nova abordagem para priorizao de cenrios de caso de uso)

INE 5645 Programao Paralelae Distribuda

Prof. Joo Bosco M. SobralINE - UFSCbosco@inf.ufsc.br

Agosto de 2014

Contedo Programtico da DisciplinaUnidade 1. Introduo : Plano de Ensino e Histrico,

Unidade 2. Programao Concorrente (Pseudo-Paralela) - Processos e Threads Unidade 3. Programao Concorrente: Mecanismos de Sicronizao - Monitor - Locks - Semforos

Unidade 4. Programao Distribuda: Comunicao e Invocao - Datagram Sockets - TPC Stream Sockets - Multicast Socket

Unidade 5. Programao Distribuda: - Eventos e Notificaes - Remote Method Invocation ( RMI )Atividades da Disciplina

RecursosSoftwaresNetBeans ou Eclipse, Java JDK

Pgina da disciplinahttp://www.inf.ufsc.br/~bosco/http://www.inf.ufsc.br/~lau.lung/INE5645/

Moodle (para divulgao e postagem de tarefas)UNIDADE 1-1INTRODUO PROGRAMAO CONCORRENTE E DISTRIBUDATpicosHistriaProgramao ConcorrenteProgramao Paralela e DistribudaVantagens e DificuldadesPlataformas de ExecuoSuporte Computacional

HistricoO campo da programao paralela e distribuda surgiu do campo da programao concorrente.

O campo da Programao Concorrente iniciou uma explosiva expanso desde 1968.

Histrico1968 E. W. Dijkstra: Cooperando Processos Seqenciais.

1971 E. W. Dijkstra: Ordem hierrquica de processos seqenciais.

1973 C. L. Liu e J. W. Layland : Algoritmos de escalonamento para multiprogramao em ambiente de tempo real.

E.W. DijkstraHistrico1974 C. A. R. Hoare: Monitores - conceito para estruturar sistemas operacionais.

1974 Lamport: Uma nova soluo para o problema da programao concorrente de Dijkstra.

Leslie LamportHistrico1976 J. H. Howard: Provando monitores.

1976 S. Owicki e D. Gries: Verificando propriedades de programas paralelos: uma abordagem axiomtica.

1977 P. Brinch Hansen: A arquitetura deprogramas concorrentes.

P. Brinch HansenHistrico1978 C. A. R. Hoare: Comunicao deProcessos Sequenciais.

1978 E. W. Dijkstra, L. Lamport, A. J. Martin, C. S. Sholten e E. F. M. Steffens: Um exerccio em cooperao para garbage collection.

1980 E. W. Dijkstra e C. S. Sholten: Deteco e terminao.

C. A. R. HoareHistrico1981 G. Ricart e A. Agrawala: Um algoritmo timo pra excluso mtua distribuda.

1981 G. L. Peterson: O problema da excluso mtua.

1982 J. Misra e K. M. Chandy: Deteco de terminao em Communicating Sequencial Processes.

Histrico1983 G. L. Peterson: Uma nova soluo para o prolema de programao concorrente de Lamport usando variveis compartilhadas.

1983 DoD, USA: Linguagem de Programao Ada.

1985 D. Gelernter: A Linguagem Linda

David GelernterO que Programao ConcorrenteUm programa ordinrio consiste de declaraes de dados e instrues executveis em uma linguagem de programao.

M. Ben-Ari, Principles of Concurrent and Distributed Programming

O que Programao ConcorrenteAs instrues so executadas sequencialmente sobre um processador, o qual aloca memria o cdigo e para os dados do programa.

Um programa concorrente um conjunto de programas sequenciais ordinrios os quais so executados em uma abstrao de paralelismo.

O que Programao ConcorrenteUsamos a palavra processo para programas sequenciais e reservamos a palavra programa para o conjunto de processos.

Pseudo-ParalelismoUm programa concorrente executado por se compartilhar o poder de processamento de um nico processador entre os processos desse programa.

Unidade de Processamento Concorrente: Processo

Abstrao para ConcorrnciaO paralelismo abstrato porque no requeremos que um processador fsico seja usado para executar cada processo.

Pseudo-Paralelismo

Exemplos de ConcorrnciaSobreposio de I/O e Processamento (Overlapped I/O and Computation)

Multiprogramao (Multi-programming)

Multi-tarefao (Multi-Tasking)Sobreposio de I/O e ComputaoNo incio dos tempos dos primeiros SOs, controlar I/O no podia ser feito concorrentemente com outra computao sobre um nico processador.

Mas a evoluo do SOs, fez surgir a concorrncia, retirando da computao principal, alguns microsegundos necessrios para controlar I/O.

Sobreposio de I/O e ComputaoEntretanto, mais simples programar os controladores de I/O como processos separados, os quais so executados em paralelo com o processo de computao principal.

MultiprogramaoUma generalizao de sobreposio de I/O dentro de um nico programa sobrepor a computao e I/O de diversos programas.

Multiprogramao a execuo concorrente de diversos processos independentes sobre um processador.

Time-SlicingFatia de tempo.

Compartilhar o processador entre diversas computaes de processos.

Ao contrrio do que um processo esperar para o trmino de uma operao de I/O, o processador compartilhado atravs de um hardware (timer) usado para interromper uma computao de um processo em intervalos pre-determinados.

Time-SlicingUm programa do SO chamado Scheduler executado para determinar qual processo deve ser permitido executar no prximo intervalo.

O Scheduler pode levar em considerao, prioridades dos processos.

Interactive Time-Sharing SystemsUsam multiprogramao com time-sliced, para dar a um grupo de usurios a iluso que cada um tem acesso a um computador dedicado.

Multi-TaskingResolvendo um problema por decomposio, dentro de diversos processos concorrentes.

A execuo de diversos aplicativos (programas) por um nico usurio, eu uma mquina de um nico processador.Correo de um programa concorrentePor causa das possveis interaes entre os processos que compreendem um programa concorrente difcil escrever um programa concorrente correto.

Para interagirem, processos precisam se sincronizar e se comunicar diretamente ou no.

Dois processos incrementando uma varivelN: Integer := 0;

Process P1 is begin N := N + 1; end P1;

Process P2 is begin N := N + 1; end P2; Aplicando a abstraoSe o compilador traduzir as declaraes de alto nvel em instrues INC, qualquer intercalao das sequncias de instrues dos dois processos daro o mesmo valor.Exemplo: Computao com a instruo INC Processo Instruo Valor de NInicialmente 0P1 INC N 1P2 INC N 2 Processo Instruo Valor de NInicialmente 0P2 INC N 1P1 INC N 2Computao em RegistradoresPor outro lado, se todas computaes so feitas em registradores, o cdigo compilado pareceria como:Computao com RegistradoresProcesso Instruo N Reg (P1) Reg(P2)Inicialmente 0P1 LOAD Reg, N 0 0P2 LOAD Reg, N 0 0 0P1 ADD Reg, #1 0 1 0P2 ADD Reg, #1 0 1 1P1 STORE Reg, N 1 1 1P2 STORE Reg, N 1 1 1ResultadoA figura anterior mostra que algumas intercalaes do resposta errada.

Ento, extremamente importante definir exatamente quais instrues so para ser intercaladas, de forma de o programa concorrente seja correto em sua execuo.Correo de um programa concorrenteProgramao concorrente pode expressar a concorrncia requerida, provendo instrues de programao para a sincronizao e comunicao entre processos.

Ferramentas de CorreoUm programador pode ser totalmente confundido pelo comportamento que um programa concorrente pode exibir.

Ferramentas so necessrias para especificar, programar e verificar propriedades desses programas.

Programao ConcorrenteEstuda a abstrao que usada sobre as sequncias de instrues atmicas de execuo intercalada.

Define o que significa um programa concorrente ser correto e introduz os mtodos usados para provar correo.

Programao ConcorrenteTrata as primitivas e as estruturas de programao concorrente clssicas: SemforosMonitoresThreads

ThreadsA unidade de processamento concorrente mais atual, devido a capacidade de processamento dos processadores ter aumentado.

O que vamos realmente executar !!!Panorama AtualProgramao Paralelae DistribudaProgramao Paralela uma forma de computao em que vrios clculos so realizados simultaneamente, operando sob o princpio de que um grande problema, geralmente, pode ser dividido em problemas menores, que ento so resolvidos em pa

Recommended

View more >