Modelo de Memória Reconfigurável para Sistemas Computacionais Paralelos

Tamanho: px
Começar a partir da página:

Download "Modelo de Memória Reconfigurável para Sistemas Computacionais Paralelos"

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

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 mais

Algoritmos de Consistência para Softwares DSM Baseados em Objetos

Algoritmos 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 mais

Universidade 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 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 mais

Modelos para Concorrência

Modelos 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 mais

Introdução à Computação: Sistemas de Computação

Introduçã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 mais

speedup aprimorado aprimorado Fração aprimorada speedup aprimorado Fração aprimorada speedup aprimorado Tempo original Fração aprimorada aprimorado

speedup 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 mais

AULA 03: PROCESSAMENTO PARALELO: MULTIPROCESSADORES

AULA 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 mais

Arquitetura 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 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 mais

OpenMP: Variáveis de Ambiente

OpenMP: 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 mais

Arquiteturas Paralelas

Arquiteturas 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 mais

BALANCEAMENTO 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 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 mais

Caracterização de Sistemas Distribuídos

Caracterizaçã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 mais

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

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 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 mais

Avaliação do Tempo de Processamento e Comunicação via Rotinas MPI Assíncronas no Modelo OLAM

Avaliaçã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 mais

Memória Compartilhada e Distribuída. _ Notas de Aula _ Prof. Tiago Garcia de Senna Carneiro DECOM/UFOP

Memó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 mais

Bacharelado em Sistemas de Informação Sistemas Operacionais. Prof. Filipo Mór

Bacharelado 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 mais

30/5/2011. Sistemas computacionais para processamento paralelo e distribuído

30/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 mais

Um 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 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 mais

Análise empírica de algoritmos de ordenação

Aná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 mais

Aluno de Pós-Graduação em Engenharia de Software para Dispositivos Móveis pela UNINTER

Aluno 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 mais

SSC510 Arquitetura de Computadores. 6ª aula

SSC510 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 mais

Uma Proposta para Migração de Páginas Linux

Uma 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 mais

SISTEMAS DISTRIBUÍDOS

SISTEMAS 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 mais

AULA 06: PROGRAMAÇÃO EM MÁQUINAS PARALELAS

AULA 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 mais

Arquitetura de Computadores. Processamento Paralelo

Arquitetura 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 mais

Definindo melhor alguns conceitos

Definindo 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 mais

SIST706 Sistemas Distribuídos

SIST706 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 mais

Suporte à 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 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 mais

Paralelização de Algoritmos de CFD em Clusters Multi-Core MC7. Escola de Verão Arquiteturas Multi-Core

Paralelizaçã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 mais

Sistemas de Troca de Mensagens

Sistemas 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 mais

Modelo de Programação Paralela

Modelo 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 mais

Pá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. 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 mais

Escalonamento de Aplicações BoT em Ambiente de Nuvem

Escalonamento 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 mais

Introdução aos Sistemas Distribuídos

Introduçã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 mais

Uma Arquitetura Reconfigurável de Granularidade Grossa Para Multicore

Uma 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 mais

Modelo de Acesso Reconfigurável à Memória para Sistemas Computacionais Paralelos

Modelo 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 mais

Sistemas Distribuídos

Sistemas 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 mais

Preliminares. Profa. Sheila Morais de Almeida. agosto

Preliminares. 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 mais

SSC0611 Arquitetura de Computadores

SSC0611 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 mais

Predição de Utilização de Recursos Computacionais Usando Séries Temporais

Prediçã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 mais

Introdução Diagrama de Classes Diagrama de Seqüência Diagrama de Atividades. Diagramas UML. Classe, Seqüência e Atividades. Marcio E. F.

Introduçã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 mais

Sistemas Distribuídos. Ricardo Ribeiro dos Santos

Sistemas 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 mais

Universidade 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 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 mais

Sumário. Referências utilizadas. Introdução. MAFIA: Merging of Adaptive Finite Intervals. Introdução Visão Geral e Objetivos do MAFIA

Sumá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 mais

Arquitetura de Sistemas Digitais

Arquitetura 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 mais

PARALELIZAÇÃ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 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 mais

PROJETO LÓGICO DE COMPUTADORES Prof. Ricardo Rodrigues Barcelar

PROJETO 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 mais

Programação Paralela e Concorrente

Programaçã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 mais

Sistemas Distribuídos. Ricardo Ribeiro dos Santos

Sistemas 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 mais

Introduçã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 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 mais

The future is parallel but it may not be easy

The 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 mais

Autor 1 Orientador: 1. dia de mês de ano

Autor 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 mais

Sistemas Distribuídos

Sistemas 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 mais

SSC0112 Organização de Computadores Digitais I - Turma 2

SSC0112 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 mais

A IMPORTÂNCIA DE THREADS NO DESEMPENHO DE APLICAÇÕES

A 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 mais

INF1013 MODELAGEM DE SOFTWARE

INF1013 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 mais

Arquiteturas 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. 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 mais

Programação Concorrente. Prof. Hugo Vieira Neto

Programaçã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 mais

Paralelização do Método de Jacobi em Memória Compartilhada 1

Paralelizaçã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 mais

USO DE PARALELISMO DE DADOS PARA MAIOR EFICIÊNCIA DE ALGORITMOS DE PROCESSAMENTO DE IMAGENS

USO 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 mais

Introdução na Computação Distribuída e Paralela

Introduçã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 mais

The Excitement in Parallel Computing

The 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 mais

ANÁLISE DE DESEMPENHO DAS TOPOLOGIAS PARA SISTEMAS SOC

ANÁ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 mais

Estrutura de um computador digital. Gustavo Queiroz Fernandes

Estrutura 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 mais

Programação Paralela e Distribuída

Programaçã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 mais

Processamento Paralelo & Multiprocessadores

Processamento 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 mais

CUDA: Compute Unified Device Architecture. Marco Antonio Simões Teixeira

CUDA: 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 mais

UMA 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 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 mais

PROPOSTA 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 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 mais

Características de Sistemas Distribuídos

Caracterí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 mais

Sistemas Operacionais. Prof. Fabio Augusto Oliveira

Sistemas 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 mais

Monografia de Conclusão do Curso de Graduação em Ciência da Computação. 2

Monografia 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 mais

Implementação de um escalonador de processos em GPU

Implementaçã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 mais

ANÁ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 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 mais

INPE Outubro, Fabiana. S. Santana, César Bravo, Antonio. M. Saraiva Projeto:

INPE 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 mais

SSC-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 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 mais

Designing Data Intensive Applications

Designing 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 mais

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

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 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 mais

MODELAGEM DE TRANSISTORES E DE CIRCUITOS ANALÓGICOS CMOS USANDO VERILOG-AMS

MODELAGEM 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 mais

Organização Básica de Computadores. Organização Básica de Computadores. Organização Básica de Computadores. Organização Básica de Computadores

Organizaçã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 mais

XV ESCOLA REGIONAL DE ALTO DESEMPENHO ERAD 2015

XV 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 mais

Carlos Eduardo Batista Centro de Informática - UFPB

Carlos 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 mais

Scheduling 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 mais

Complexidade de Tempo e Espaço

Complexidade 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 mais

Material baseado nos slides de: Marcos José Santana Regina Helena Carlucci Santana

Material 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 mais

SSC546 Avaliação de Sistemas Computacionais Parte 1 -Aula 3 Sarita Mazzini Bruschi

SSC546 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 mais

MODOS DE ENDEREÇAMENTO E CONJUNTO DE INSTRUÇÕES

MODOS 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 mais

Programação de Alto Desempenho - 2. Prof: Carla Osthoff

Programaçã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 mais

CST em Redes de Computadores

CST 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 mais

UNIVERSIDADE FEDERAL DE UBERLÂNDIA UFU

UNIVERSIDADE 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 mais

Sistemas Operacionais. Conceitos de Hardware

Sistemas 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 mais

Programação Concorrente

Programaçã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 mais

Barramento. Prof. Leonardo Barreto Campos 1

Barramento. 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 mais

Desenvolvimento 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 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 mais

Tópicos Avançados em Sistemas Computacionais: Infraestrutura de Hardware Aula 02

Tó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 mais

22/02/2017. Prof. Richard Brosler Revisão sobre a pré-aula Tipos de Concorrências, Sincronização

22/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 mais

COMPUTAÇÃO PARALELA E DISTRIBUÍDA

COMPUTAÇÃ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 mais

Sistemas MIMD. CES-25 Arquiteturas para Alto Desmpenho. Paulo André Castro

Sistemas 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 mais

SISTEMAS OPERACIONAIS DE REDE

SISTEMAS 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