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

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

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

Transcrição

1 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 UNA Resumo Este trabalho apresenta o RMAM (Reconfigurable Memory Access Model), proposto como hipótese de solução para o problema de perda de desempenho causado pela falta de adequação do modelo de memória dos sistemas paralelos ao modelo de acesso à memória da carga de trabalho. O modelo de acesso à memória da carga de trabalho é determinado pelas características inerentes à carga e pelo modelo de programação adotado. O objetivo do RMAM é a obtenção de ganho de desempenho na execução de cada carga de trabalho e de desempenho médio de sistemas computacionais paralelos. Os resultados mostram que o RMAM aumenta a flexibilidade e escalabilidade dos sistemas paralelos, adapta as memórias destes sistemas às diferentes classes de cargas paralelas melhorando o desempenho para cada carga de trabalho e também o desempenho médio do sistema. 1. Introdução O funcionamento, desempenho e eficiência dos sistemas computacionais paralelos (SCP) são fortemente influenciados pelo desempenho dos elementos de processamento (EPs) que, por sua vez, está fortemente relacionado com o modelo de memória do sistema e com as características de acesso á memória das cargas de trabalho executadas paralelamente. Cada carga de trabalho normalmente é desenvolvida baseada em um modelo único, fixo e estático de acesso à memória. Diferentes classes de cargas de trabalho possuem diferentes características de acesso à memória. Este modelo influencia ou determina a escolha do modelo de algoritmo paralelo e do modelo de programação paralela usados na implementação da carga. Alguns trabalhos analisam as combinações de diferentes modelos de algoritmo [1] e Carlos Augusto Paiva da Silva Martins Programa de Pós-Graduação em Engenharia Elétrica Pontifícia Universidade Católica de Minas Gerais programação [2] [3] com os modelos de memória para cargas de trabalho em SCPs reais. Os resultados destes trabalhos mostram que cada carga possui um modelo de algoritmo, programação e memória mais adequados às suas características de acesso à memória, em termos de desempenho. Cada SCP possui um modelo de memória único, fixo e estático, determinado pela sua arquitetura. Diferentes cargas de trabalho com diferentes características de acesso à memória são executadas nestes sistemas. Desde modo, destacamos como o problema motivador deste trabalho o fato de não existir um único modelo de memória ideal para todas as cargas de trabalho já que cada classe de carga possui um modelo de memória mais adequado às suas característica de acesso, em termos de desempenho. O objetivo deste trabalho é apresentar e verificar o RMAM (Reconfigurable Memory Access Model), um modelo de acesso reconfigurável à memória para sistemas computacionais paralelos, proposto como hipótese de solução para o problema da perda de desempenho causada pela falta de adequação do modelo de memória dos SCPs aos diferentes modelos de acesso à memória de cada uma das diferentes classes de carga de trabalho executadas no SCP. O RMAM é um modelo otimizado para obter ganho de desempenho na execução de cada carga de trabalho e também ganho de desempenho médio, através da aplicação de conceitos de computação reconfigurável. A seguir, são apresentados: os trabalhos relacionados, o RMAM, os resultados, as conclusões do trabalho e trabalhos futuros, algumas informações adicionais e, finalmente, as referências bibliográficas. 2. Trabalhos relacionados Até o momento não foram encontrados trabalhos relacionados diretamente com a proposta de solução (modelo de memória reconfigurável para SPCs). A

2 maioria dos trabalhos está relacionada com o problema (adequação do modelo de memória do SPC às características de acesso à memória da carga de trabalho) [4], [5], [6], [7], [8], [9], [10], [11]. [4] usa placas reconfiguráveis nos nós de um cluster de computadores. Este trabalho propõe uma arquitetura de memória que dá suporte à programação com variáveis compartilhadas em um cluster, ambiente com arquitetura de memória distribuída, programado tipicamente com passagem de mensagem. Esta pesquisa propõe a implementação de uma arquitetura reconfigurável restrita para clusters de computadores e específica para redes neurais. Dreier [5] propõe Rthreads, um software de memória compartilhada-distribuída que suporta compartilhamento de variáveis globais em clusters de computadores com memória distribuída fisicamente. A proposta é semelhante aos DSMs (Distributed-Shared Memory) [6] [7] [8] [9]. Os programas são executados sobre um modelo de memória fixo (memória distribuída) sendo que, o que varia é o modelo de programação suportado pelo ambiente Rthreads. O sistema causa overhead por causa da passagem de mensagens necessária para prover o modelo de memória compartilhada e não é reconfigurável. [10] considera que interconexões com alta velocidade podem construir um computador paralelo com memória compartilhada a partir de um cluster. Neste sistema a rede implementa a memória compartilhada, chamada Network Shared Memory. Cada estação de trabalho tem um NMI (Network Memory Interface) usado para a interconexão dos EPs das estações do computador paralelo. Esta rede com memória compartilhada consiste de um conjunto de bancos de memória implementados dentro dos NMIs que são conectados juntos em um anel por links de alta velocidade de comunicação. Esta memória circular é o que constitui o espaço de endereçamento da memória fisicamente compartilhada de todos os processadores do aglomerado. Esta arquitetura possui modelo de memória fixo e estático, não havendo reconfiguração e é uma implementação que provê memória compartilhada, tendo como principal diferença em relação ao RMAM o modelo de acesso à memória. [11] apresenta Smart Memories, uma proposta de arquitetura reconfigurável modular que contém smart memory chips, composta por várias partes, cada uma contendo memória local, interconexão local e um núcleo de processador. Para alcançar eficiência na computação, as memórias, as conexões e o modelo computacional podem ser alterados para se adequar às aplicações. A principal diferença do Smart Memories para o RMAM é o fato de que o primeiro necessita de modificações no algoritmo ou programa, enquanto no segundo as alterações acontecem na configuração do hardware e o sistema é responsável pela execução da carga independente do modelo de algoritmo ou programação utilizado. Além disso, o Smart Memories é uma proposta de uma implementação, enquanto o RMA-OM é uma proposta de um modelo arquitetural e pode ser aplicado em diferentes implementações. 3. RMAM (Reconfigurable Memory Access Model) A nossa proposta de solução para o problema motivador desta pesquisa é baseada na aplicação de conceitos de computação reconfigurável em modelos de memória para ganho de desempenho, uma vez que este paradigma apresenta a possibilidade de aumentar flexibilidade, adaptabilidade e desempenho dos sistemas computacionais, através da combinação do desempenho do hardware com a flexibilidade do software [12]. A proposta é baseada na hipótese de que um modelo de memória reconfigurável possibilita o aumento da flexibilidade e escalabilidade dos SPCs adaptando esses sistemas às diferentes classes de cargas paralelas e melhorando o seu desempenho. O RMAM foi proposto em duas versões: RMA-AM (Reconfigurable Memory Access Analytical Model) e RMA-OM (Reconfigurable Memory Access Operational Model). A versão analítica do RMAM, RMA-AM é baseada nos modelos analíticos de computadores PRAM (Parallel Random Access Machine) e MP-RAM (Message-Passing Random Access Machine) [13]. O RMA-AM foi desenvolvido a partir do incremento do PRAM e MP-RAM e tem como objetivo atender aos mesmos fins que estes modelos, ou seja, permitir a análise de algoritmos e de complexidade de algoritmos de aplicações paralelas. O RMA-AM assume as mesmas definições e simplificações do PRAM e do MP-RAM. Estes dois modelos foram utilizados como base para a proposta do RMA-AM pelo fato de que representam as duas principais classes de SPCs: multiprocessadores (PRAM: espaço de endereçamento único) e multicomputadores (MP-RAM: espaços de endereçamentos múltiplos e privativos). O RMA-AM consiste de uma coleção de RAMs com memórias individuais replicadas que podem ser compartilhadas com as outras RAMs ou privativas. Em caso de compartilhamento de memória, a comunicação entre as RAMs é realizada através de operações simples de leitura e escrita na memória. Quando as memórias são privativas, a comunicação é realizada

3 através de acessos indiretos às memórias das outras RAMs através do bloco de reconfiguração. O espaço de endereçamento é formado pelo conjunto das memórias das RAMs. Estas memórias podem mapear ou emular o comportamento de um PRAM ou de um MP-RAM através da sua reconfiguração. Assim, o espaço de endereçamento do sistema pode ser único e compartilhado, formado pelos sub-espaços de todas as memórias das RAMs ou pode ser formado por sub-espaços independentes acessíveis somente às suas RAMs. O RMA-AM pode ainda emular a combinação dos modelos PRAM e MP-RAM, de forma que o espaço de endereçamento do sistema pode ser formado de modo heterogêneo: algumas RAMs compartilham suas memórias (seus espaços de endereçamento) e outras RAMs possuem memória privada, não acessível a nenhuma outra. Além disso, os sub-espaços de cada RAM podem ser divididos de forma que parte da memória seja compartilhada com as outras RAMs, formando o espaço de endereçamento compartilhado do sistema, e outra parte da memória seja privativa formando um sub-espaço de endereçamento acessível somente à RAM proprietária. O espaço de endereçamento é reconfigurado através do Bloco de Reconfiguração (BR), composto pelo BRs de cada RAMs. Este BR permite a alteração do comportamento do modelo de memória do SPC, configurando-o para que se comporte como um PRAM, MP-RAM, combinação de ambos, ou um outro modelo de acesso à memória, e adaptando-o às características de acesso à memória da carga de trabalho em execução. Os modelos PRAM e MP-RAM apresentam comportamento único, fixo e estático, enquanto o RMA-AM é múltiplo e dinâmico, podendo ser reconfigurado, através dos blocos de reconfiguração, de acordo com as características de acesso à memória das cargas de trabalho. A Figura 1 representa o RMA-AM, onde a linha de divisão central é o BR do sistema. O RMA-AM permite a análise de complexidade adequada ao modelo de programação ou de algoritmo paralelos utilizados. O RMA-AM foi verificado usando Redes de Petri (RdPs) [14]. Maiores detalhes sobre o RMA-AM são apresentados em [15] [16]. A partir do estudo dos modelos UMA (Uniform Memory Access) e NORMA (No-remote Memory Access), concluiu-se que o modelo de memória ideal em termos de desempenho, adequado a todas as classes de cargas de trabalho, deve possuir memória distribuída espacialmente e com comportamento dinâmico e reconfigurável, possibilitando o uso de memória logicamente distribuída e/ou compartilhada. Uma aplicação paralela de grão-fino demanda um modelo de programação paralela usando variável compartilhada, seja com thread, processo ou API (Application Program Interface) de programação paralela, pois esse tipo de aplicação demanda uma grande quantidade de comunicação. A arquitetura ideal do SPC neste caso seria uma máquina com modelo UMA, que não causaria perda de desempenho na comunicação entre os EPs. M4 M3 M1 M2 Figura 1. RMA-AM: Modelo de acesso reconfigurável à memória modelo analítico Bloco de reconfiguração Já uma aplicação paralela de grão-grosso, com pouca ou nenhuma comunicação, pode ser implementada com modelo de programação usando variáveis compartilhadas ou passagem de mensagem. Essa característica isolada leva a concluir que poderia ser executada igualmente em uma arquitetura com modelo UMA ou NORMA. No entanto, uma vez que as porções paralelas da aplicação são executadas de forma independente na maior parte do tempo, arquiteturas UMA podem apresentar um gargalo desnecessário no acesso à memória, devido à concorrência exclusiva pelo recurso (memória), uma vez que a memória é compartilhada espacialmente. Deste modo, a arquitetura ideal para aplicações desse tipo é aquela baseada no modelo NORMA. Os modelos UMA e NORMA possuem apenas algumas das características citadas anteriormente e, portanto, não são adequados para todas as classes de carga de trabalho, principalmente por possuírem comportamento fixo e estático. Este é o fundamento principal para a proposta do RMA-OM. O RMA-OM possui memória distribuída espacialmente e permite a reconfiguração da estrutura de ligação física dos módulos de memória, possibilitando o uso de memória logicamente distribuída e/ou compartilhada, evitando perda de desempenho causada por gargalos

4 desnecessários ou por comunicação através de passagem de mensagem desnecessariamente. O RMA-OM tem estrutura e comportamento reconfiguráveis, múltiplos e dinâmicos, podendo mapear ou emular modelos operacionais existentes, como o UMA e o NORMA, e também suas combinações. A configuração ideal é determinada pelas características de acesso à memória de cada carga de trabalho em execução. O RMA-OM é composto por n módulos, cada um contendo EPs, memória local e bloco de reconfiguração (BR). Deste modo, a memória do sistema é distribuída espacialmente. A memória local de cada um destes módulos pode formar um espaço de endereçamento local privado ou ser usado para compor um espaço de endereçamento compartilhado pelo sistema. Além disso, o espaço de endereçamento pode ser formado de modo que parte seja local privado e parte componha o espaço de endereçamento compartilhado do sistema. Deste modo, o espaço de endereçamento do sistema é reconfigurável e pode ser formado por diferentes combinações dos sub-espaços de endereçamento físico e/ou lógico individuais dos nós. Este espaço de endereçamento pode ser formado dinamicamente, de modo homogêneo ou heterogêneo e é implementado pelos BRs. Deste modo, o sistema pode implementar um espaço de endereçamento único e compartilhado (como o UMA), sub-espaços de endereçamento locais e privados (como o NORMA), ou ainda vários espaços de endereçamento formados por diferentes combinações de sub-espaços e configurados de forma heterogênea, no tempo e/ou no espaço, para serem compartilhados ou não. A Figura 2 apresenta o RMA-OM. Os nós são interligados pelos BRs através de seus mecanismos de comunicação. O BR é responsável pelo controle e gerenciamento do sub-espaço de endereçamento local do nó, do espaço de endereçamento do sistema e pela comunicação entre as memórias dos nós. Existe uma tabela de referências que indica a configuração dos sub-espaços de endereçamento físico e lógico, se estão compartilhados, privados, homogêneos ou heterogêneos e em qual nó e em quais endereços físicos estão mapeados dinamicamente os endereços lógicos. Esta pesquisa não se preocupa com detalhes de implementação do RMA-OM, uma vez que a proposta é um modelo de memória para sistemas computacionais paralelos e não uma implementação de uma arquitetura. No entanto, a própria descrição do RMA-OM auxilia e indica caminhos para a implementação de uma arquitetura baseada neste modelo. Um computador paralelo baseado no modelo RMA- OM pode ser construído utilizando FPGA s (Field Programmable Gate Array) [17] [12] [18] para implementar os blocos de reconfiguração das memórias. O FPGA implementará a tabela de gerenciamento de memória contendo a representação do espaço de endereçamento atual do sistema. Além de implementar a tabela de gerenciamento da memória, os FPGA s podem ser configurados para implementarem partes de memória físicas que podem ser compartilhadas ou não. Vale ressaltar que o mecanismo de comunicação do sistema que implementa o modelo deve possuir alta largura de banda e baixa latência, para que a sobrecarga de comunicação nos acessos aos espaços de endereçamento remotos ao nó não seja alta. 4. Resultados Para verificação do RMA-AM, foram usadas Redes de Petri. As RdPs foram simuladas para coleta de tempos e contadores de acesso. Estes resultados não serão apresentados neste artigo por questão de espaço, mas estão disponíveis em [19]. Parte dos resultados é apresentada em [15] e [16]. Figura 2. RMA-OM: Modelo de acesso reconfigurável à memória modelo operacional

5 Para verificação do RMA-OM foi usada simulação. Esse método de verificação foi escolhido por questões de complexidade para modelagem analítica, altos custos e falta de recursos para experimentação real. Foi utilizada a ferramenta ClusterSim (Cluster Simulation Tool) [20] por apresentar melhores características do que as correlatas analisadas, como variedade de métricas para avaliação e análise de desempenho, flexibilidade para modelagem de diferentes arquiteturas, interface gráfica e possibilidade de definir instruções de carga de trabalho. Modelamos cargas de trabalho sintéticas, compostas por partes com diferentes características e comportamentos de acesso, tornando-se heterogêneas no tempo e no espaço. O objetivo das cargas é proporcionar, de modo controlado, a avaliação e análise de todas as variantes heterogêneas observadas em cargas de trabalho reais. Todos os testes foram realizados em arquiteturas com 16 EPs. As cargas de trabalho utilizadas são compostas pelas seguintes cargas simples: W1 (100% de acessos ao espaço de endereçamento da própria terefa) e W2 (100% de acessos ao espaço de endereçamento de outra tarefa). As cargas heterogêneas no tempo, WTx, são compostas por porções de W1 ou W2 a cada intervalo de tempo e as heterogêneas no espaço, WEx, são compostas por porções de W1 e de W2, simultaneamente. As cargas de trabalho heterogêneas no tempo e no espaço, WTEx, são formadas por diferentes combinações de WEx ao longo do tempo. As Tabelas 1, 2 e 3 apresentam as cargas WTx, WEx e WTEx, respectivamente. As tabelas indicam a porcentagem de cada carga simples (W1 ou W2), no caso de WEx e WTx, ou composta (WEx ou WTx), no caso de WTEx, que compõem cada carga. As Tabelas 4, 5, 6 e 7 apresentam os tempos de resposta obtidos com a simulação das cargas de trabalho compostas heterogêneas no tempo WTx, para os modelos UMA, NORMA e RMA-OM. A coluna Configuração das tabelas representa: número de EPs, número de tarefas e número de acessos suportado pela memória, respectivamente. Estas tabelas mostram que o RMA-OM é o melhor modelo para estas cargas de trabalho. Estes resultados foram alcançados devido à capacidade de reconfiguração do modelo, que se comporta com as características mais adequadas para a carga de trabalho em execução, ao longo do eixo do tempo. O RMA-OM se iguala ao melhor modelo tradicional para cada porção da carga de trabalho, apresentando o melhor resultado durante toda a execução da carga, enquanto o UMA e o NORMA apresentam os melhores resultados em uma determinada porção da carga, mas apresentam os piores em outras porções. Tabela 1. WEx Tabela 2. WTx Tabela 3. WTEx Carga W1 na carga W2 na carga WE1 0,25 0,75 WE2 0,15 0,85 WE3 0,5 0,5 WE4 0,45 0,55 WE5 0,70 0,30 Carga Primeiro intervalo de tempo Segundo intervalo de tempo WT1 0,2W1 0,8W2 WT2 0,4W1 0,6W2 WT3 0,6W1 0,4W2 WT4 0,8 W1 0,2W2 WTE1 WTE2 WTE3 WTE4 20% do tempo 60% do tempo 20% do tempo 0,3WE1+0,7WE2 0,8WE2+0,2WE1 0,5WE1+0,5WE2 10% do tempo 80% do tempo 10% do tempo 0,3WE3+0,7WE4 0,8WE4+0,2WE5 0,5WE4+0,5WE3 10% do tempo 80% do tempo 10% do tempo 0,3WE5 +0,7WE1 0,8WE4 +0,2WE2 0,5WE2+0,5WE5 10% do tempo 80% do tempo 10% do tempo 0,3WE4+0,7WE1 0,8WE4+0,2WE2 0,5WE2+0,5WE5 Tabela 4. Tempos de resposta para WT1 com UMA, NORMA e RMA-OM. Configuração UMA NORMA RMA-OM (2, 2, 1) 3, ,93 2,74 (4, 4, 1) 3, ,47 1,37 (8, 8, 1) 3, ,24 0,68 (16, 16, 16) 3, ,11 0,34 Tabela 5. Tempos de resposta para WT2 com UMA, NORMA e RMA-OM. Configuração UMA NORMA RMA-OM (2, 2, 1) 3, ,12 2,74 (4, 4, 1) 3, ,56 1,37 (8, 8, 1) 3, ,78 0,68 (16, 16, 16) 3, ,13 0,34 Tabela 6. Tempos de resposta para WT3 com os modelos UMA, NORMA e RMA-OM. Configuração UMA NORMA RMA-OM (2, 2, 1) 3, ,32 2,40 (4, 4, 1) 3, ,66 1,20 (8, 8, 1) 3, ,33 0,60 (16, 16, 16) 3, ,16 0,30 Tabela 7. Tempos de resposta para WT4 com os modelos UMA, NORMA e RMA-OM. Configuração UMA NORMA RMA-OM (2, 2, 1) 3, ,51 2,05 (4, 4, 1) 3, ,76 1,03 (8, 8, 1) 3, ,88 0,51 (16, 16, 16) 3, ,19 0,26

6 A Figura 3 apresenta os tempos de resposta obtidos com a simulação das cargas de trabalho compostas heterogêneas no espaço WEx para os modelos UMA, NORMA e RMA-OM. Já a Figura 4 apresenta os tempos de resposta para as cargas WTEx. Os tempos obtidos com a simulação das cargas WEx e WTEx na NORMA ficaram muito maiores do que a UMA e RMA-OM, ultrapassando os 44 milisegundos. Caso fossem incluídos no gráfico, os tempos da UMA e do RMA-OM não ficariam visíveis na escala linear. Por isto, os tempos da NORMA para estas cargas de trabalho não foram apresentados. Como mostram as Figuras 3 e 4, os tempos de resposta da UMA e RMA-OM para as cinco cargas de trabalho heterogêneas no espaço são iguais entre si e para as cinco cargas de trabalho heterogêneas no tempo e no espaço também são iguais entre si. Do mesmo modo, os tempos de resposta da NORMA, apesar de não aparecerem no gráfico, também ficaram iguais para as cinco cargas de cada tipo. Este comportamento se deve às proporções que foram atribuídas às cargas e à divisão proporcional do número de EPs [19]. Os tempos do RMA-OM são significativamente melhores do que os da UMA. O RMA-OM apresentou um ganho igual a 8 em relação à UMA para todas as cargas de trabalho heterogêneas no espaço. Para estas cargas de trabalho, o RMA-OM possui a grande vantagem de poder ser configurado de forma heterogênea, ou seja, parte dos seus EPs foi configurada para compartilhar memória e outra parte foi configurada para trabalhar com memória distribuída, todos simultaneamente. A Figura 4 mostra que os tempos obtidos pelo RMA-OM também são significativamente melhores do que a UMA para as cargas de trabalho compostas heterogêneas no tempo e no espaço. Novamente, o ganho apresentado pelo RMA-OM em relação à UMA é igual a 8. Assim como para as cargas heterogêneas no espaço, o uso de uma arquitetura com modelo RMA- OM para as cargas heterogêneas no tempo e no espaço possui a grande vantagem de permitir a configuração da arquitetura de forma heterogênea, ou seja, parte dos EPs podem ser configurados para compartilhar memória e outra parte pode ser configurada para trabalhar com memória distribuída. A Figura 5 apresenta os ganhos de desempenhos de desempenho (speedup) do RMA-OM em relação à UMA para as cargas de trabalho WTx, WEx e WTEx. Novamente, os ganhos em relação à NORMA não forma incluídos no gráfico, pois ficaram muito maiores. Tempos de resposta (microsegundos) 4,00 3,50 3,00 2,50 2,00 1,50 1,00 0,50 0,00 WE1 WE2 WE3 WE4 WE5 Cargas de trabalho compostas heterogêneas no espaço UMA RMAM Tempos de resposta (micro-segundos) 4,00 3,50 3,00 2,50 2,00 1,50 1,00 0,50 0,00 WTE1 WTE2 WTE3 WTE4 Cargas de trabalho compostas heterogêneas no tempo e no espaço UMA RMA-OM Figura 3. Tempos de resposta para WEx com UMA, NORMA e RMA-OM Figura 4. Tempos de resposta para WTEx com UMA, NORMA e RMA-OM 15,00 12,00 Ganho 9,00 6,00 3,00 0,00 WE1 WE2 WE3 WE4 WE5 WT1 WT2 WT3 WT4 WTE1 WTE2 WTE3 WTE4 W E x WTx W T E x Figura 5. Ganho de desempenho (speedup) para as cargas WEx, WTx e WTEx

7 A partir da análise dos resultados do RMA-OM apresentados neste trabalho, pode-se perceber que este modelo proporciona ganho de desempenho significativo para sistemas computacionais paralelos sem aumento do número de EPs e do custo. O NORMA não obteve bons resultados devido ao grande overhead de comunicação e só obterá bom desempenho para algumas cargas com pouca ou nenhuma comunicação. O speedup apresentado pelo RMA-OM pode ser explicado pelo fato de que a memória representa um gargalo em máquinas com modelo UMA. Além disso, como as cargas são compostas por porções com diferentes características de acessos, o fato do RMA-OM ser reconfigurável de modo heterogêneo e dinamicamente permitiu que ele se adequasse às diferentes características de acesso à memória de cada parte da sub-carga da carga de trabalho em execução. Além do speedup do RMA-OM, vale ressaltar como vantagem a escalabilidade, já que suas memórias são fisicamente distribuídas, e o custo relativamente baixo, quando comparado com o de máquinas com modelo UMA. Ressaltamos aqui que os valores obtidos com os modelos operacionais para todas as cargas de trabalho simuladas (simples, compostas heterogêneas no tempo, compostas heterogêneas no espaço e compostas heterogêneas no tempo e no espaço) são função dos parâmetros relacionados com aspectos tecnológicos dos sistemas paralelos, podendo mudar para cada variação de configuração dos sistemas computacionais paralelos usados como referência. Entre os parâmetros determinantes podemos citar: latência, largura de banda, paralelismo de acessos das memórias, etc. 5. Conclusões Este artigo sumariza e apresenta os principais resultados e contribuições obtidos na dissertação de mestrado [19]. Os resultados obtidos mostram que a aplicação de conceitos de computação reconfigurável em modelos de memória de sistemas computacionais paralelos aumenta a flexibilidade destes sistemas, adaptando-os às diferentes classes de cargas de trabalho paralelas e, conseqüentemente, melhorando significativamente o seu desempenho para cada carga e também o seu desempenho médio, sem aumento do número de EPs e do custo. As principais contribuições do trabalho são as versões analítica e operacional do RMAM. Estes modelos podem ser aplicados em diferentes fases de desenvolvimento de aplicações paralelas. O RMA-AM é aplicado na fase de desenvolvimento e avaliação de algoritmos e o RMA-OM na fase de desenvolvimento e avaliação de programas paralelos. Além disso, é um novo modelo de arquitetura proposto, servindo de base para implementações de sistemas computacionais paralelos reais. As duas versões do RMAM promovem otimização e ganho de desempenho na execução de cada carga de trabalho e também ganho de desempenho médio do sistema através da melhor adequação do modelo de memória do sistema paralelo com o modelo de acesso à memória de cada carga de trabalho. Algumas simplificações utilizadas na pesquisa estão sendo trabalhadas e eliminadas em trabalhos posteriores à defesa da dissertação. Entre estas simplificações destaca-se o fato de que os experimentos não consideram os overheads reais das diversas camadas da arquitetura, como trocas de contexto, por exemplo. Isso não invalida os resultados, uma vez que os overheads não foram considerados para nenhuma das arquiteturas simuladas. Além disso, as cargas de trabalho utilizadas para a simulação são sintéticas para maior controle do modelo de acesso à memória de cada carga de trabalho. No entanto, essas cargas foram modeladas com base em cargas de trabalho paralelas reais, considerando principalmente a heterogeneidade das mesmas. 6. Outras informações e continuação da pesquisa Este trabalho foi iniciado em uma pesquisa na graduação, durante a qual a autora publicou três artigos com resultados de estudos sobre o desempenho de diferentes modelos de algoritmos, programação e memória [1] [2] [3]. Esta dissertação resultou na publicação de um capítulo de livro [14] e de dois artigos em conferências nacionais e internacionais [15] [16]. Além disso, a pesquisa continuou após a dissertação. Um primeiro protótipo de uma arquitetura baseada no modelo RMA-OM está sendo implementada. Primeiramente, o RMA-OM está sendo implementado em um multiprocessador em chip, usando a arquitetura RCMP (Reconfigurable Chip Multiprocessor) [21] [22]. A arquitetura RCMP implementa multiprocessadores reconfiguráveis em chip, acompanhando as arquiteturas multi-core atuais. Este modelo de arquitetura foi escolhido pois, além de acompanhar as tendências das arquiteturas atuais, pode ser implementada em um único FPGA [12] [17], incluindo os BRs. Após verificar esse primeiro protótipo, o RMA-OM será implementado em arquiteturas paralelas distribuídas, usando vários FPGAs. Maiores informações, resultados, ferramentas

8 e documentação sobre esta pesquisa estão disponíveis em 7. Referências [1] C.V. Pousa, D.O. da Penha, L.F.W. Góes, L.E.S. Ramos, C.A.P.S. Martins, A Comparative Performance Analysis of Parallel Algorithm Models in Message-Passing Image Convolution Implementations, International Conference on Computer Science, Software Engineering, Information Technology, e-business, and Applications, [2] D.O. da Penha, J.B.T. Corrêa, C.A.P.S. Martins, Análise Comparativa do Uso de Multi-Thread e OpenMp Aplicados a Operações de Convolução de Imagem, III Workshop de Sistemas Computacionais de Alto Desempenho, SBC, Vitória, [3] D.O. da Penha, J.B.T. Corrêa, L.F.W. Góes, L.E.S. Ramos, C.V. Pousa, C.A.P.S. Martins, Comparative Analysis of Multi-Threading On Different Operating Systems Applied On Digital Image Processing, International Conference on Computer Science, Software Engineering, Information Technology, e-business, and Applications, [4] A.N. Ide, J.H. Saito, Uma plataforma de desenvolvimento reconfiguravel utilizando arquitetura de cluster, I Seminário de Computação Reconfigurável, Instituto de Informática, PUC Minas, Belo Horizonte, [5] B. Dreier, M. Zahn, T. Ungerer, Parallel and Distributed Programming with Pthreads and RThreads, [6] R. Butler, A.L. Leveton, E.L. Lusk, p4-linda:a Portable Implementation of Linda, IEEE Computer, [7] B. Nitzberg, V. Lo, Distributed-Shared Memory: A Survey of Issues and Algorithms, IEEE Computer, [8] J. Nieplocha, R.J. Harrison, R.J. Littlefield, Global Arrays: A Portable Shared-Memory Programming Model for Distributed Memoru Computers, IEEE Computer, [9] M. Stumm, S. Zhou, Algorithms Implementing Distributed Shared Memory, IEEE Computer, May [10] R.S. Ramanjuan, J.C Bonney, K.J. Thurber, Network Shared Memory: A New Approach for Clustering Workstations for Parallel Processing, IEEE, [11] K. Mai, T. Paaske, N. Jayasena, R. Ho, W. J. Dally, M. Horowitz, Smart Memories: a modular reconfigurable architecture, ISCA '00: Proceedings of the 27th annual international symposium on Computer architecture, ISBN , Vancouver, British Columbia, Canada, 2000, pp [12] K. Compton, S. Hauck, Reconfigurable Computing: A Survey of Systems and Software, ACM Computing Surveys, June 2002, vol. 34:2, pp [13] Almasi, G. S., Gottlieb, A. Highly Parallel Computing, 2 nd Edition, Benjamin/Cummings, [14] D.O. da Penha, H. C. Freitas, C.A.P.S. Martins, Modelagem de Sistemas Computacionais usando Redes de Petri: aplicação em projeto, análise e avaliação, IV Escola Regional de Informática RJ/ES, [15] D.O. da Penha, H. C. Freitas, C.A.P.S. Martins, "Modelo de Memória Reconfigurável para Sistemas Paralelos", V Workshop em Sistemas Computacionais de Alto Desempenho, Foz do Iguaçu, [16] D.O. da Penha, C.V. Pousa, H. C. Freitas, C.A.P.S. Martins, "Modelo de Memória Reconfigurável para Sistemas Computacionais Paralelos", 3rd International Information and Telecommunication Technologies Symposium, São Carlos, [17] A. Dehon, The Density Advantage of Configurable Computing, IEEE Computer, Vol. 33, Nº. 4, [18] C.A.P.S. Martins, E.D.M. Ordonez, J.B.T. Corrêa, M.B. Carvalho, Computação Reconfigurável: Conceitos, Tendências e Aplicações, JAI, Sociedade Brasileira de Computação, v.2, 2003, p [19] D.O. da Penha, C.A.P.S Martins, Modelo de acesso reconfigurável à memória para sistemas computacionais paralelos, Dissertação de mestrado, Programa de Pós- Graduação em Engenharia Elétrica, PUC Minas, [20] C.V. Pousa, L.E.S. Ramos, LF.W. Góes, C.A.P.S. Martins, Extending ClusterSim With MP And DSM Modules, Workshop High Performance Computer Science and Engineering, Kluwer Publisher, [21] R. Fonte-Boa, D.O.da Penha, A.M. Amaral, C.A.P.S. Martins, P.Y. Ekel, RCMP: A Reconfigurable Chip- Multiprocessor, International Symposium on Parallel and Distributed Processing and Applications, Sorrento, [22] R. Fonte-Boa, D.O. da Penha, A.M.Amaral, C.A.P.S. Martins, P.Y. Ekel, Parallel Image Segmentation in Reconfigurable Chip Multiprocessors, International Workshop on Parallel and Distributed Computing in Engineering, in association with International Symposium on Parallel and Distributed Processing and Applications, Sorrento, 2006.

Capítulo 8 Arquitetura de Computadores Paralelos

Capítulo 8 Arquitetura de Computadores Paralelos Capítulo 8 Arquitetura de Computadores Paralelos Necessidade de máquinas com alta capacidade de computação Aumento do clock => alta dissipação de calor Velocidade limitada dos circuitos => velocidade da

Leia mais

Análise de Desempenho de um SGBD para Aglomerado de Computadores

Análise de Desempenho de um SGBD para Aglomerado de Computadores Análise de Desempenho de um SGBD para Aglomerado de Computadores Diego Luís Kreutz, Gabriela Jacques da Silva, Hélio Antônio Miranda da Silva, João Carlos Damasceno Lima Curso de Ciência da Computação

Leia mais

ÁREA: CV ( ) CHSA ( ) ECET ( )

ÁREA: CV ( ) CHSA ( ) ECET ( ) ADAPTAÇÃO E INTEGRAÇÃO DO PROCESSADOR RISCO A UMA ARQUITETURA MULTI-CORE PARA SISTEMAS EMBARCADOS DE PROPOSITO GERAL Laysson Oliveira Luz (Bolsista PIBIC/CNPq), Ivan Saraiva Silva (Orientador, Departamento

Leia mais

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

Modelo de Memória Reconfigurável para Sistemas Computacionais Paralelos 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

Leia mais

Paralelização de Simuladores de Hardware Descritos em SystemC

Paralelização de Simuladores de Hardware Descritos em SystemC Paralelização de Simuladores de Hardware Descritos em SystemC 18 de maio de 2011 Roteiro Motivação Introdução à SLDL SystemC O Escalonador SystemC Simulação Paralela baseada em Eventos Discretos Suporte

Leia mais

Introdução às arquiteturas paralelas e taxonomia de Flynn

Introdução às arquiteturas paralelas e taxonomia de Flynn Introdução às arquiteturas paralelas e taxonomia de Flynn OBJETIVO: definir computação paralela; o modelo de computação paralela desempenhada por computadores paralelos; e exemplos de uso da arquitetura

Leia mais

ALGORÍTMOS PARALELOS (Aula 2) LCAD. Neyval C. Reis Jr. OUTUBRO/2004. Laboratório de Computação de Alto Desempenho DI/UFES

ALGORÍTMOS PARALELOS (Aula 2) LCAD. Neyval C. Reis Jr. OUTUBRO/2004. Laboratório de Computação de Alto Desempenho DI/UFES ALGORÍTMOS PARALELOS (Aula 2) Neyval C. Reis Jr. OUTUBRO/2004 LCAD Laboratório de Computação de Alto Desempenho DI/UFES Programa do Curso LCAD 1. Introdução 2. Arquitetura de Computadores 3. Arquiteturas

Leia mais

7 Processamento Paralelo

7 Processamento Paralelo 7 Processamento Paralelo Yes, of course, who has time? Who has time? But then if we do not ever take time, how can we ever have time? (The Matrix) 7.1 Introdução Classificação de Sistemas Paralelos Diversas

Leia mais

Single-Chip Cloud Computer

Single-Chip Cloud Computer IME-USP Departamento de Ciência da Computação Single-Chip Cloud Computer Diogo de Jesus Pina 6798294 (diogojpina@gmail.com) Everton Topan da Silva 6514219 (everton.topan.silva@usp.br) Disciplina: Organização

Leia mais

Balanceamento de Carga

Balanceamento de Carga 40 4. Balanceamento de Carga Pode-se entender por balanceamento de carga uma política a ser adotada para minimizar tanto a ociosidade de utilização de alguns equipamentos quanto a super utilização de outros,

Leia mais

Arquitetura dos Sistemas de Informação Distribuídos

Arquitetura dos Sistemas de Informação Distribuídos Arquitetura dos Sistemas de Informação Distribuídos Quando se projeta um sistema cuja utilização é destinada a ser feita em ambientes do mundo real, projeções devem ser feitas para que o sistema possa

Leia mais

Sistemas Operacionais

Sistemas Operacionais Sistemas Operacionais SISTEMAS COM MÚLTIPLOS PROCESSADORES LIVRO TEXTO: CAPÍTULO 13, PÁGINA 243 Prof. Pedro Luís Antonelli Anhanguera Educacional INTRODUÇÃO Arquiteturas que possuem duas ou mais CPUs interligadas

Leia mais

Ferramentas para Simulação e Avaliação de Processadores. de Alto Desempenho

Ferramentas para Simulação e Avaliação de Processadores. de Alto Desempenho Ferramentas para Simulação e Avaliação de Processadores de Alto Desempenho 5 de agosto de 2010 Resumo 1 Apresentação e Justificativa A tarefa de avaliar e comparar experimentalmente projetos em torno de

Leia mais

Introdução. Definição de um Sistema Distribuído (1) Definição de um Sistema Distribuído(2) Metas de Sistemas Distribuídos (2)

Introdução. Definição de um Sistema Distribuído (1) Definição de um Sistema Distribuído(2) Metas de Sistemas Distribuídos (2) Definição de um Sistema Distribuído (1) Introdução Um sistema distribuído é: Uma coleção de computadores independentes que aparecem para o usuário como um único sistema coerente. Definição de um Sistema

Leia mais

Tipos de Sistemas Distribuídos (Cluster e Grid)

Tipos de Sistemas Distribuídos (Cluster e Grid) Tipos de Sistemas Distribuídos (Cluster e Grid) Sistemas Distribuídos Mauro Lopes Carvalho Silva Professor EBTT DAI Departamento de Informática Campus Monte Castelo Instituto Federal de Educação Ciência

Leia mais

4 Computação Paralela 4.1. Introdução

4 Computação Paralela 4.1. Introdução 4 Computação Paralela 4.1. Introdução Nos últimos anos observa-se uma tendência cada vez maior do aumento da demanda computacional na resolução de grandes problemas. Exemplos de aplicações que exigem alto

Leia mais

BANCO DE DADOS EM MEMÓRIA SOBRE CLUSTERS DE COMPUTADORES

BANCO DE DADOS EM MEMÓRIA SOBRE CLUSTERS DE COMPUTADORES BANCO DE DADOS EM MEMÓRIA SOBRE CLUSTERS DE COMPUTADORES Guilherme Dal Bianco, Jeison Luiz Ferreira Vieira, Nelson Duarte Filho Fundação Universidade Federal do Rio Grande FURG Rio Grande - RS gui_bianco@yahoo.com.br,

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

REDES DE COMPUTADORES

REDES DE COMPUTADORES Eriko Carlo Maia Porto UNESA Universidade Estácio de Sá eriko_porto@uol.com.br Última revisão Julho/2003 REDES DE COMPUTADORES INTRODUÇÃO EVOLUÇÃO DOS SISTEMAS DE COMPUTAÇÃO Década de 50 introdução dos

Leia mais

APLICAÇÕES EM SISTEMAS DISTRIBUÍDOS Prof. Ricardo Rodrigues Barcelar http://www.ricardobarcelar.com

APLICAÇÕES EM SISTEMAS DISTRIBUÍDOS Prof. Ricardo Rodrigues Barcelar http://www.ricardobarcelar.com - Aula 6 - ALGORÍTIMOS PARALELOS MPI - Parallel Virtual Machine e PVM - Parallel Virtual Machine 1. INTRODUÇÃO Inicialmente é necessário conceber alguns conceitos para entendimento dos algoritmos paralelos:

Leia mais

} Monolíticas Aplicações em um computador centralizado. } Em Rede Aplicações com comunicação em rede. } Distribuídas Comunicação e cooperação em rede

} Monolíticas Aplicações em um computador centralizado. } Em Rede Aplicações com comunicação em rede. } Distribuídas Comunicação e cooperação em rede Prof. Samuel Souza } Monolíticas Aplicações em um computador centralizado } Em Rede Aplicações com comunicação em rede } Distribuídas Comunicação e cooperação em rede } Aplicações que são funcionalmente

Leia mais

Notas da Aula 17 - Fundamentos de Sistemas Operacionais

Notas da Aula 17 - Fundamentos de Sistemas Operacionais Notas da Aula 17 - Fundamentos de Sistemas Operacionais 1. Gerenciamento de Memória: Introdução O gerenciamento de memória é provavelmente a tarefa mais complexa de um sistema operacional multiprogramado.

Leia mais

Uso do Netkit no Ensino de Roteamento Estático

Uso do Netkit no Ensino de Roteamento Estático Uso do Netkit no Ensino de Roteamento Estático Nyl Marcos Soares Barbosa, Moisés Lima dos Anjos, Madianita Bogo Curso de Sistemas de Informação Centro universitário Luterano de Palmas (CEULP/ULBRA) Teotônio

Leia mais

Arquitetura de Sistemas Distribuídos. Introdução a Sistemas Distribuídos

Arquitetura de Sistemas Distribuídos. Introdução a Sistemas Distribuídos Introdução a Sistemas Distribuídos Definição: "Um sistema distribuído é uma coleção de computadores autônomos conectados por uma rede e equipados com um sistema de software distribuído." "Um sistema distribuído

Leia mais

Camadas de Serviço de Hardware e Software em Sistemas Distribuídos. Introdução. Um Serviço Provido por Múltiplos Servidores

Camadas de Serviço de Hardware e Software em Sistemas Distribuídos. Introdução. Um Serviço Provido por Múltiplos Servidores Camadas de Serviço de Hardware e Software em Sistemas Distribuídos Arquiteutra de Sistemas Distribuídos Introdução Applications, services Adaptação do conjunto de slides do livro Distributed Systems, Tanembaum,

Leia mais

Prof. Marcelo de Sá Barbosa SISTEMAS DISTRIBUIDOS

Prof. Marcelo de Sá Barbosa SISTEMAS DISTRIBUIDOS Prof. Marcelo de Sá Barbosa SISTEMAS DISTRIBUIDOS 1. Introdução a supercomputação 2. Visão geral de Mainframe 3. Cluster de computadores 4. Cluster Beowulf considerações de projeto 5. Cluster x Grid 6.

Leia mais

On Scalability of Software-Defined Networking

On Scalability of Software-Defined Networking On Scalability of Software-Defined Networking Bruno dos Santos Silva bruno.silva@ic.uff.br Instituto de Computação IC Universidade Federal Fluminense UFF 24 de Setembro de 2015 B. S. Silva (IC-UFF) On

Leia mais

1 http://www.google.com

1 http://www.google.com 1 Introdução A computação em grade se caracteriza pelo uso de recursos computacionais distribuídos em várias redes. Os diversos nós contribuem com capacidade de processamento, armazenamento de dados ou

Leia mais

Hardware (Nível 0) Organização. Interface de Máquina (IM) Interface Interna de Microprogramação (IIMP)

Hardware (Nível 0) Organização. Interface de Máquina (IM) Interface Interna de Microprogramação (IIMP) Hardware (Nível 0) Organização O AS/400 isola os usuários das características do hardware através de uma arquitetura de camadas. Vários modelos da família AS/400 de computadores de médio porte estão disponíveis,

Leia mais

Sistemas Operacionais

Sistemas Operacionais Sistemas Operacionais Aula 6 Estrutura de Sistemas Operacionais Prof.: Edilberto M. Silva http://www.edilms.eti.br Baseado no material disponibilizado por: SO - Prof. Edilberto Silva Prof. José Juan Espantoso

Leia mais

Sistemas Paralelos e Distribuídos. Prof. Jorge Dantas de Melo Depto. Eng. Comp. e Automação CT - UFRN

Sistemas Paralelos e Distribuídos. Prof. Jorge Dantas de Melo Depto. Eng. Comp. e Automação CT - UFRN Sistemas Paralelos e Distribuídos Prof. Jorge Dantas de Melo Depto. Eng. Comp. e Automação CT - UFRN Conceitos preliminares Paralelismo refere-se a ocorrência simultânea de eventos em um computador Processamento

Leia mais

Sistemas distribuídos:comunicação

Sistemas distribuídos:comunicação M. G. Santos marcela@estacio.edu.br Faculdade Câmara Cascudo - Estácio de Sá 16 de abril de 2010 Formas de comunicação Produtor-consumidor: comunicação uni-direccional, com o produtor entregando ao consumidor.

Leia mais

UNIVERSIDADE FEDERAL DE PERNAMBUCO

UNIVERSIDADE FEDERAL DE PERNAMBUCO UNIVERSIDADE FEDERAL DE PERNAMBUCO Mestrado em Ciência da Computação CENTRO DE INFORMÁTICA Análise comparativa entre os diferentes tipos De protocolos para transmissão de dados Grupo: Professora: Disciplina:

Leia mais

CONCEITOS E APLICAÇÕES DA COMPUTAÇÃO EM NUVEM

CONCEITOS E APLICAÇÕES DA COMPUTAÇÃO EM NUVEM CONCEITOS E APLICAÇÕES DA COMPUTAÇÃO EM NUVEM Rogério Schueroff Vandresen¹, Willian Barbosa Magalhães¹ ¹Universidade Paranaense(UNIPAR) Paranavaí-PR-Brasil rogeriovandresen@gmail.com, wmagalhaes@unipar.br

Leia mais

SISTEMAS DISTRIBUÍDOS

SISTEMAS DISTRIBUÍDOS SISTEMAS DISTRIBUÍDOS 1. Histórico Primeiros computadores Computadores dos anos 50 e 60 Primeiros computadores com sistemas operacionais Surgimento das redes de computadores Nos anos 70 início das pesquisas

Leia mais

UMA VISÃO GERAL DA COMPUTAÇÃO EM NUVEM

UMA VISÃO GERAL DA COMPUTAÇÃO EM NUVEM UMA VISÃO GERAL DA COMPUTAÇÃO EM NUVEM Ederson dos Santos Cordeiro de Oliveira 1, Tiago Piperno Bonetti 1, Ricardo Germano 1 ¹Universidade Paranaense (Unipar) Paranavaí PR Brasil edersonlikers@gmail.com,

Leia mais

Programação Concorrente Processos e Threads

Programação Concorrente Processos e Threads Programação Concorrente Processos e Threads Prof. Eduardo Alchieri Processos O conceito mais central em qualquer sistema operacional é o processo Uma abstração de um programa em execução Um programa por

Leia mais

4 Estrutura do Sistema Operacional. 4.1 - Kernel

4 Estrutura do Sistema Operacional. 4.1 - Kernel 1 4 Estrutura do Sistema Operacional 4.1 - Kernel O kernel é o núcleo do sistema operacional, sendo responsável direto por controlar tudo ao seu redor. Desde os dispositivos usuais, como unidades de disco,

Leia mais

SIS17-Arquitetura de Computadores

SIS17-Arquitetura de Computadores Sistema de Computação SIS17-Arquitetura de Computadores Apresentação da Disciplina Peopleware Hardware Software Carga Horária: 40 horas 2 Computadores atuais Unidade Central de Processamento Entrada Computadores

Leia mais

Comparativo de desempenho do Pervasive PSQL v11

Comparativo de desempenho do Pervasive PSQL v11 Comparativo de desempenho do Pervasive PSQL v11 Um artigo Pervasive PSQL Setembro de 2010 Conteúdo Resumo executivo... 3 O impacto das novas arquiteturas de hardware nos aplicativos... 3 O projeto do Pervasive

Leia mais

Cálculo Aproximado do número PI utilizando Programação Paralela

Cálculo Aproximado do número PI utilizando Programação Paralela Universidade de São Paulo Instituto de Ciências Matemáticas e de Computação Cálculo Aproximado do número PI utilizando Programação Paralela Grupo 17 Raphael Ferras Renan Pagaiane Yule Vaz SSC-0143 Programação

Leia mais

Prof. Marcelo de Sá Barbosa SISTEMAS DISTRIBUIDOS

Prof. Marcelo de Sá Barbosa SISTEMAS DISTRIBUIDOS Prof. Marcelo de Sá Barbosa SISTEMAS DISTRIBUIDOS Objetos distribuídos e invocação remota Introdução Comunicação entre objetos distribuídos Chamada de procedimento remoto Eventos e notificações Objetos

Leia mais

Sistemas Operacionais 2014 Introdução. Alexandre Augusto Giron alexandre.a.giron@gmail.com

Sistemas Operacionais 2014 Introdução. Alexandre Augusto Giron alexandre.a.giron@gmail.com Sistemas Operacionais 2014 Introdução Alexandre Augusto Giron alexandre.a.giron@gmail.com Roteiro Sistemas Operacionais Histórico Estrutura de SO Principais Funções do SO Interrupções Chamadas de Sistema

Leia mais

Capítulo 8. Sistemas com Múltiplos Processadores. 8.1 Multiprocessadores 8.2 Multicomputadores 8.3 Sistemas distribuídos

Capítulo 8. Sistemas com Múltiplos Processadores. 8.1 Multiprocessadores 8.2 Multicomputadores 8.3 Sistemas distribuídos Capítulo 8 Sistemas com Múltiplos Processadores 8.1 Multiprocessadores 8.2 Multicomputadores 8.3 Sistemas distribuídos 1 Sistemas Multiprocessadores Necessidade contínua de computadores mais rápidos modelo

Leia mais

Paralelismo. Computadores de alto-desempenho são utilizados em diversas áreas:

Paralelismo. Computadores de alto-desempenho são utilizados em diversas áreas: Computadores de alto-desempenho são utilizados em diversas áreas: - análise estrutural; - previsão de tempo; - exploração de petróleo; - pesquisa em fusão de energia; - diagnóstico médico; - simulações

Leia mais

Sistemas Operacionais

Sistemas Operacionais UNIVERSIDADE BANDEIRANTE DE SÃO PAULO INSTITUTO POLITÉCNICO CURSO DE SISTEMAS DE INFORMAÇÃO Sistemas Operacionais Notas de Aulas: Tópicos 7 e 8 Estrutura do Sistema Operacional São Paulo 2009 1 Sumário

Leia mais

slide 0 Algoritmos Paralelos

slide 0 Algoritmos Paralelos slide 0 Algoritmos Paralelos Slide 2 Demanda por Velocidade Computational Demanda contínua por maior rapidez computational das máquinas que as atualmente disponíveis. As áreas que exigem maior rapidez

Leia mais

Arquitetura de Computadores. Professor: Vilson Heck Junior

Arquitetura de Computadores. Professor: Vilson Heck Junior Arquitetura de Computadores Professor: Vilson Heck Junior Agenda Conceitos Estrutura Funcionamento Arquitetura Tipos Atividades Barramentos Conceitos Como já discutimos, os principais componentes de um

Leia mais

SISTEMAS OPERACIONAIS. Apostila 01 Assunto: Tipos de Sistemas Operacionais UNIBAN

SISTEMAS OPERACIONAIS. Apostila 01 Assunto: Tipos de Sistemas Operacionais UNIBAN SISTEMAS OPERACIONAIS Apostila 01 Assunto: Tipos de Sistemas Operacionais UNIBAN 2.0 - INTRODUÇÃO Os tipos de sistemas operacionais e sua evolução estão intimamente relacionados com a evolução do hardware

Leia mais

Sistema Operacional Correção - Exercício de Revisão

Sistema Operacional Correção - Exercício de Revisão Prof. Kleber Rovai 1º TSI 22/03/2012 Sistema Operacional Correção - Exercício de Revisão 1. Como seria utilizar um computador sem um sistema operacional? Quais são suas duas principais funções? Não funcionaria.

Leia mais

Sistemas Distribuídos

Sistemas Distribuídos Sistemas Distribuídos Software em Sistemas Distribuídos Aplicativo ou Sistema Operacional Sincronismo Interação Controles Um sistema operacional moderno provê dois serviços fundamentais para o usuário

Leia mais

Comparação SDs X Scs

Comparação SDs X Scs Prof. Alexandre Lima Sistemas Distribuídos Cap 9 1/7 Comparação SDs X Scs Distribuição inerente Economia Velocidade Confiabilidade Crescimento incremental Descrição Algumas aplicações envolvem máquinas

Leia mais

5 Mecanismo de seleção de componentes

5 Mecanismo de seleção de componentes Mecanismo de seleção de componentes 50 5 Mecanismo de seleção de componentes O Kaluana Original, apresentado em detalhes no capítulo 3 deste trabalho, é um middleware que facilita a construção de aplicações

Leia mais

Eduardo Bezerra. Editora Campus/Elsevier

Eduardo Bezerra. Editora Campus/Elsevier Princípios de Análise e Projeto de Sistemas com UML 2ª edição Eduardo Bezerra Editora Campus/Elsevier Capítulo 11 Arquitetura do sistema Nada que é visto, é visto de uma vez e por completo. --EUCLIDES

Leia mais

Visão Geral de Sistemas Operacionais

Visão Geral de Sistemas Operacionais Visão Geral de Sistemas Operacionais Sumário Um sistema operacional é um intermediário entre usuários e o hardware do computador. Desta forma, o usuário pode executar programas de forma conveniente e eficiente.

Leia mais

Este tutorial apresenta conceitos e recomendações para o planejamento de uma rede multi-serviço.

Este tutorial apresenta conceitos e recomendações para o planejamento de uma rede multi-serviço. O que se deve considerar no planejamento de uma rede multi-serviço? Este tutorial apresenta conceitos e recomendações para o planejamento de uma rede multi-serviço. Jorge Moreira de Souza Doutor em Informática

Leia mais

Definindo melhor alguns conceitos

Definindo melhor alguns conceitos Definindo melhor alguns conceitos Processamento Paralelo: processamento de informação concorrente que pertencem a um ou mais processos que resolvem um único problema. Processamento Distribuído: processamento

Leia mais

Engenharia de Software. Parte I. Introdução. Metodologias para o Desenvolvimento de Sistemas DAS 5312 1

Engenharia de Software. Parte I. Introdução. Metodologias para o Desenvolvimento de Sistemas DAS 5312 1 Engenharia de Software Parte I Introdução Metodologias para o Desenvolvimento de Sistemas DAS 5312 1 Mitos do Desenvolvimento de Software A declaração de objetivos é suficiente para se construir um software.

Leia mais

Equipamentos de Rede. Prof. Sérgio Furgeri 1

Equipamentos de Rede. Prof. Sérgio Furgeri 1 Equipamentos de Rede Repetidor (Regenerador do sinal transmitido)* Mais usados nas topologias estrela e barramento Permite aumentar a extensão do cabo Atua na camada física da rede (modelo OSI) Não desempenha

Leia mais

Muitas aplicações modernas podem ser modeladas como tarefas divisíveis.

Muitas aplicações modernas podem ser modeladas como tarefas divisíveis. 1 Introdução O grande aumento de performance das redes de computadores, combinado com a proliferação de computadores de baixo custo e alto desempenho, trouxe à tona ambientes de meta-computação, ou grids[15,

Leia mais

Arquiteturas RISC. (Reduced Instructions Set Computers)

Arquiteturas RISC. (Reduced Instructions Set Computers) Arquiteturas RISC (Reduced Instructions Set Computers) 1 INOVAÇÕES DESDE O SURGIMENTO DO COMPU- TADOR DE PROGRAMA ARMAZENADO (1950)! O conceito de família: desacoplamento da arquitetura de uma máquina

Leia mais

SISTEMAS OPERACIONAIS. Apostila 03 Estrutura do Sistema Operacional UNIBAN

SISTEMAS OPERACIONAIS. Apostila 03 Estrutura do Sistema Operacional UNIBAN SISTEMAS OPERACIONAIS Apostila 03 Estrutura do Sistema Operacional UNIBAN 1.0 O Sistema Operacional como uma Máquina Virtual A arquitetura (conjunto de instruções, organização de memória, E/S e estrutura

Leia mais

Ao longo do presente capítulo será apresentada uma descrição introdutória da tecnologia FPGA e dos módulos básicos que a constitui.

Ao longo do presente capítulo será apresentada uma descrição introdutória da tecnologia FPGA e dos módulos básicos que a constitui. 3 Tecnologia FPGA Ao longo do presente capítulo será apresentada uma descrição introdutória da tecnologia FPGA e dos módulos básicos que a constitui. 3.1. FPGA: Histórico, linguagens e blocos Muitos dos

Leia mais

Sistemas Operacionais

Sistemas Operacionais Sistemas Operacionais Aula 4 Tipos de SO Prof.: Edilberto M. Silva http://www.edilms.eti.br SO - Prof. Edilberto Silva Os Sistemas Operacionais podem ser assim classificados: SO - Prof. Edilberto Silva

Leia mais

CAPITULO 4 A ARQUITETURA LÓGICA PARA O AMBIENTE

CAPITULO 4 A ARQUITETURA LÓGICA PARA O AMBIENTE CAPITULO 4 A ARQUITETURA LÓGICA PARA O AMBIENTE A proposta para o ambiente apresentada neste trabalho é baseada no conjunto de requisitos levantados no capítulo anterior. Este levantamento, sugere uma

Leia mais

Sistemas Distribuídos: Conceitos e Projeto Threads e Migração de Processos

Sistemas Distribuídos: Conceitos e Projeto Threads e Migração de Processos Sistemas Distribuídos: Conceitos e Projeto Threads e Migração de Processos Francisco José da Silva e Silva Laboratório de Sistemas Distribuídos (LSD) Departamento de Informática / UFMA http://www.lsd.deinf.ufma.br

Leia mais

Sistemas Distribuídos

Sistemas Distribuídos Sistemas Distribuídos Carlos Ferraz cagf@cin.ufpe.br Tópicos da Aula Apresentação do curso Introdução Definição de sistemas distribuídos Exemplo Vantagens e desvantagens Convergência digital Desafios Visão

Leia mais

Desempenho de um Cluster Virtualizado em Relação a um Cluster Convencional Similar

Desempenho de um Cluster Virtualizado em Relação a um Cluster Convencional Similar Desempenho de um Cluster Virtualizado em Relação a um Cluster Convencional Similar David Beserra 1, Alexandre Borba¹, Samuel Souto 1, Mariel Andrade 1, Alberto Araujo 1 1 Unidade Acadêmica de Garanhuns

Leia mais

SISTEMAS DISTRIBUIDOS

SISTEMAS DISTRIBUIDOS 1 2 Caracterização de Sistemas Distribuídos: Os sistemas distribuídos estão em toda parte. A Internet permite que usuários de todo o mundo acessem seus serviços onde quer que possam estar. Cada organização

Leia mais

Cursos da Escola de Engenharias e Ciências Exatas - UnP

Cursos da Escola de Engenharias e Ciências Exatas - UnP Cursos da Escola de Engenharias e Ciências Exatas - UnP Professor Nielsen Castelo Damasceno E-mail: nielsen.castelo@unp.br Web: http://ncdd.com.br Sala de Aula Online Curso Sistemas distribuídos (CH Total

Leia mais

Sistemas Distribuídos. Professora: Ana Paula Couto DCC 064

Sistemas Distribuídos. Professora: Ana Paula Couto DCC 064 Sistemas Distribuídos Professora: Ana Paula Couto DCC 064 Questões Em uma rede de sobreposição (overlay), mensagens são roteadas de acordo com a topologia da sobreposição. Qual uma importante desvantagem

Leia mais

UFCG Universidade Federal de Campina Grande. A cooperação entre Universidades e Empresas estimulada pela Lei de Informática: Resultados

UFCG Universidade Federal de Campina Grande. A cooperação entre Universidades e Empresas estimulada pela Lei de Informática: Resultados UFCG Universidade Federal de Campina Grande A cooperação entre Universidades e Empresas estimulada pela Lei de Informática: Resultados Brasília, 03 de dezembro de 2003 Sumário Apresentação Estrutura Parceiros

Leia mais

Arquitetura NUMA 1. Daniel de Angelis Cordeiro. INRIA MOAIS project Laboratoire d Informatique de Grenoble Université de Grenoble, França

Arquitetura NUMA 1. Daniel de Angelis Cordeiro. INRIA MOAIS project Laboratoire d Informatique de Grenoble Université de Grenoble, França Arquitetura NUMA 1 Daniel de Angelis Cordeiro INRIA MOAIS project Laboratoire d Informatique de Grenoble Université de Grenoble, França 6 de Outubro de 2010 1 Baseado em slides feitos por Christiane Pousa

Leia mais

Teleprocessamento e Redes Universidade Católica do Salvador. Aula 04 - Estrutura de Redes de Comunicação. Objetivo : Roteiro da Aula :

Teleprocessamento e Redes Universidade Católica do Salvador. Aula 04 - Estrutura de Redes de Comunicação. Objetivo : Roteiro da Aula : Teleprocessamento e Redes Universidade Católica do Salvador Aula 04 - Estrutura de Redes de Comunicação Objetivo : Nesta aula, vamos começar a entender o processo de interligação entre os equipamentos

Leia mais

Curso Tecnológico de Redes de Computadores 5º período Disciplina: Tecnologia WEB Professor: José Maurício S. Pinheiro V. 2009-2

Curso Tecnológico de Redes de Computadores 5º período Disciplina: Tecnologia WEB Professor: José Maurício S. Pinheiro V. 2009-2 Curso Tecnológico de Redes de Computadores 5º período Disciplina: Tecnologia WEB Professor: José Maurício S. Pinheiro V. 2009-2 Aula 3 Virtualização de Sistemas 1. Conceito Virtualização pode ser definida

Leia mais

Gerência de Memória RAM em Computadores com Mais de 4GB O sistema Windows x86 (32bits) não tem capacidade de reconhecer, fisicamente, mais que 3,X GB de RAM, a não ser que seja ativado, manualmente, o

Leia mais

5.2 MAN s (Metropolitan Area Network) Redes Metropolitanas

5.2 MAN s (Metropolitan Area Network) Redes Metropolitanas MÓDULO 5 Tipos de Redes 5.1 LAN s (Local Area Network) Redes Locais As LAN s são pequenas redes, a maioria de uso privado, que interligam nós dentro de pequenas distâncias, variando entre 1 a 30 km. São

Leia mais

SISTEMAS DISTRIBUÍDOS

SISTEMAS DISTRIBUÍDOS SISTEMAS DISTRIBUÍDOS Cluster, Grid e computação em nuvem Slide 8 Nielsen C. Damasceno Introdução Inicialmente, os ambientes distribuídos eram formados através de um cluster. Com o avanço das tecnologias

Leia mais

Sistemas Digitais. Módulo 15 Prof. Celso PLD - DISPOSITIVOS LÓGICOS PROGRAMÁVEIS

Sistemas Digitais. Módulo 15 Prof. Celso PLD - DISPOSITIVOS LÓGICOS PROGRAMÁVEIS 1 PLD - DISPOSITIVOS LÓGICOS PROGRAMÁVEIS Os projetos com circuitos digitais mais complexos podem se tornar inviáveis devido a vários problemas, tais como: - Elevado número de C.I. (circuitos integrados)

Leia mais

Memória compartilhada (shared memory): - o espaço de endereçamento é único; - comunicação através de load e store nos endereços de memória.

Memória compartilhada (shared memory): - o espaço de endereçamento é único; - comunicação através de load e store nos endereços de memória. 4. Arquiteturas ID áquinas ID (ultiple Instruction ultiple Data) são arquiteturas caracterizadas pela execução simultânea de múltiplos fluxos de instruções. Essa capacidade deve-se ao fato de que são construídas

Leia mais

Sistemas Distribuídos. Professora: Ana Paula Couto DCC 064

Sistemas Distribuídos. Professora: Ana Paula Couto DCC 064 Sistemas Distribuídos Professora: Ana Paula Couto DCC 064 Processos- Clientes, Servidores, Migração Capítulo 3 Agenda Clientes Interfaces de usuário em rede Sistema X Window Software do lado cliente para

Leia mais

Capítulo 3. Avaliação de Desempenho. 3.1 Definição de Desempenho

Capítulo 3. Avaliação de Desempenho. 3.1 Definição de Desempenho 20 Capítulo 3 Avaliação de Desempenho Este capítulo aborda como medir, informar e documentar aspectos relativos ao desempenho de um computador. Além disso, descreve os principais fatores que influenciam

Leia mais

Multicomputadores. Universidade Federal do Vale do São Francisco - UNIVASF Colegiado de Engenharia da Computação CECOMP

Multicomputadores. Universidade Federal do Vale do São Francisco - UNIVASF Colegiado de Engenharia da Computação CECOMP Multicomputadores Introdução Vimos que existem dois tipos de processadores paralelos MIMD: Multiprocessadores. Multicomputadores. Nos multiprocessadores, existe uma memória compartilhada que pode ser acessada

Leia mais

CAPÍTULO 12 CONCLUSÃO

CAPÍTULO 12 CONCLUSÃO CAPÍTULO 12 CONCLUSÃO Existe somente um avanço. A hora mais escura da noite é o prenúncio do alvorecer. Nos dias sombrios de inverno, prosseguem incessantemente os preparativos para a primavera. Tudo que

Leia mais

Desenvolvimento de um Cluster de Alto Desempenho com PVM

Desenvolvimento de um Cluster de Alto Desempenho com PVM Desenvolvimento de um Cluster de Alto Desempenho com PVM Daniel Cândido de Oliveira 1, Yzaac Gonçalves da Silva 1, Madianita Bogo 1 1 Centro Universitário Luterano de Palmas Universidade Luterana do Brasil

Leia mais

Arquitetura de Sistemas Operacionais Machado/Maia. Arquitetura de Sistemas

Arquitetura de Sistemas Operacionais Machado/Maia. Arquitetura de Sistemas Arquitetura de Sistemas Operacionais Capítulo 4 Estrutura do Sistema Operacional Cap. 4 Estrutura do Sistema 1 Sistemas Operacionais Pitágoras Fadom Divinópolis Material Utilizado na disciplina Sistemas

Leia mais

BANCO DE DADOS DISTRIBUÍDOS e DATAWAREHOUSING

BANCO DE DADOS DISTRIBUÍDOS e DATAWAREHOUSING BANCO DE DADOS DISTRIBUÍDOS e DATAWAREHOUSING http://www.uniriotec.br/~tanaka/tin0036 tanaka@uniriotec.br Bancos de Dados Distribuídos Conceitos e Arquitetura Vantagens das Arquiteturas C/S (em relação

Leia mais

Resumo. Introdução Cluster Cluster Beowulf Curiosidades Conclução

Resumo. Introdução Cluster Cluster Beowulf Curiosidades Conclução Cluster Resumo Introdução Cluster Cluster Beowulf Curiosidades Conclução Introdução Sua empresa esta precisando fazer um grande processamento; As Nuvens existentes não são suficientes para sua empresa;

Leia mais

Curso Tecnológico de Redes de Computadores 5º período Disciplina: Tecnologia WEB Professor: José Maurício S. Pinheiro V. 2009-2

Curso Tecnológico de Redes de Computadores 5º período Disciplina: Tecnologia WEB Professor: José Maurício S. Pinheiro V. 2009-2 Curso Tecnológico de Redes de Computadores 5º período Disciplina: Tecnologia WEB Professor: José Maurício S. Pinheiro V. 2009-2 Aula 1 Conceitos da Computação em Nuvem A computação em nuvem ou cloud computing

Leia mais

Organização de Computadores 1

Organização de Computadores 1 Organização de Computadores 1 SISTEMA DE INTERCONEXÃO (BARRAMENTOS) Prof. Luiz Gustavo A. Martins Arquitetura de von Newmann Componentes estruturais: Memória Principal Unidade de Processamento Central

Leia mais

Uma Introdução aos Sistemas Dinamicamente reconfiguráveis

Uma Introdução aos Sistemas Dinamicamente reconfiguráveis UmaIntroduçãoaosSistemasDinamicamente reconfiguráveis AlissonV.Brito1,RodrigoG.C.Rocha2 1 DepartamentodeEng.Elétrica UniversidadeFederaldeCampinaGrande(UFCG) 2 UniãodosInstitutosBrasileirosdeTecnologiaLtda(Unibratec)

Leia mais

UNIVERSIDADE FEDERAL DE SANTA MARIA DEPARTAMENTO DE ELETRÔNICA E COMPUTAÇÃO Programa de Pós-Graduação em Informática

UNIVERSIDADE FEDERAL DE SANTA MARIA DEPARTAMENTO DE ELETRÔNICA E COMPUTAÇÃO Programa de Pós-Graduação em Informática UNIVERSIDADE FEDERAL DE SANTA MARIA DEPARTAMENTO DE ELETRÔNICA E COMPUTAÇÃO Programa de Pós-Graduação em Informática Estudo e aperfeiçoamento da técnica de steering behaviors na simulação física de fluidos

Leia mais

Palavras-chave: aprovisionamento de recursos, redes da próxima geração, redes sensíveis ao contexto, Qualidade de Serviço.

Palavras-chave: aprovisionamento de recursos, redes da próxima geração, redes sensíveis ao contexto, Qualidade de Serviço. UNIVERSIDADE FEDERAL DE GOIÁS INSTITUTO DE INFORMÁTICA MESTRADO EM CIÊNCIA DA COMPUTAÇÃO Título: PROPOSTA DE SOLUÇÃO PARA SOBRE-APROVISIONAMENTO DE RECURSOS SOBRE CAMINHOS HETEROGÊNEOS EM REDES SENSÍVEIS

Leia mais

Disciplina: Processamento Digital de Sinais (ENG577) Aula 05 Parte 2: Dispositivos de Hardware Programável Prof.: Eduardo Simas eduardo.simas@ufba.

Disciplina: Processamento Digital de Sinais (ENG577) Aula 05 Parte 2: Dispositivos de Hardware Programável Prof.: Eduardo Simas eduardo.simas@ufba. Universidade Federal da Bahia Escola Politécnica Programa de Pós Graduação em Engenharia Elétrica Disciplina: Processamento Digital de Sinais (ENG577) Aula 05 Parte 2: Dispositivos de Hardware Programável

Leia mais

Sistemas Distribuídos. Introdução

Sistemas Distribuídos. Introdução Sistemas Distribuídos Introdução Definição Processos Um sistema distribuído é um conjunto de computadores independentes, interligados por uma rede de conexão, executando um software distribuído. Executados

Leia mais

Prof. Samuel Henrique Bucke Brito

Prof. Samuel Henrique Bucke Brito - Anéis Ópticos em Backbone www.labcisco.com.br ::: shbbrito@labcisco.com.br Prof. Samuel Henrique Bucke Brito Introdução Em 1980 foi formado o grupo de trabalho ANSI X3T9.5 com a finalidade de desenvolver

Leia mais

Instituto Superior de Engenharia do Porto Administração de Sistemas Informáticos I Clusters

Instituto Superior de Engenharia do Porto Administração de Sistemas Informáticos I Clusters Instituto Superior de Engenharia do Porto Administração de Sistemas Informáticos I Clusters Trabalho elaborado por: 980368 - Sérgio Gonçalves Lima 1010949 - Nisha Sudhirkumar Chaganlal Clusters O que é

Leia mais

I Seminário dos Grupos de Pesquisa da UNISC Ficha de Inscrição do Grupo de Pesquisa. Nome do Grupo: GPSEM Grupo de Projeto de Sistemas Embarcados e

I Seminário dos Grupos de Pesquisa da UNISC Ficha de Inscrição do Grupo de Pesquisa. Nome do Grupo: GPSEM Grupo de Projeto de Sistemas Embarcados e I Seminário dos Grupos de Pesquisa da UNISC Ficha de Inscrição do Grupo de Pesquisa Nome do Grupo: GPSEM Grupo de Projeto de Sistemas Embarcados e Microeletrônica Área: Sistemas de Computação Nome do Líder:

Leia mais

Sistemas Distribuídos

Sistemas Distribuídos Sistemas Distribuídos Processos I: Threads, virtualização e comunicação via protocolos Prof. MSc. Hugo Souza Nesta primeira parte sobre os Processos Distribuídos iremos abordar: Processos e a comunicação

Leia mais