Modelo de Memória Reconfigurável para Sistemas Computacionais Paralelos
|
|
- Miguel Rosa Figueiroa
- 6 Há anos
- Visualizações:
Transcrição
1 Modelo de Memória Reconfigurável para Sistemas Computacionais Paralelos 1 Dulcinéia O. da Penha 2 Christiane V. Pousa 3 Henrique C. de Freitas 4 Carlos A. P. S. Martins 1, 2, 4 Programa de Pós Graduação em Engenharia Elétrica, 3, 4 Instituto de Informática 1, 2, 3, 4 Pontifícia Universidade Católica de Minas Gerais Av. Dom José Gaspar 500, Belo Horizonte, MG, Brazil 1 dulcineia@pucmg.br 2 christ.bh@terra.com.br 3 cota@pucminas.br 4 capsm@pucminas.br Abstract Não existe um modelo de memória único que seja ideal para todas as classes de carga de trabalho, já que uma pode ter um modelo de memória mais adequado às suas características, em termos de ganho de desempenho. Neste trabalho, propomos um modelo de memória reconfigurável para sistemas paralelos chamado RMA (Reconfigurable Memory Access), visando adicionar flexibilidade e adaptabilidade aos sistemas de memória destes sistemas. Verificamos e analisamos o modelo proposto através de modelagem e simulação de Redes de Petri. Analisando os resultados obtidos concluímos que a utilização do RMA em sistemas paralelos melhora o desempenho das cargas de trabalho utilizadas e o ganho de desempenho médio do sistema. Além disso, proporciona melhor adequação entre o modelo de memória do sistema e o modelo de acesso à memória da carga de trabalho. Portanto, nossos objetivos principais foram alcançados. 1. Introdução O funcionamento e o desempenho dos elementos de processamento (EPs) de um sistema paralelo é fortemente relacionado com o modelo de memória do sistema e com as características de acesso à memória da aplicação paralela em execução. A maioria dos modelos computacionais [1], analíticos ou operacionais, é descrita considerando o modelo e/ou comportamento da memória, as características de acesso à memória e/ou a arquitetura de memória, além de outros aspectos e elementos. Diferentes classes de aplicações possuem diferentes características de acesso à memória que são inerentes à lógica de solução do problema e ao algoritmo da solução. Estas características indicam o modelo de memória mais adequado para cada classe de aplicação. Entretanto, não existe um modelo de memória ideal que atenda a todas as classes de aplicações do ponto de vista de adequação, desempenho e eficiência. A principal razão disso é o fato de que as cargas de trabalho de um sistema computacionais normalmente têm características distintas. Além disso, certas aplicações possuem características que fazem com que o modelo de memória influencie significativamente em seu desempenho. O problema que motivou nossa pesquisa é o fato de que não existe um modelo de memória único ideal para todas as classes de aplicações já que cada classe pode possuir um modelo de acesso à memória mais adequado às suas características, em termos de ganho de desempenho. A nossa proposta de solução para este problema é um Modelo de Memória Reconfigurável, chamado RMA (Reconfigurable Memory Access). Um sistema paralelo implementando o modelo proposto permite a execução de aplicações com diferentes modelos de memória, através da reconfiguração do comportamento do seu sistema de memória. Neste artigo, o nosso objetivo é apresentar o Modelo RMA Analítico e os resultados da sua simulação. Um modelo de memória reconfigurável tem um comportamento múltiplo e dinâmico, e pode ser configurado de acordo com o modelo de acesso à memória da carga de trabalho em execução. Nós objetivamos alcançar: ganho de desempenho na execução das aplicações, melhora do desempenho médio do sistema, e uma melhor adequação entre o modelo de memória (espaço de endereçamento) e o modelo de acesso à memória de cada carga de trabalho. Computação Reconfigurável [2] é um novo e revolucionário paradigma cujos conceitos podem aumentar a flexibilidade, adaptabilidade e desempenho dos sistemas [2] [3]. Em alguns sistemas reconfiguráveis, o comportamento do sistema pode mudar dinamicamente de acordo com sua forma. Modelamos o RMA Analítico usando Redes de Petri e equações matemáticas. Verificamos e analisamos o RMA através de simulação da Rede de Petri modelada. Nós desenvolvemos três Redes de Petri: um PRAM (Parallel Random Access Machine), um MP-RAM (Message
2 Passing - Random Access Machine) [1] e um RMA. Modelamos quatro cargas de trabalho e as simulamos em cada uma das Redes de Petri. Posteriormente, comparamos e analisamos os resultados obtidos usando equações matemáticas (modelagem analítica). 2. Trabalhos relacionados Neste trabalho, propomos uma solução para o problema de adequação entre o modelo de memória dos sistemas paralelos e o modelo de acesso à memória das cargas de trabalho. No estado da arte, encontramos alguns trabalhos relacionados com modelos e arquiteturas de memória de sistemas paralelos e com modelos de programação. Mas não encontramos trabalhos relacionados que sigam o mesmo caminho de solução que propomos para o problema da adequação do modelo de memória do sistema paralelo ao modelo de acesso à memória da carga de trabalho. Todos os trabalhos analisados abordam problemas parecidos, mas propõem soluções em caminhos diferentes. Apresentamos alguns dos trabalhos mais relevantes e relacionados com a nossa proposta e descrevemos brevemente suas propostas de solução. Ide [4] propõe uma arquitetura de memória que suporta programação com variáveis compartilhadas em aglomerado de computadores. A arquitetura provê memória compartilhada entre os nodos do sistema através de placas reconfiguráveis e software de passagem de mensagem. Esta pesquisa propõe a implementação de uma arquitetura reconfigurável, restrita para aglomerados de computadores e específica para redes neurais. A principal diferença da nossa solução é que propomos um modelo de memória reconfigurável para computadores paralelos, que permite a execução de diferentes tipos de aplicações, visando ganho de desempenho. Dreier [5] propõe Rthreads, um software de memória compartilhada-distribuída que suporta compartilhamento de variáveis globais em aglomerados de computadores. Este trabalho propõe um software para prover ambiente com memória virtualmente compartilhada sobre um sistema com memória fisicamente distribuída. Esta proposta é semelhante aos sistemas DSMs (Distributed- Shared Memory). Assim como a proposta de Ide [4], esta é executada sobre um modelo de memória estático (memória distribuída). Outros ambientes DSM são propostos em [6] [7] [8] [9], entre outros. Ramanjuan [10] apresenta uma nova abordagem para aglomerados de computadores para processamento paralelo. Este trabalho é baseado na idéia de que computadores paralelos com memória compartilhada podem ser construídos a partir de aglomerados de computadores com interconexões de alta velocidade. A rede do sistema implementa a memória compartilhada (Network Shared Memory). Estas arquiteturas possuem modelo de memória estático. 3. Modelo de Memória Reconfigurável O modelo de memória RMA (Reconfigurable Memory Access) Analítico pode ser reconfigurado de acordo com as características da carga de trabalho em execução para comportar-se de acordo com as características de memória de um modelo PRAM, MP-RAM, ou outros modelos existentes e suas combinações. As Figuras 1 (a) e 1 (b) representam os modelos PRAM e MP-RAM, respectivamente, considerando o modelo de memória ou o comportamento da memória destes modelos. O PRAM é constituído por uma única memória compartilhada entre todos os EPs. O MP-RAM é constituído pelas memórias privadas dos EPs e a sua topologia de interconexão. A linha de divisão entre os processadores e suas respectivas memórias representa sua topologia de interconexão. A ligação ou interconexão entre os processadores é realizada através de uma memória compartilhada (modelo PRAM) ou através de uma rede de interconexão (modelo MP-RAM). Baseado nestes dois modelos, nós apresentamos o modelo RMA Analítico, na Figura 2. Figura 1. Modelos de computadores.(a) PRAM (b) MP-RAM. Figura 2. Modelo RMA baseado nos modelos PRAM e MP-RAM. A linha de divisão central é o Bloco de Reconfiguração do sistema, que pode ser reconfigurado para mapear um modelo PRAM ou MP-RAM ou outros modelos existentes e suas combinações. Deste modo, o sistema é adaptado às características da carga de trabalho em execução. Além disso, este Bloco de Reconfiguração é composto por Blocos de Gerenciamento de Memória em cada máquina do sistema. Os modelos PRAM e MP-RAM
3 apresentam comportamento estático, enquanto o RMA é dinâmico, podendo ser reconfigurado de acordo com as características da carga de trabalho. Além disso, este Bloco Reconfigurável é composto por Blocos de Gerenciamento de Memória em cada máquina do sistema. Os modelos PRAM e MP-RAM têm comportamento único e estático enquanto o RMA é dinâmico e pode ser reconfigurado de acordo com as características da carga de trabalho. 4. Modelagem usando Redes de Petri A verificação do modelo foi realizada através de Redes de Petri, equações matemáticas (modelagem analítica) e simulação da Rede de Petri. A Figura 4 apresenta a Rede de Petri que modela um sistema PRAM EREW (Exclusive Read Exclusive Write) com dois EPs após a execução de uma determinada aplicação (carga de trabalho) modelada para a simulação. Apresentamos a AP1 (aplicação 1), pois como poderemos observar na próxima seção, o RMA apresentou os melhores resultados com AP1. Marcação inicial da Rede de Petri: 1 Ficha no Lugar Memória Disponível e nos Geradores de Acessos de cada EP. Neste sistema, cada EP pode acessar a memória compartilhada do sistema. Figura 4. Rede de Petri do modelo PRAM após a execução da AP1. Figura 5. Rede de Petri do modelo MP-PRAM após a execução da AP1.
4 Todo acesso a qualquer posição da memória é simples, realizado através de operações de leitura e escrita. Cada acesso gerado por um EP entra na fila. A memória precisa estar disponível para que este acesso seja possível. O Lugar Memória Disponível controla o acesso à memória. Geradores de acessos geram e controlam as características de acesso à memória da carga de trabalho do sistema. Contadores de acessos são utilizados para análise dos resultados, comparações e conclusões. A Figura 5 apresenta a Rede de Petri que modela um sistema MP-RAM com dois EPs após a execução de uma determinada aplicação modelada para a simulação. Marcação inicial da Rede de Petri: 1 Ficha no Lugar Memória Disponível e nos Geradores de Acessos de cada processador (de acordo com a carga de trabalho desejada). Cada EP pode acessar somente a sua memória local privada. Acessos a dados remotos são realizados através de passagem de mensagem. Acessos locais são realizados através de operações de leitura e escrita. Cada acesso local entra na fila da memória. Cada acesso remoto é enviado para a fila de mensagens da máquina remota. Este acesso é enviado desta fila para a fila de acessos (também da máquina remota). Após acessar o dado, a máquina remota envia uma resposta para a máquina local que requisitou o dado. Esta resposta vai para a fila de acessos locais da máquina local. Após este acesso local, a passagem de mensagem foi concluída. A Rede de Petri do MP-RAM não modela o sistema de interconexão. Ela é limitada a modelar somente o acesso à memória. A influência do sistema de interconexão é considerada através da Equação 1. A modelagem do sistema de interconexão não ajudaria na descrição da proposta, já que não influencia ou não interfere no modelo ou na forma de acesso. A influência no desempenho foi modelada através da atribuição de pesos para cada um dos modelos. Assim como no PRAM, as características de acesso à memória da carga de trabalho do sistema são geradas (e controladas) através de geradores de acesso. Contadores de acessos remotos mostram o número de passagem de mensagens e contadores de acessos locais mostram o número de acessos locais. No entanto, o número de acessos locais gerados pelos processos em execução na máquina é obtido a partir da subtração do número de passagens de mensagens do total de acessos local. Isto é feito porque cada mensagem recebida de outra máquina requisitando um dado gera um acesso local na máquina remota para então responder à mensagem. Figura 6. Rede de Petri do modelo RMA após a execução da AP1.
5 A Figura 6 apresenta a Rede de Petri que modela o RMA com dois EPs após a execução de uma determinada aplicação modelada para a simulação. Marcação inicial da Rede de Petri: 1 Ficha no Lugar Memória Disponível e nos Geradores de Acessos de cada processador (de acordo com a carga de trabalho desejada). O sistema pode ser reconfigurado para comportar-se como um PRAM (com variáveis compartilhadas) ou MP-RAM (com passagem de mensagem). O acesso à memória local acontece como no modelo MP-RAM apresentado anteriormente. Se o sistema foi configurado para comportar-se como MP-RAM, cada EP tem acesso direto à sua memória local e usa passagem de mensagem para acessar dados remotos. Neste caso, o sistema comporta-se como descrito anteriormente na Rede de Petri do modelo MP-RAM. Se o sistema foi configurado para comportar-se como PRAM, acessos locais são realizados diretamente usando simples operações de leitura e escrita. Neste caso, não é necessário passar mensagem através da rede. Entretanto, como a memória principal do sistema é distribuída, acessos remotos não podem ser realizados diretamente. Os blocos (ou mecanismos) de gerenciamento de memória do RMA suporta a memória compartilhada entre os EPs. No entanto, o compartilhamento da memória é realizado no nível da arquitetura do hardware e não precisa percorrer muitas camadas de software. Por esta razão, o overhead de compartilhamento foi esperado para ser significativamente menor do que o overhead de passagens de mensagens. O sistema pode ainda ser configurado para ser heterogêneo, ou seja, parte da memória é compartilhada (utilizando o mecanismo do RMA) e parte é distribuída (memória física do sistema). Assim como nos modelos PRAM e MP-RAM, as características de acesso à memória da carga de trabalho do sistema são geradas (e controladas) através de geradores de acessos. Contadores de acessos remotos mostram o número de mensagens transmitidas, contadores de acesso RMA mostram o número de acessos realizados através do mecanismo do RMA e contadores de acessos locais mostram o número de acessos locais. O número de acessos locais gerados pelos processos em execução na máquina é obtido como no modelo MP-RAM, a partir da Equação 1. Se o sistema foi configurado para comportar-se como PRAM, acessos locais são realizados diretamente usando simples operações de leitura e escrita. Neste caso, não é necessário passar mensagem através da rede. Entretanto, como a memória principal do sistema é distribuída, acessos remotos não podem ser realizados diretamente. Os blocos (ou mecanismos) de gerenciamento de memória do RMA suporta a memória compartilhada entre os EPs. No entanto, o compartilhamento da memória é realizado no nível da arquitetura do hardware e não precisa percorrer muitas camadas de software. Por esta razão, o overhead de compartilhamento foi esperado para ser significativamente menor do que o overhead de passagens de mensagens. 5. Resultados Experimentais Os resultados experimentais foram obtidos através da simulação das Redes de Petri: PRAM, MP-RAM e RMA. Modelamos quatro cargas de trabalho e simulamos em cada uma das Redes de Petri usando o simulador Visual Object Net [11]. Escolhemos este simulador devido às suas características: facilidade de projeto e simulação rápida de Redes de Petri. Comparamos e analisamos os resultados obtidos, usando equações matemáticas. Na modelagem das cargas de trabalho, acessos locais são aqueles realizados na memória local mesmo quando a carga é executada em máquinas com modelo MP-RAM. Acessos remotos são aqueles que quando a carga é executada em máquinas MP-RAM são realizados em memória remota. As cargas de trabalho modeladas têm alto grau de paralelismo. São também caracterizadas por granularidade e demanda por comunicação. A AP1 tem granularidade grossa e tem demanda por comunicação insignificante (99% de acessos locais e 1% de acessos remotos). A AP2 tem granularidade fina e grande demanda por comunicação (99% de acessos remotos e 1% de locais). A AP3 tem granularidade grossa e pequena demanda por comunicação (75% de acessos locais e 25% de remotos). A AP4 tem granularidade fina e grande demanda por comunicação (25% de acessos locais e 75% de remotos). Para simular estas cargas em cada Rede de Petri, atribuímos unidades de tempo (ut) a cada tipo de gerador de acesso (gerador de acessos locais, de acessos remotos, e de acessos RMA). Essas ut são taxas de geração de acesso. Simulamos as Redes de Petri durante 500 ut. No PRAM todos os acessos locais e remotos são feitos através de uma única memória compartilhada. Portanto, os geradores de acessos têm as mesmas taxas de geração, tanto para acessos locais quanto para remotos. Para modelar as quatro cargas de trabalho para a simulação, nós atribuímos uma taxa de geração de acesso igual a 1 para todas as cargas. Um acesso pode ser gerado a cada unidade de tempo. A Figura 4 mostra a Rede de Petri que modela o sistema PRAM após a execução de AP1. No caso dos modelos MP-RAM e RMA, as taxas de geração de acesso são diferentes para caracterizar cada carga de trabalho. Para o modelo MP-RAM nós atribuímos taxas de geração de acesso para geradores de acessos locais e para geradores de acessos remotos. Para a AP1, a taxa de geração de acesso local é igual a 1 (99%) e a remota é igual a 100. Para a AP2, a taxa de geração de acessos locais é igual a 100 e a remota é igual a 1 (99%). Para AP3, a taxa de geração de acessos locais é igual a 1 (74%)
6 e a remota é igual a 4 (25%). Para AP4, a taxa de geração de acessos locais é igual a 4 (25%) e a remota é igual a 1 (75%). A Figura 5 mostra a Rede de Petri que modela o sistema MP-RAM após a execução de AP1. Podemos observar as taxas de geração de acessos locais e remotos desta aplicação no tempo de ativação da transição. O modelo RMA pode ser configurado para comportarse como um PRAM (memória compartilhada) ou MP- RAM (memória distribuída) através do mecanismo de reconfiguração. Para o modelo RMA nós atribuímos taxas de geração de acessos para geradores de acessos locais, remotos e RMA. Como todas as cargas de trabalho modeladas têm acessos remotos, a memória foi configurada como compartilhada entre os EPs para um melhor uso do sistema. Portanto, em nenhuma das cargas são realizados acessos por passagem de mensagem. Deste modo, não existem Fichas no Gerador de Acessos PM de nenhum dos EPs. Todos os acessos remotos são feitos através da reconfiguração da memória pelo RMA. Para AP1, a taxa de geração de acessos locais é igual a 1 (99%) e a de acessos através do RMA é igual a 100. Para AP2, a taxa de geração de acessos locais é igual a 100 e a de acessos RMA é igual a 1 (99%). Para AP3, a taxa de acessos locais é igual a 1 (75%) e a de acessos RMA é igual a 4 (25%). Para AP4, a taxa de geração de acessos locais é igual a 4 (25%) e a de acessos RMA é igual a 1 (75%). A Figura 6 mostra a Rede de Petri que modelo o sistema RMA após a execução de AP1. Podemos observar as taxas de geração de acessos locais e RMA desta aplicação no tempo de ativação da transição. Podemos observar ainda que não existem Fichas no gerador de acessos remotos, já que todos os acessos remotos são feitos através do RMA. Como as Redes de Petri dos modelos MP-RAM e RMA não modelam o sistema de interconexão devido ao tamanho e complexidade do modelo, nós atribuímos overheads de comunicação para cada um destes modelos. Acessos locais tem overhead igual a 1, já que nós não consideramos overhead de comunicação. Acessos realizados através de passagem de mensagens demandam diferentes acessos às memórias locais, tráfego na rede comum do sistema e cobre várias camadas de protocolo. Portanto, nós atribuímos overhead igual a 5. Como RMA não precisa cobrir muitas camadas de protocolo e tem acesso às memórias remotas diretamente através do hardware, nós atribuímos overhead de comunicação igual a 3. Para cada um dos modelos o tempo de acesso local é obtido pelo número total de acessos para cada tipo de acesso multiplicado pelo seu overhead. A Equação 1 mostra a equação do tempo total de acesso do sistema. TTAS = (N. de Acessos i * Overhead i ) (Eq 1) A Tabela 1 mostra o número de acessos que foram realizados pelo sistema durante a simulação e o tempo total de acessos de cada modelo para cada uma das aplicações que compõem a carga de trabalho. Este tempo é baseado na Equação 1, onde o número de cada tipo de acesso é multiplicado pelo seu respectivo overhead. Estes resultados são números absolutos de acessos obtidos durante a simulação. Como podemos notar nas Figuras 4, 5 e 6, nos modelos das Redes de Petri, as taxas de geração de acessos de cada modelo e aplicação são diferentes. No modelo PRAM, as taxas de geração de acessos das simulações de todas as aplicações (AP1 a AP4) são igual a 1. Isto significa que a cada unidade de tempo um acesso pode ser gerado em cada EP. Deste modo, ao longo da simulação (500 unidades de tempo) são gerados aproximadamente 500 acessos em cada um dos EPs, totalizando 1000 acessos para o sistema. Tabela 1. Números absolutos do sistema: acessos realizados e tempos de acesso (ut) Número de Acessos Tempo Total de Acessos AP1 AP2 AP3 AP4 AP1 AP2 AP3 AP4 PRAM Compartilhado Total MP-RAM Local PM Total RMA Local RMA Total No modelo MP-RAM e RMA, para AP1 a taxa de geração de acesso local é igual a 1. Portanto, a cada unidade de tempo um acesso local pode ser gerado em cada EP, totalizando 1000 acessos locais para o sistema. Além disso, a taxa de geração de acessos remotos é igual a 100, significando que a cada 100 unidades de tempo, um acesso remoto pode ser gerado em cada EP, totalizando 10 acessos remotos para o sistema. O número total de acessos que podem ser gerados é a soma dos acessos locais e remotos, portanto 1010 acessos. Em AP2, as taxas de geração de acessos locais e remotos é igual a 100 e 1, respectivamente. Assim como para AP1, o número total de acessos (locais e remotos) que podem ser gerados na simulação de AP2 nos modelos MP-RAM e RMA é igual a 1010 (10 acessos locais e 1000 acessos remotos). A taxa de geração de acessos locais em AP3 é igual a 1, totalizando 1000 acessos que podem ser gerados na simulação do sistema. A taxa de geração de acessos remotos é igual a 4. Portanto, a cada 4 unidades de tempo um acesso remoto pode ser gerado em cada EP do sistema, totalizando 125 acessos remotos que podem ser gerados em cada EP durante a simulação de AP3 e 250 acessos para todo o sistema. Portanto, o total de acesso
7 que podem ser gerados na simulação de AP3 nos modelos MP-RAM e RMA é igual a 1250 (1000 locais e 250 remotos). Em AP4, as taxas de geração de acessos locais e remotos é igual a 4 e 1, respectivamente. Assim como para AP3, o número total de acessos (locais e remotos) que podem ser gerados na simulação de AP4 nos modelos MP-RAM e RMA é igual a 1250 (250 acessos locais e 1000 acessos remotos). Estes números de acessos em cada simulação e modelo são números absolutos. Como estes números absolutos de acessos que podem ser gerados são diferentes, eles precisam ser normalizados já que os números de acessos de cada simulação devem estar tão próximos quanto possível para que sejam comparados. Portanto, nós dividimos os números absolutos de acessos, os tempos absolutos de acesso e o número absoluto de acessos nas filas por um fator (1,01 para AP1 e AP2, e 1,25 para AP3 e AP4) que os aproximasse da simulação do modelo PRAM (aproximadamente 1000 acessos). A Tabela 2 mostra os resultados normalizados considerando estas divisões. O total de acessos realizados durante a simulação de cada modelo e aplicação estão em negrito. Todas as nossas análises são baseada nos resultados normalizados. Tabela 2. Números normalizados do sistema: acessos realizados e tempos de acessos (ut) Número de Acessos Normalizado Tempo de Acessos Normalizado AP1 AP2 AP3 AP4 AP1 AP2 AP3 AP4 PRAM Compartilhado Total MP-RAM Local PM Total RMA Local RMA Total A Tabela 3 mostra os números normalizados de acessos que foram gerados mas não foram realizados durante a simulação. Estes acessos formam as filas de acessos do sistema. Tabela 3. Números normalizados de acessos nas filas do sistema AP1 AP2 AP3 AP4 PRAM MP-RAM RMA Analisando as características das aplicações que compõem a carga de trabalho e os tempos de acessos (normalizados) mostrados na Tabela 2, notamos que para AP1, os 3 modelos gastam aproximadamente 1 unidade de tempo (ut) para realizar cada acesso (1 ut para o PRAM, 1,01 ut para o RMA e 1,03 ut para o MP-RAM). Entretanto, observando os resultados na Tabela 2 e as filas de acesso na Tabela 3, notamos que as filas do PRAM foram as maiores. Apesar de o modelo PRAM ter memória compartilhada e não apresentar overhead de comunicação significativo, a concorrência entre os processos para acessar a memória é alta e influencia significativamente nestes resultados. Como esta aplicação tem pouca demanda por comunicação, o modelo MP- RAM também apresentou bons resultados. Entretanto, para AP1, o melhor modelo foi o RMA já que seu tempo de acesso (1,01 ut) foi o menor e sua fila teve o menor numero de acessos não realizados (apenas 11 acessos). No modelo RMA, os acessos podem ser realizados nas duas máquinas simultaneamente. Isto significa que o RMA atendeu os acessos mais rapidamente e eficientemente. Para AP2 e AP4 o MP-RAM foi o pior modelo. Para estas duas aplicações, o tempo total de acessos foi maior do que nos outros modelos e suas filas ficaram muito grandes. Estes resultados podem ser explicados pelo fato de que estas duas aplicações têm alta demanda por comunicação e o modelo MP-RAM tem grande overhead de comunicação. Para AP2, o tempo total de acessos do PRAM foi igual a 1, enquanto o tempo do RMA foi igual a 2,99. Considerando somente estes dois tempos, poderíamos pensar que o modelo PRAM foi mais adequado (que traz melhores resultados) para esta aplicação. Entretanto, observando as filas de acesso dos dois modelos (PRAM e RMA) podemos notar que as filas do RMA são muito menores (10 acessos) do que as filas do PRAM (287 acessos). Se o sistemas precisa tanto de desempenho quanto de vazão, estes resultados apontam o RMA como o melhor modelo, embora seu tempo total de acessos seja maior. Além disso, o tempo de resposta do PRAM para cada acesso foi maior já que a sua fila é maior. A mesma situação é notada com AP4. O tempo total de acessos do PRAM (1 ut) foi menor que o tempo do RMA (2, 48 ut). Entretanto, as filas do PRAM foram maiores do que as filas do RMA. Para esta aplicação, a fila do RMA também ficou grande, mas não tão grande quanto a fila do PRAM. Portanto, consideramos que o modelo RMA foi o mais adequado para esta aplicação. Para AP3, os resultados do MP-RAM não foram tão ruins quanto os resultados de AP2 e AP4. O tempo total de acessos do MP-RAM para AP3 foi igual a 1,92 ut, enquanto o tempo do RMA foi igual a 1,51 ut e o tempo do PRAM igual a 1 ut. As filas do MP-RAM (186 acessos) ficaram menores do que as filas do PRAM (287 acessos). Entretanto, a menor fila foi a do RMA com 99 acessos. Portanto, considerando as observações anteriores sobre desempenho e vazão, o modelo RMA foi o modelo mais adequado para esta aplicação também. Além disso,
8 como discutimos previamente, sistemas paralelos têm cargas de trabalho com características diferentes. Portanto, o uso do RMA traz ganho de desempenho médio do sistema. 6. Conclusões Nós propomos uma solução para o problema de adequação entre os modelos de memória dos sistemas paralelos e os modelos de acesso à memória das cargas de trabalho. No estado da arte, não encontramos trabalhos relacionados que sigam o mesmo caminho de solução que propomos. Todos os trabalhos analisados apresentam pesquisas de problemas similares, mas eles propõem soluções em caminhos diferentes. Na Seção 2 apresentamos e descrevemos alguns destes trabalhos. A principal diferença entre estes trabalhos e o nosso é o fato de que propomos um modelo de memória reconfigurável, que permite a execução de diferentes classes de cargas de trabalho visando alcançar ganho de desempenho. Alcançamos nosso objetivo apresentando o modelo de memória reconfigurável analítico: RMA. Além disso, modelamos as Redes de Petri de cada modelo computacional, simulamos estas redes, comparamos e analisamos os resultados obtidos. Os resultados alcançados mostram que o RMA foi o modelo mais adequado para as cargas de trabalho modeladas. O RMA foi o melhor para a AP1 considerando o tempo total de acessos, o número de acessos que não foram realizados, desempenho e vazão. Somente para AP4, o RMA não apresentou resultados tão bons quanto as outras aplicações. Para AP4, o tempo do RMA para realizar cada acesso foi grande. Entretanto, a fila do RMA foi a menor como para todas as outras cargas modeladas. Analisando os resultados obtidos, concluímos que o modelo RMA em sistemas paralelos melhora o desempenho e a vazão das cargas de trabalho e o ganho de desempenho médio do sistema. Além disso, ele provê melhor adequação entre o modelo de memória do sistema (espaço de endereçamento) e o modelo de acesso à memória da carga de trabalho. Nossa principal contribuição é o novo modelo de memória RMA que tem como principais características: reconfigurabilidade, flexibilidade, heterogeneidade, e dinâmica no uso de computadores paralelos, e permite alcançar nossos objetivos com diferentes cargas de trabalho. Como trabalhos futuros pretendemos simular outras cargas de trabalho com diferentes características. Além disso, pretendemos desenvolver, simular e analisar versões escaláveis das Redes de Petri e usar Redes de Petri Coloridas e Estocásticas. Nós pretendemos atribuir funções que caracterizem as taxas de geração de acesso. A versão operacional do modelo RMA está sendo desenvolvida e ajudará na implementação real do RMA em computadores paralelos. 8. Referências [1] G. S. Almasi, and A.A. Gottlieb, Highly Parallel Computing, 2 nd. Edition, Benjamim/Cummings, [2] C. A. P. S. Martins, E. D. M. Ordonez, J. B. T. Corrêa and M. B. Carvalho, Reconfigurable Computing: concepts, tendencies, and applications, Informatics Journey 2003, Computer Brazilian Society s Congress, 8 th Chapter, (in Portuguese) [3] K. Compton, and S. Hauck, Reconfigurable Computing: A Survey of Systems and Software, In ACM Computing Surveys, volume 34:2, pages , June [4] A. N. Ide, and J. H. Saito, A reconfigurable platform of development using cluster architecture, I Reconfigurable Computing Seminar (I Seminário de Computação Reconfigurável), Informatics Institute, PUC Minas, Belo Horizonte, August (in Portuguese) [5] B. Dreier, M. Zahn, and T. Ungerer, Parallel and Distributed Programming with Pthreads and Rthreads, Third International Workshop on High-Level Parallel Programming Models and Supportive Environments (HIPS'98), IPDPS 1998 Workshop, pages 34-40, Germany, March [6] R. M. Butler, A. L. Leveton, and E. L. Lusk, p4-linda: A Portable Implementation of Linda, In Proceedings of the Second International Symposium on High Performance Distributed Computing, pages , Spokane, Washington, July [7] M. Stumm, and S. Zhou, Algorithms Implementing Distributed Shared Memory, IEEE Computer Society, volume 23, Issue 5, pages 54-64, May [8] B. Nitzberg, and V. Lo, Distributed Shared Memory: A Survey of Issues and Algorithms, IEEE Computer Society, volume 24, Issue 8, pages 52-60, August [9] J. Nieplocha, R. J. Harrison, and R. J. Littlefield, Global Arrays: A Portable Shared-Memory Programming Model For Distributed Memory Computers, In Proceedings of Supercomputing 94, Los Alamitos, CA, IEEE Computer Society, pages , [10] R. S. Ramanjuan, J. C. Bonney, and K. J. Thurber, Network Shared Memory: A New Approach for Clustering Workstations for Parallel Processing, In Proceedings of Fourth IEEE International Symposium on High Performance Distributed Computing HPDC 95, IEEE Computer Society, pages 48-56, August [11] R. Drath, Visual Object Net ++. URL: Technical University of Ilmenau, Germany, 2004.
Modelo de Memória Reconfigurável para Sistemas Paralelos
Foz do Iguaçu, 27 a 29 de Outubro de 2004 Modelo de Memória Reconfigurável para Sistemas Paralelos Dulcinéia O. da Penha 1, Henrique C. de Freitas 2, Carlos A. P. S. Martins 3 Laboratório de Sistemas Digitais
Leia maisAlgoritmos de Consistência para Softwares DSM Baseados em Objetos
Algoritmos de Consistência para Softwares DSM Baseados em Objetos Christiane V. Pousa 1, Luís F. W. Góes 1, Luiz E. S. Ramos 2, Carlos A. P. S. Martins 1 1 Pontifícia Universidade Católica de Minas Gerais
Leia maisUniversidade Estadual de Mato Grosso do Sul UEMS Curso de Ciência da Computação Disciplina de Algoritmos Paralelos e Distribuídos
Universidade Estadual de Mato Grosso do Sul UEMS Curso de Ciência da Computação Disciplina de Algoritmos Paralelos e Distribuídos Pensando em Paralelo Pensar em paralelo é uma tarefa que exige disciplina
Leia maisModelos para Concorrência
Modelos para Concorrência Modelos para descrição de concorrência Programa Interdisciplinar de Pós Graduação em Computação Aplicada Universidade do Vale do Rio dos Sinos Gerson Cavalheiro Processamento
Leia maisIntrodução à Computação: Sistemas de Computação
Introdução à Computação: Sistemas de Computação Beatriz F. M. Souza (bfmartins@inf.ufes.br) http://inf.ufes.br/~bfmartins/ Computer Science Department Federal University of Espírito Santo (Ufes), Vitória,
Leia maisspeedup aprimorado aprimorado Fração aprimorada speedup aprimorado Fração aprimorada speedup aprimorado Tempo original Fração aprimorada aprimorado
Multiprocessadores - A evolução tecnológica dos processadores iria diminuir drasticamente. 2- O caminho para o aumento de desempenho é de unir mais de um processador para realizar a mesma tarefa em menos
Leia maisAULA 03: PROCESSAMENTO PARALELO: MULTIPROCESSADORES
ORGANIZAÇÃO E ARQUITETURA DE COMPUTADORES II AULA 03: PROCESSAMENTO PARALELO: MULTIPROCESSADORES Prof. Max Santana Rolemberg Farias max.santana@univasf.edu.br Colegiado de Engenharia de Computação MULTIPROCESSADORES
Leia maisArquitetura de Computadores Paralelos. Introdução Conceitos Básicos Ambientes de Programação Modelos de Programação Paralela
Arquitetura de Computadores Paralelos Introdução Conceitos Básicos Ambientes de Programação Modelos de Programação Paralela Por que estudar Computação Paralela e Distribuída? Os computadores sequenciais
Leia maisOpenMP: Variáveis de Ambiente
Treinamento OpenMP C/C++ 1 TREINAMENTO OpenMP C/C++ Módulo 1 Computação de Alto Desempenho Módulo 2 OpenMP: Construtores Paralelos Módulo 3 OpenMP: Diretivas de sincronização Módulo 4 OpenMP: Funções de
Leia maisArquiteturas Paralelas
ORGANIZAÇÃO E ARQUITETURA DE COMPUTADORES Arquiteturas Paralelas Medidas de desempenho Alexandre Amory Edson Moreno Índice 2 1. Introdução 2. Medidas de Desempenho Introdução 3 Aumento de desempenho dos
Leia maisBALANCEAMENTO DE CARGA EM SISTEMAS MULTIPROCESSADORES UTILIZANDO O MODELO DE PROGRAMAÇÃO CHARM++ 1
BALANCEAMENTO DE CARGA EM SISTEMAS MULTIPROCESSADORES UTILIZANDO O MODELO DE PROGRAMAÇÃO CHARM++ 1 Guilherme Henrique Schiefelbein Arruda 2, Edson Luiz Padoin 3. 1 Trabalho desenvolvido no contexto do
Leia maisCaracterização de Sistemas Distribuídos
Caracterização de Sistemas Distribuídos Roteiro Conceitos de Hardware Conceitos de Software Classificação de Flynn Classificação baseada no acesso a memória 2 Conceitos de HW Múltiplas CPUs Diferentes
Leia maisUNIVERSIDADE FEDERAL DO PARÁ PRÓ-REITORIA DE PESQUISA E PÓS-GRADUAÇÃO DIRETORIA DE PESQUISA PROGRAMA INSTITUCIONAL DE BOLSAS DE INICIAÇÃO CIENTÍFICA
UNIVERSIDADE FEDERAL DO PARÁ PRÓ-REITORIA DE PESQUISA E PÓS-GRADUAÇÃO DIRETORIA DE PESQUISA PROGRAMA INSTITUCIONAL DE BOLSAS DE INICIAÇÃO CIENTÍFICA RELATÓRIO TÉCNICO CIENTÍFICO Período: Outubro/2015 a
Leia maisAvaliação do Tempo de Processamento e Comunicação via Rotinas MPI Assíncronas no Modelo OLAM
Universidade Federal do Pampa 15º Escola Regional de Alto Desempenho/RS Avaliação do Tempo de Processamento e Comunicação via Rotinas MPI Assíncronas no Modelo OLAM Matheus Beniz Bieger - Claudio Schepke
Leia maisMemória Compartilhada e Distribuída. _ Notas de Aula _ Prof. Tiago Garcia de Senna Carneiro DECOM/UFOP
Introdução Memória Compartilhada e Distribuída _ Notas de Aula _ Prof. Tiago Garcia de Senna Carneiro DECOM/UFOP Um sistema de memória compartilhada faz a memória física global de um sistema igualmente
Leia maisBacharelado em Sistemas de Informação Sistemas Operacionais. Prof. Filipo Mór
Bacharelado em Sistemas de Informação Sistemas Operacionais Prof. Filipo Mór WWW.FILIPOMOR.COM - REVISÃO ARQUITETURAS PARALELAS Evolução das Arquiteturas Evolução das Arquiteturas Entrada CPU Saída von
Leia mais30/5/2011. Sistemas computacionais para processamento paralelo e distribuído
Arquitetura de Computadores Sistemas computacionais para processamento paralelo e distribuído Prof. Marcos Quinet Universidade Federal Fluminense UFF Pólo Universitário de Rio das Ostras - PURO Processamento
Leia maisUm Calculador de Capacidade de Computação para Nós de Máquinas Virtuais LAM/MPI
Um Calculador de Capacidade de Computação para Nós de Máquinas Virtuais LAM/MPI Diego Luis Kreutz 1 Lucas Mello Schnorr 2 Cleverton Marlon Possani 3 Resumo Este texto apresenta um calculador de capacidade
Leia maisAnálise empírica de algoritmos de ordenação
Análise empírica de algoritmos de ordenação Mario E. Matiusso Jr. (11028407) Bacharelado em Ciências da Computação Universidade Federal do ABC (UFABC) Santo André, SP Brasil mario3001[a]ig.com.br Resumo:
Leia maisAluno de Pós-Graduação em Engenharia de Software para Dispositivos Móveis pela UNINTER
COMPARAÇÃO DE DESEMPENHO NA PROGRAMAÇÃO PARALELA HÍBRIDA (MPI + OPENMP) NA BUSCA DE TEXTO EM ARQUIVOS 1 COMPARISON OF PERFORMANCE IN HYBRID PARALLEL PROGRAMMING (MPI + OPENMP) IN SEARCH OF TEXT IN FILES
Leia maisSSC510 Arquitetura de Computadores. 6ª aula
SSC510 Arquitetura de Computadores 6ª aula PARALELISMO EM NÍVEL DE PROCESSOS PROFA. SARITA MAZZINI BRUSCHI Tipos de Paralelismo Instrução (granulosidade fina) Paralelismo entre as instruções Arquiteturas
Leia maisUma Proposta para Migração de Páginas Linux
Uma Proposta para Migração de Páginas Linux 1 - Introdução 2 - Gerencia de Memória em Sistemas Operacionais com Suporte a NUMA 2.1 O Gerente de Memória do Linux 2.2 Estratégias para Migração de Páginas
Leia maisSISTEMAS DISTRIBUÍDOS
SISTEMAS DISTRIBUÍDOS CUP Disk Memoey CUP Memoey Disk Network CUP Memoey Disk Introdução aos Sistemas Distribuídos 1 Sumário Evolução Problema/Contexto O que é um Sistema Distribuído? Vantagens e Desvantagens
Leia maisAULA 06: PROGRAMAÇÃO EM MÁQUINAS PARALELAS
ORGANIZAÇÃO E ARQUITETURA DE COMPUTADORES II AULA 06: PROGRAMAÇÃO EM MÁQUINAS PARALELAS Prof. Max Santana Rolemberg Farias max.santana@univasf.edu.br Colegiado de Engenharia de Computação PROGRAMAÇÃO PARALELA
Leia maisArquitetura de Computadores. Processamento Paralelo
Arquitetura de Computadores Processamento Paralelo 1 Multiprogramação e Multiprocessamento Múltiplas organizações de computadores Single instruction, single data stream - SISD Single instruction, multiple
Leia maisDefinindo melhor alguns conceitos
Definindo melhor alguns conceitos Concorrência termo mais geral, um programa pode ser constituído por mais de um thread/processo concorrendo por recursos Paralelismo uma aplicação é eecutada por um conjunto
Leia maisSIST706 Sistemas Distribuídos
Slide01 Introdução e Conceitos de Sistemas Distribuídos SIST706 Sistemas Distribuídos 2013/1 Prof. Jéfer Benedett Dörr @: prof.jefer@gmail.com profjefer.wordpress.com Sistema Distribuído Definição de Andrew
Leia maisSuporte à Execução Eficiente de Aplicações em Plataformas com Paralelismo Multi-Nível
Suporte à Execução Eficiente de Aplicações em Plataformas com Paralelismo Multi-Nível Vinícius Garcia Pinto Lucas Mello Schnorr Nicolas Maillard Grupo de Processamento Paralelo e Distribuído (GPPD) Instituto
Leia maisParalelização de Algoritmos de CFD em Clusters Multi-Core MC7. Escola de Verão Arquiteturas Multi-Core
RSS-Verão-01/08 p.1/36 Paralelização de Algoritmos de CFD em Clusters Multi-Core MC7 Escola de Verão 2008 Arquiteturas Multi-Core Renato S. Silva LNCC - MCT Janeiro de 2008 RSS-Verão-01/08 p.2/36 Objetivo:
Leia maisSistemas de Troca de Mensagens
Universidade Federal do Rio de Janeiro Programa de Pós-Graduação em Informática DCC/IM - NCE/UFRJ Arquitetura de Sistemas Paralelos Sistemas de Troca de Mensagens Sistemas de Comunicação O Sistema de Comunicação
Leia maisModelo de Programação Paralela
Modelo de Programação Paralela As arquiteturas paralelas e distribuídas possuem muitos detalhes Como especificar uma solução paralela pensando em todos esses detalhes? O que queremos? Eecutar a solução
Leia maisPágina 1 of 5. Curriculum Vitae - CNPq. Dados Pessoais. Formação Acadêmica/Titulação. Atuação Profissional
Página 1 of 5 Curriculum Vitae - CNPq Maio/2003 Dados Pessoais Nome Volnys Borges Bernal Nascimento 11/04/1966 - Santos/SP - Brasil CPF 08060543873 Formação Acadêmica/Titulação 1997-2003 1993-1997 1985-1989
Leia maisEscalonamento de Aplicações BoT em Ambiente de Nuvem
Escalonamento de Aplicações BoT em Ambiente de Nuvem Maicon Ança dos Santos 1 Fernando Angelin 1 Gerson Geraldo H. Cavalheiro 1 1 Universidade Federal de Pelotas {madsantos,fangelin,gerson.cavalheiro}@inf.ufpel.edu.br
Leia maisIntrodução aos Sistemas Distribuídos
Introdução aos Sistemas Distribuídos Prof. Leonardo Barreto Campos http://sites.google.com/sitew/leonardobcampos 1/29 Sumário Ementa; Bibliografia Calendário Site Introdução Características http://sites.google.com/sitew/leonardobcampos
Leia maisUma Arquitetura Reconfigurável de Granularidade Grossa Para Multicore
Uma Arquitetura Reconfigurável de Granularidade Grossa Para Multicore Francisco Carlos Silva Junior 1, Ivan Saraiva Silva 1 1 Departamento de Computação Universidade Federal do Piauí (UFPI) Teresina PI
Leia maisModelo de Acesso Reconfigurável à Memória para Sistemas Computacionais Paralelos
Modelo de Acesso Reconfigurável à Memória para Sistemas Computacionais Paralelos Dulcinéia Oliveira da Penha Curso de Sistemas de Informação - Faculdade de Ciências Sociais Aplicadas - Centro Universitário
Leia maisSistemas Distribuídos
Sistemas Distribuídos Definição Sistema Distribuído é aquele onde os componentes de software e hardware localizados em redes de computadores comunicam-se e coordenam suas ações apenas por passagem de mensagens.
Leia maisPreliminares. Profa. Sheila Morais de Almeida. agosto
Preliminares Profa. Sheila Morais de Almeida DAINF-UTFPR-PG agosto - 2016 Algoritmos Definição - Skiena Algoritmo é a ideia por trás dos programas de computador. É aquilo que permanece igual se o programa
Leia maisSSC0611 Arquitetura de Computadores
SSC0611 Arquitetura de Computadores 20ª Aula Arquiteturas Paralelas Arquitetura MIMD com Memória Compartilhada Profa. Sarita Mazzini Bruschi sarita@icmc.usp.br Arquiteturas MIMD As arquiteturas MIMD dividem-se
Leia maisPredição de Utilização de Recursos Computacionais Usando Séries Temporais
Predição de Utilização de Recursos Computacionais Usando Séries Temporais Aluno: Paulo Roberto Pereira da Silva Orientador: Paulo Romero Martins Maciel Coorientador: Jean Carlos Teixeira de Araujo de Garanhuns
Leia maisIntrodução Diagrama de Classes Diagrama de Seqüência Diagrama de Atividades. Diagramas UML. Classe, Seqüência e Atividades. Marcio E. F.
Diagramas UML Classe, Seqüência e Atividades Marcio E. F. Maia Disciplina: Engenharia de Software Professora: Rossana M. C. Andrade Curso: Ciências da Computação Universidade Federal do Ceará 15 de maio
Leia maisSistemas Distribuídos. Ricardo Ribeiro dos Santos
Sistemas Distribuídos Ricardo Ribeiro dos Santos ricrs@ec.ucdb.br Curso de Engenharia de Computação UCDB Julho/2003 Tópicos Objetivos Pré-requisitos Ementa/Conteúdo Programático Relacionamento com outras
Leia maisUniversidade Federal do Rio de Janeiro Informática DCC/IM. Arquitetura de Computadores II. Arquiteturas MIMD. Arquiteturas MIMD
Universidade Federal do Rio de Janeiro Informática DCC/IM Arquitetura de Computadores II Arquiteturas MIMD Arquiteturas MIMD As arquiteturas MIMD dividem-se em dois grandes modelos: Arquiteturas MIMD de
Leia maisSumário. Referências utilizadas. Introdução. MAFIA: Merging of Adaptive Finite Intervals. Introdução Visão Geral e Objetivos do MAFIA
Sumário : Merging of Adaptive Finite Intervals Elaine Ribeiro de Faria Análise de Agrupamento de Dados ICMC-USP Dezembro 2010 Introdução Visão Geral e Objetivos do Algoritmo Grid Adaptativo Algoritmo Algoritmo
Leia maisArquitetura de Sistemas Digitais
Universidade Federal do Amazonas Faculdade de Tecnologia Departamento de Eletrônica e Computação Arquitetura de Sistemas Digitais Lucas Cordeiro lucascordeiro@ufam.edu.br Notas de Aula Os slides deste
Leia maisPARALELIZAÇÃO DE ALGORITMO DE INSPEÇÃO DE ROTAS UTILIZANDO PERMUTAÇÃO LEXICOGRÁFICA 1
PARALELIZAÇÃO DE ALGORITMO DE INSPEÇÃO DE ROTAS UTILIZANDO PERMUTAÇÃO LEXICOGRÁFICA 1 Jessica De Almeida Berlezi 2, Janiel Ceretta Foletto 3, Edson Luiz Padoin 4, Rogério S. M. Martins 5. 1 Trabalho realizado
Leia maisPROJETO LÓGICO DE COMPUTADORES Prof. Ricardo Rodrigues Barcelar
- Aula 1 - O NÍVEL DA LÓGICA DIGITAL 1. INTRODUÇÃO Na parte inferior da hierarquia da figura abaixo encontramos o nível da lógica digital, o verdadeiro hardware do computador. Este nível situa-se na fronteira
Leia maisProgramação Paralela e Concorrente
Linguagens para Programação Paralela PGAS 2016 Linguagens de Programação Paralelas paralelismo de dados (data-parallel) GAS e PGAS orientação a processos memória compartilhada troca de mensagens Paralelismo
Leia maisSistemas Distribuídos. Ricardo Ribeiro dos Santos
Sistemas Distribuídos Ricardo Ribeiro dos Santos ricrs@ec.ucdb.br Curso de Engenharia de Computação UCDB Julho/2003 Tópicos Características de um SD Modelos arquiteturais para implementação de SD Características
Leia maisIntrodução à Programação Paralela através de Padrões. Denise Stringhini Calebe Bianchini Luciano Silva
Introdução à Programação Paralela através de Padrões Denise Stringhini Calebe Bianchini Luciano Silva Sumário Introdução: conceitos de paralelismo Conceitos básicos sobre padrões de programação paralela
Leia maisThe future is parallel but it may not be easy
The future is parallel but it may not be easy Adriano Tabarelli, Alex Morinaga, Caio Silva, Cássia Ferreira, Daniel Santos, Eduardo Apolinário, Hugo Posca, Thiago Batista, Paulo Floriano Universidade de
Leia maisAutor 1 Orientador: 1. dia de mês de ano
Título Autor 1 Orientador: 1 1 Laboratório de Sistemas de Computação Universidade Federal de Santa Maria dia de mês de ano Roteiro Introdução Fundamentação Desenvolvimento Resultados Conclusão e Trabalhos
Leia maisSistemas Distribuídos
Sistemas Distribuídos Motivação Aplicações Motivam Possibilita Engenharia Motivação! Aplicações cada vez mais complexas! Qual a técnica mais comum para redução de complexidade? " Modularização Dividir
Leia maisSSC0112 Organização de Computadores Digitais I - Turma 2
SSC0112 Organização de Computadores Digitais I - Turma 2 1ª Aula Apresentação e Introdução da disciplina Profa. Sarita Mazzini Bruschi sarita@icmc.usp.br Apresentada pelo Prof. Paulo Sergio Lopes de Souza
Leia maisA IMPORTÂNCIA DE THREADS NO DESEMPENHO DE APLICAÇÕES
A IMPORTÂNCIA DE THREADS NO DESEMPENHO DE APLICAÇÕES Euzébio da Costa Silva 1, Victor Pereira Ribeiro 2, Susana Brunoro Costa de Oliveira 3 1 29520-000, euzebioprogramacao@gmail.com 2 29520-000, victor3ifes@gmail.com
Leia maisINF1013 MODELAGEM DE SOFTWARE
INF1013 MODELAGEM DE SOFTWARE Departamento de Informática PUC-Rio Ivan Mathias Filho ivan@inf.puc-rio.br Programa Capítulo 1 O Paradigma Orientado a Objetos A Linguagem UML Descrição da Arquitetura 1 Programa
Leia maisArquiteturas de Computadores. Programa de Pós-Graduação em Ciência da Computação. Plano da aula
Arquiteturas de Computadores Programa de Pós-Graduação em Ciência da Computação Norian Marranghello Março/Junho de 2006 Plano da aula Informações gerais Provas e testes Programa da disciplina Informações
Leia maisProgramação Concorrente. Prof. Hugo Vieira Neto
Programação Concorrente Prof. Hugo Vieira Neto Concorrência Um programa concorrente descreve diversas atividades que ocorrem simultaneamente, de modo diferente de programas comuns, que descrevem apenas
Leia maisParalelização do Método de Jacobi em Memória Compartilhada 1
Paralelização do Método de Jacobi em Memória Compartilhada 1 Claudio Schepke cschepke@inf.ufrgs.br 1 PPGC - Instituto de Informática - UFRGS Introdução ao Processamento Paralelo e Distribuído Professor
Leia maisUSO DE PARALELISMO DE DADOS PARA MAIOR EFICIÊNCIA DE ALGORITMOS DE PROCESSAMENTO DE IMAGENS
Universidade Federal de Ouro Preto - UFOP Instituto de Ciências Exatas e Biológicas - ICEB Departamento de Computação - DECOM USO DE PARALELISMO DE DADOS PARA MAIOR EFICIÊNCIA DE ALGORITMOS DE PROCESSAMENTO
Leia maisIntrodução na Computação Distribuída e Paralela
ISUTIC 2017 Introdução na Computação Distribuída e Paralela Docente: MSc. Angel Alberto Vazquez Sánchez Características da matéria 90 horas no semestre Conferências, Aulas Práticas, Laboratórios e Seminários
Leia maisThe Excitement in Parallel Computing
The Excitement in Parallel Computing MAC0412 - Organização de Computadores Alberto Ueda, Bruno Ozahata, Camila Matsubara, Gabriel Pugliese, João Paulo Mota, Leonardo Marchetti, Mina Cintho e Pĺınio Esmerio
Leia maisANÁLISE DE DESEMPENHO DAS TOPOLOGIAS PARA SISTEMAS SOC
ANÁLISE DE DESEMPENHO DAS TOPOLOGIAS PARA SISTEMAS SOC Bruno Cesar Puli Dala Rosa (PIBIC/CNPq/FA/Uem), Anderson Faustino Da Silva (Orientador), e-mail: bcesar.g6@gmail.com Universidade Estadual de Maringá
Leia maisEstrutura de um computador digital. Gustavo Queiroz Fernandes
Gustavo Queiroz Fernandes Atualizado em: 18/02/2019 Sumário Objetivos... 1 Pré-requisitos... 1 Recursos e Materiais... 1 Última Atualização... 1 1. Memória primária... 1 2. Memória secundária... 2 3. Unidade
Leia maisProgramação Paralela e Distribuída
Curso de Informática DCC-IM / UFRJ Programação Paralela e Distribuída Um curso prático Mario J. Júnior Gabriel P. Silva Colaboração: Adriano O. Cruz, Julio S. Aude Ementa Paradigma de Troca de Mensagens
Leia maisProcessamento Paralelo & Multiprocessadores
Processamento Paralelo & Multies Motivação Tipos de máquinas paralelas Coerência entre caches UFPR Bacharelado em Ciência da Computação 1 UMA Uniform Memory Access no acesso à memória é a mesma para todos
Leia maisCUDA: Compute Unified Device Architecture. Marco Antonio Simões Teixeira
CUDA: Compute Unified Device Architecture Marco Antonio Simões Teixeira Sumário Introdução; CUDA: História; CUDA: programando; CUDA e deep learning; Links úteis; Considerações finais. 2 INTRODUÇÃO 3 O
Leia maisUMA PROPOSTA DE INTEGRAÇÃO DE APLICAÇÕES COM A UTILIZAÇÃO DA SIMULAÇÃO COMPUTACIONAL: ESTUDO DE CASO CAFÉ 1
UMA PROPOSTA DE INTEGRAÇÃO DE APLICAÇÕES COM A UTILIZAÇÃO DA SIMULAÇÃO COMPUTACIONAL: ESTUDO DE CASO CAFÉ 1 Shirlei Quevedo Dos Santos 2, Fabrícia Roos Frantz 3, Sandro Sawcki 4, Rafael Zancan Frantz 5.
Leia maisPROPOSTA DE UMA ESTRATÉGIA DE PROGRAMAÇÃO EXPLÍCITA COM ANOTAÇÃO EM CÓDIGO EM BUSCA DE EFICIÊNCIA ENERGÉTICA 1
PROPOSTA DE UMA ESTRATÉGIA DE PROGRAMAÇÃO EXPLÍCITA COM ANOTAÇÃO EM CÓDIGO EM BUSCA DE EFICIÊNCIA ENERGÉTICA 1 Bruno Mokan Muenchen 2, João Vicente Ferreira Lima 3. 1 Projeto de pesquisa realizado pelo
Leia maisCaracterísticas de Sistemas Distribuídos
Características de Sistemas Distribuídos Carlos Ferraz cagf@cin.ufpe.br 2002-2003 Carlos A. G. Ferraz 2 Tópicos O conceito de Sistemas Distribuídos Infra-estrutura básica Exemplos Vantagens e desvantagens
Leia maisSistemas Operacionais. Prof. Fabio Augusto Oliveira
Sistemas Operacionais Prof. Fabio Augusto Oliveira Threads Um processo representa uma sequência de instruções única, executada paralelamente a outra seqüências de instruções. Um thread é uma maneira de
Leia maisMonografia de Conclusão do Curso de Graduação em Ciência da Computação. 2
APLICAÇÃO DE BALANCEAMENTO DE CARGA COM CHARM++ NA PARALELIZANDO DE UM SIMULADOR DO MOVIMENTO DA ÁGUA NO SOLO 1 LOAD BALANCING APLICATION WITH CHARM++ IN THE PARALELIZATION OF A WATER MOVEMENT SIMULATOR
Leia maisImplementação de um escalonador de processos em GPU
Implementação de um escalonador de processos em GPU Guilherme Martins guilhermemartins@usp.br 6 de abril de 2017 Guilherme Martins (guilhermemartins@usp.br) Implementação de um escalonador de processos
Leia maisANÁLISE DE DESEMPENHO COM A PARALELIZAÇÃO DO CÁLCULO DE NÚMEROS PERFEITOS 1
ANÁLISE DE DESEMPENHO COM A PARALELIZAÇÃO DO CÁLCULO DE NÚMEROS PERFEITOS 1 Éder Paulo Pereira 2, Gilberto Przygoda Marmitt 3, Emilio Hoffmann De Oliveira 4, Edson Luiz Padoin 5, Carlos Eduardo Das Chagas
Leia maisINPE Outubro, Fabiana. S. Santana, César Bravo, Antonio. M. Saraiva Projeto:
INPE Outubro, 2008 Fabiana. S. Santana, César Bravo, Antonio. M. Saraiva fabiana.santana@usp.br, amsaraiv@usp.br Apoio: Instituição: Projeto: Objetivos: Apresentar versão de alto desempenho para o Garp
Leia maisSSC-0742 PROGRAMAÇÃO CONCORRENTE. Aula 04 Revisão de Arquiteturas Paralelas -Parte 2 Prof. Jó Ueyama e Julio Cezar Estrella
SSC-0742 PROGRAMAÇÃO CONCORRENTE Aula 04 Revisão de Arquiteturas Paralelas -Parte 2 Prof. Jó Ueyama e Julio Cezar Estrella Créditos Os slides integrantes deste material foram construídos a partr dos conteúdos
Leia maisDesigning Data Intensive Applications
Designing Data Intensive Applications Capítulo 1 Carmem Hara Aplicações Atuais Dados Processamento Problemas Volume Complexidade Velocidade de atualização Tecnologias SGBD: armazenamento Cache: resultados
Leia mais1 Introdução. I know because I must know. It's my purpose. It's the reason I'm here. (The Matrix) 1.1 Objetivos do trabalho
1 Introdução I know because I must know. It's my purpose. It's the reason I'm here. (The Matrix) 1.1 Objetivos do trabalho Os hardwares gráficos atualmente podem ser considerados como verdadeiros processadores
Leia maisMODELAGEM DE TRANSISTORES E DE CIRCUITOS ANALÓGICOS CMOS USANDO VERILOG-AMS
MODELAGEM DE TRANSISTORES E DE CIRCUITOS ANALÓGICOS CMOS USANDO VERILOG-AMS I. Autor: Prof. Oscar da Costa Gouveia Filho Departamento de Engenharia Elétrica Universidade Federal do Paraná II. Resumo: Verilog-AMS
Leia maisOrganização Básica de Computadores. Organização Básica de Computadores. Organização Básica de Computadores. Organização Básica de Computadores
Ciência da Computação Arq. e Org. de Computadores Processadores Prof. Sergio Ribeiro Composição básica de um computador eletrônico digital: Processador Memória Memória Principal Memória Secundária Dispositivos
Leia maisXV ESCOLA REGIONAL DE ALTO DESEMPENHO ERAD 2015
XV ESCOLA REGIONAL DE ALTO DESEMPENHO ERAD 2015 Impacto das Interfaces de Programação Paralela e do Grau de Paralelismo no Consumo Energético de uma Aplicação Thayson R. Karlinski, Arthur F. Lorenzon,
Leia maisCarlos Eduardo Batista Centro de Informática - UFPB
Carlos Eduardo Batista Centro de Informática - UFPB bidu@ci.ufpb.br Motivação Arquitetura de computadores modernos Desafios da programação concorrente Definição de concorrência Correr junto Disputa por
Leia maisScheduling and Task Allocation ADVANCED COMPUTER ARCHITECTURE AND PARALLEL PROCESSING Hesham El-Rewini 2005 Capítulo 10 Autor...: Antonio Edson Ceccon Professor..: Prof. Heitor Silvério Lopes Apresentação
Leia maisComplexidade de Tempo e Espaço
Complexidade de Tempo e Espaço Profa. Sheila Morais de Almeida DAINF-UTFPR-PG junho - 2018 Sheila Almeida (DAINF-UTFPR-PG) Complexidade de Tempo e Espaço junho - 2018 1 / 43 Este material é preparado usando
Leia maisMaterial baseado nos slides de: Marcos José Santana Regina Helena Carlucci Santana
Universidade de São Paulo Instituto de Ciências Matemáticas e de Computação Departamento de Sistemas de Computação SSC643 Avaliaçãode Desempenhode Sistemas Computacionais Aula 5 Sarita Mazzini Bruschi
Leia maisSSC546 Avaliação de Sistemas Computacionais Parte 1 -Aula 3 Sarita Mazzini Bruschi
Universidade de São Paulo Instituto de Ciências Matemáticas e de Computação Departamento de Sistemas de Computação SSC546 Avaliação de Sistemas Computacionais Parte 1 -Aula 3 Sarita Mazzini Bruschi Material
Leia maisMODOS DE ENDEREÇAMENTO E CONJUNTO DE INSTRUÇÕES
MODOS DE ENDEREÇAMENTO E CONJUNTO DE INSTRUÇÕES Alexandre Lucas Chichosz Discente do curso Engenharia da Computação Calwann de Souza Freire Discente do curso Engenharia da Computação Myke Albuquerque Pinto
Leia maisProgramação de Alto Desempenho - 2. Prof: Carla Osthoff
Programação de Alto Desempenho - 2 Prof: Carla Osthoff E-mail: osthoff@lncc.br 3- Modelos de programação paralela Shared Memory/Threads Posix Win32 treads OpenMP Message Passing MPI Data Parallel OpenCL/Cuda
Leia maisCST em Redes de Computadores
CST em Redes de Computadores Comunicação de Dados II Aula 10 Camada de Enlace de Dados Prof: Jéferson Mendonça de Limas Introdução Função das Camadas Anteriores: Aplicação: fornece a interface com o usuário;
Leia maisUNIVERSIDADE FEDERAL DE UBERLÂNDIA UFU
UNIVERSIDADE FEDERAL DE UBERLÂNDIA UFU PLANO DE TRABALHO EM INICIAÇÃO CIENTÍFICA Desenvolvimento e aplicação de um modelo gravitacional simplificado para análise de texturas coloridas. Uberlândia 30/04/2014
Leia maisSistemas Operacionais. Conceitos de Hardware
Sistemas Operacionais Conceitos de Hardware Sumário 1. Introdução 7. RISC e CISC 2. Processador 1. Operações de Processamento 2. Unidade de Controle 3. Ciclos de uma Instrução 3. Memória 1. Memória Principal
Leia maisProgramação Concorrente
INE 5410 Programação Concorrente Professor: Lau Cheuk Lung (turma A) INE UFSC lau.lung@inf.ufsc.br Conteúdo Programático 1. 2. Programação Concorrente 3. Sincronização 1. Condição de corrida, região critica
Leia maisBarramento. Prof. Leonardo Barreto Campos 1
Barramento Prof. Leonardo Barreto Campos 1 Sumário Introdução; Componentes do Computador; Funções dos Computadores; Estrutura de Interconexão; Interconexão de Barramentos Elementos de projeto de barramento;
Leia maisDesenvolvimento de um Middleware Distribuído para Ordenação de Mensagens Segundo os Algoritmos FIFO, Causal e Total
Desenvolvimento de um Middleware Distribuído para Ordenação de Mensagens Segundo os Algoritmos FIFO, Causal e Total Rafael da Rosa Righi 1, Rodrigo da Rosa Righi 2 1 Laboratório de Redes e Gerência (LRG)
Leia maisTópicos Avançados em Sistemas Computacionais: Infraestrutura de Hardware Aula 02
Tópicos Avançados em Sistemas Computacionais: Infraestrutura de Hardware Aula 02 Prof. Max Santana Rolemberg Farias max.santana@univasf.edu.br Colegiado de Engenharia de Computação POR QUE APRENDER CONCEITOS
Leia mais22/02/2017. Prof. Richard Brosler Revisão sobre a pré-aula Tipos de Concorrências, Sincronização
Prof. Richard Brosler richard.brosler@anhanguera.com Revisão sobre a pré-aula Tipos de Concorrências, Sincronização Apresentação da SGA Desenvolvimento de atividade pré SP Desenvolvimento da atividade
Leia maisCOMPUTAÇÃO PARALELA E DISTRIBUÍDA
COMPUTAÇÃO PARALELA E DISTRIBUÍDA Aluno: Alessandro Faletti Orientadora: Noemi Rodriguez Introdução O objetivo inicial no projeto era aplicar a possibilidade de processamento em paralelo no sistema CSBase
Leia maisSistemas MIMD. CES-25 Arquiteturas para Alto Desmpenho. Paulo André Castro
Sistemas MIMD Arquiteturas para Alto Desmpenho Prof. pauloac@ita.br Sala 110 Prédio da Computação www.comp.ita.br/~pauloac Arquiteturas Paralelas (SISD) Single Instruction Stream, Single Data Stream: Monoprocessador
Leia maisSISTEMAS OPERACIONAIS DE REDE
SISTEMAS OPERACIONAIS DE REDE Questão 01 O sistema operacional gerencia o sistema de arquivos, que irá armazenar as informações/arquivos. Para esta tarefa, durante a formatação do disco rígido, são criados
Leia mais