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 dulcineia@gmail.com 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 capsm@pucminas.br 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.

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

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

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

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

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

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

1 INTRODUÇÃO Internet Engineering Task Force (IETF) Mobile IP

1 INTRODUÇÃO Internet Engineering Task Force (IETF) Mobile IP 1 INTRODUÇÃO Devido ao crescimento da Internet, tanto do ponto de vista do número de usuários como o de serviços oferecidos, e o rápido progresso da tecnologia de comunicação sem fio (wireless), tem se

Leia mais

Disciplina: Introdução à Informática Profª Érica Barcelos

Disciplina: Introdução à Informática Profª Érica Barcelos Disciplina: Introdução à Informática Profª Érica Barcelos CAPÍTULO 4 1. ARQUITETURA DO COMPUTADOR- HARDWARE Todos os componentes físicos constituídos de circuitos eletrônicos interligados são chamados

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

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

Máscaras de sub-rede. Fórmula

Máscaras de sub-rede. Fórmula Máscaras de sub-rede As identificações de rede e de host em um endereço IP são diferenciadas pelo uso de uma máscara de sub-rede. Cada máscara de sub-rede é um número de 32 bits que usa grupos de bits

Leia mais

IW10. Rev.: 02. Especificações Técnicas

IW10. Rev.: 02. Especificações Técnicas IW10 Rev.: 02 Especificações Técnicas Sumário 1. INTRODUÇÃO... 1 2. COMPOSIÇÃO DO IW10... 2 2.1 Placa Principal... 2 2.2 Módulos de Sensores... 5 3. APLICAÇÕES... 6 3.1 Monitoramento Local... 7 3.2 Monitoramento

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

Introdução ao Modelos de Duas Camadas Cliente Servidor

Introdução ao Modelos de Duas Camadas Cliente Servidor Introdução ao Modelos de Duas Camadas Cliente Servidor Desenvolvimento de Sistemas Cliente Servidor Prof. Esp. MBA Heuber G. F. Lima Aula 1 Ciclo de Vida Clássico Aonde estamos? Page 2 Análise O que fizemos

Leia mais

Arquitetura de Rede de Computadores

Arquitetura de Rede de Computadores TCP/IP Roteamento Arquitetura de Rede de Prof. Pedro Neto Aracaju Sergipe - 2011 Ementa da Disciplina 4. Roteamento i. Máscara de Rede ii. Sub-Redes iii. Números Binários e Máscara de Sub-Rede iv. O Roteador

Leia mais

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

Unidade Central de Processamento (CPU) Processador. Renan Manola Introdução ao Computador 2010/01

Unidade Central de Processamento (CPU) Processador. Renan Manola Introdução ao Computador 2010/01 Unidade Central de Processamento (CPU) Processador Renan Manola Introdução ao Computador 2010/01 Componentes de um Computador (1) Computador Eletrônico Digital É um sistema composto por: Memória Principal

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

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

ICORLI. INSTALAÇÃO, CONFIGURAÇÃO e OPERAÇÃO EM REDES LOCAIS e INTERNET

ICORLI. INSTALAÇÃO, CONFIGURAÇÃO e OPERAÇÃO EM REDES LOCAIS e INTERNET INSTALAÇÃO, CONFIGURAÇÃO e OPERAÇÃO EM REDES LOCAIS e INTERNET 2010/2011 1 Protocolo TCP/IP É um padrão de comunicação entre diferentes computadores e diferentes sistemas operativos. Cada computador deve

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

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

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

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

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

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

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

Desenvolvendo uma Arquitetura de Componentes Orientada a Serviço SCA

Desenvolvendo uma Arquitetura de Componentes Orientada a Serviço SCA Desenvolvendo uma Arquitetura de Componentes Orientada a Serviço SCA RESUMO Ricardo Della Libera Marzochi A introdução ao Service Component Architecture (SCA) diz respeito ao estudo dos principais fundamentos

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

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

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

Um Driver NDIS Para Interceptação de Datagramas IP

Um Driver NDIS Para Interceptação de Datagramas IP Um Driver NDIS Para Interceptação de Datagramas IP Paulo Fernando da Silva psilva@senior.com.br Sérgio Stringari stringari@furb.br Resumo. Este artigo apresenta o desenvolvimento de um driver NDIS 1 para

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

Introdução a computação móvel. Middlewares para Rede de Sensores sem Fio. Uma avaliação na ótica de Adaptação ao Contexto

Introdução a computação móvel. Middlewares para Rede de Sensores sem Fio. Uma avaliação na ótica de Adaptação ao Contexto Introdução a computação móvel Monografia: Middlewares para Rede de Sensores sem Fio Uma avaliação na ótica de Adaptação ao Contexto Adriano Branco Agenda Objetivo do trabalho O que é uma WSN Middlewares

Leia mais

7.Conclusão e Trabalhos Futuros

7.Conclusão e Trabalhos Futuros 7.Conclusão e Trabalhos Futuros 158 7.Conclusão e Trabalhos Futuros 7.1 Conclusões Finais Neste trabalho, foram apresentados novos métodos para aceleração, otimização e gerenciamento do processo de renderização

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

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

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

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

Sistemas Operacionais Introdução. Professora: Michelle Nery

Sistemas Operacionais Introdução. Professora: Michelle Nery Sistemas Operacionais Introdução Professora: Michelle Nery Área de Atuação do Sistema Operacional Composto de dois ou mais níveis: Tipo de Sistemas Operacionais Sistemas Operacionais Monotarefas Sistemas

Leia mais

Bancos de dados distribuídos Prof. Tiago Eugenio de Melo tiagodemelo@gmail.com. http://www.tiagodemelo.info

Bancos de dados distribuídos Prof. Tiago Eugenio de Melo tiagodemelo@gmail.com. http://www.tiagodemelo.info Bancos de dados distribuídos Prof. Tiago Eugenio de Melo tiagodemelo@gmail.com Última atualização: 20.03.2013 Conceitos Banco de dados distribuídos pode ser entendido como uma coleção de múltiplos bds

Leia mais

O hardware é a parte física do computador, como o processador, memória, placamãe, entre outras. Figura 2.1 Sistema Computacional Hardware

O hardware é a parte física do computador, como o processador, memória, placamãe, entre outras. Figura 2.1 Sistema Computacional Hardware 1 2 Revisão de Hardware 2.1 Hardware O hardware é a parte física do computador, como o processador, memória, placamãe, entre outras. Figura 2.1 Sistema Computacional Hardware 2.1.1 Processador O Processador

Leia mais

Trabalhos Relacionados 79

Trabalhos Relacionados 79 Trabalhos Relacionados 79 6 Avaliação e Testes Neste capítulo são apresentados alguns testes que foram realizados com o a solução de Gerenciamento de Mobilidade (API SIP User Agent) e com o sistema publish/subscribe

Leia mais

3 Arquitetura do Sistema

3 Arquitetura do Sistema 3 Arquitetura do Sistema Este capítulo irá descrever a arquitetura geral do sistema, justificando as decisões de implementação tomadas. Na primeira seção iremos considerar um conjunto de nós interagindo

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

Novidades no Q-flow 3.02

Novidades no Q-flow 3.02 Novidades no Q-flow 3.02 Introdução Um dos principais objetivos do Q-flow 3.02 é adequar-se às necessidades das grandes organizações. Por isso, o Q-flow 3.02 possui uma versão Enterprise que inclui funcionalidades

Leia mais

IMPLEMENTAÇÃO DE SOCKETS E THREADS NO DESENVOLVIMENTO DE SISTEMAS CLIENTE / SERVIDOR: UM ESTUDO EM VB.NET

IMPLEMENTAÇÃO DE SOCKETS E THREADS NO DESENVOLVIMENTO DE SISTEMAS CLIENTE / SERVIDOR: UM ESTUDO EM VB.NET 1 IMPLEMENTAÇÃO DE SOCKETS E THREADS NO DESENVOLVIMENTO DE SISTEMAS CLIENTE / SERVIDOR: UM ESTUDO EM VB.NET Daniel da Silva Carla E. de Castro Franco Diogo Florenzano Avelino daniel.silva1@ext.mpsa.com

Leia mais

Computadores de Programação (MAB353)

Computadores de Programação (MAB353) Computadores de Programação (MAB353) Aula 19: Visão geral sobre otimização de programas 06 de julho de 2010 1 2 3 Características esperadas dos programas O primeiro objetivo ao escrever programas de computador

Leia mais

3 Um Framework Orientado a Aspectos para Monitoramento e Análise de Processos de Negócio

3 Um Framework Orientado a Aspectos para Monitoramento e Análise de Processos de Negócio 32 3 Um Framework Orientado a Aspectos para Monitoramento e Análise de Processos de Negócio Este capítulo apresenta o framework orientado a aspectos para monitoramento e análise de processos de negócio

Leia mais

Capacidade = 512 x 300 x 20000 x 2 x 5 = 30.720.000.000 30,72 GB

Capacidade = 512 x 300 x 20000 x 2 x 5 = 30.720.000.000 30,72 GB Calculando a capacidade de disco: Capacidade = (# bytes/setor) x (méd. # setores/trilha) x (# trilhas/superfície) x (# superfícies/prato) x (# pratos/disco) Exemplo 01: 512 bytes/setor 300 setores/trilha

Leia mais

BRAlarmExpert. Software para Gerenciamento de Alarmes. BENEFÍCIOS obtidos com a utilização do BRAlarmExpert:

BRAlarmExpert. Software para Gerenciamento de Alarmes. BENEFÍCIOS obtidos com a utilização do BRAlarmExpert: BRAlarmExpert Software para Gerenciamento de Alarmes A TriSolutions conta com um produto diferenciado para gerenciamento de alarmes que é totalmente flexível e amigável. O software BRAlarmExpert é uma

Leia mais

ORGANIZAÇÃO DE COMPUTADORES MÓDULO 8

ORGANIZAÇÃO DE COMPUTADORES MÓDULO 8 ORGANIZAÇÃO DE COMPUTADORES MÓDULO 8 Índice 1. A Organização do Computador - Continuação...3 1.1. Processadores - II... 3 1.1.1. Princípios de projeto para computadores modernos... 3 1.1.2. Paralelismo...

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

MÓDULO 7 Modelo OSI. 7.1 Serviços Versus Protocolos

MÓDULO 7 Modelo OSI. 7.1 Serviços Versus Protocolos MÓDULO 7 Modelo OSI A maioria das redes são organizadas como pilhas ou níveis de camadas, umas sobre as outras, sendo feito com o intuito de reduzir a complexidade do projeto da rede. O objetivo de cada

Leia mais

Sistemas Distribuídos

Sistemas Distribuídos Sistemas Distribuídos Modelo Cliente-Servidor: Introdução aos tipos de servidores e clientes Prof. MSc. Hugo Souza Iniciando o módulo 03 da primeira unidade, iremos abordar sobre o Modelo Cliente-Servidor

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

DIMENSIONANDO PROJETOS DE WEB-ENABLING. Uma aplicação da Análise de Pontos de Função. Dimensionando projetos de Web- Enabling

DIMENSIONANDO PROJETOS DE WEB-ENABLING. Uma aplicação da Análise de Pontos de Função. Dimensionando projetos de Web- Enabling DIMENSIONANDO PROJETOS DE WEB-ENABLING Uma aplicação da Análise de Pontos de Função Dimensionando projetos de Web- Enabling Índice INTRODUÇÃO...3 FRONTEIRA DA APLICAÇÃO E TIPO DE CONTAGEM...3 ESCOPO DA

Leia mais

Prof. Marcos Ribeiro Quinet de Andrade Universidade Federal Fluminense - UFF Pólo Universitário de Rio das Ostras - PURO

Prof. Marcos Ribeiro Quinet de Andrade Universidade Federal Fluminense - UFF Pólo Universitário de Rio das Ostras - PURO Conceitos básicos e serviços do Sistema Operacional Prof. Marcos Ribeiro Quinet de Andrade Universidade Federal Fluminense - UFF Pólo Universitário de Rio das Ostras - PURO Tipos de serviço do S.O. O S.O.

Leia mais

Sistemas Operacionais Gerência de Dispositivos

Sistemas Operacionais Gerência de Dispositivos Universidade Estadual de Mato Grosso do Sul UEMS Curso de Licenciatura em Computação Sistemas Operacionais Gerência de Dispositivos Prof. José Gonçalves Dias Neto profneto_ti@hotmail.com Introdução A gerência

Leia mais

MANUAL DE IMPLANTAÇÃO SISTEMA DE INVENTÁRIO CACIC GOVERNO FEDERAL SOFTWARE PÚBLICO

MANUAL DE IMPLANTAÇÃO SISTEMA DE INVENTÁRIO CACIC GOVERNO FEDERAL SOFTWARE PÚBLICO MANUAL DE IMPLANTAÇÃO SISTEMA DE INVENTÁRIO CACIC Configurador Automático e Coletor de Informações Computacionais GOVERNO FEDERAL SOFTWARE PÚBLICO software livre desenvolvido pela Dataprev Sistema de Administração

Leia mais

Sistemas Operacionais

Sistemas Operacionais Sistemas Operacionais Aula 03 Tipos de Sistemas Operacionais Maxwell Anderson Prof. Maxwell Anderson www.maxwellanderson.com.br Tipos de Sistemas Operacionais Os tipos de sistemas operacionais e a sua

Leia mais

Sistemas Distribuídos. Ricardo Ribeiro dos Santos ricrs@ec.ucdb.br

Sistemas Distribuídos. Ricardo Ribeiro dos Santos ricrs@ec.ucdb.br Sistemas Distribuídos Ricardo Ribeiro dos Santos ricrs@ec.ucdb.br Curso de Engenharia de Computação UCDB Agosto/2003 Tópicos Conceitos de HW em SD Multiprocessadores e Multicomputadores Conceitos de SW

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

UNIVERSIDADE FEDERAL DE SANTA CATARINA UFSC DEPARTAMENTO DE INFORMÁTICA E ESTATÍSTICA INE BACHARELADO EM CIÊNCIAS DA COMPUTAÇÃO.

UNIVERSIDADE FEDERAL DE SANTA CATARINA UFSC DEPARTAMENTO DE INFORMÁTICA E ESTATÍSTICA INE BACHARELADO EM CIÊNCIAS DA COMPUTAÇÃO. UNIVERSIDADE FEDERAL DE SANTA CATARINA UFSC DEPARTAMENTO DE INFORMÁTICA E ESTATÍSTICA INE BACHARELADO EM CIÊNCIAS DA COMPUTAÇÃO Xen Hypervisor Glauco Neves 07132022 Guilherme Pacheco 07232063 INE 5412-0432

Leia mais

5 SIMULAÇÃO DE UM SISTEMA WDM DE DOIS CANAIS COM O SOFTWARE VPI

5 SIMULAÇÃO DE UM SISTEMA WDM DE DOIS CANAIS COM O SOFTWARE VPI 68 5 SIMULAÇÃO DE UM SISTEMA WDM DE DOIS CANAIS COM O SOFTWARE VPI O software VPI foi originalmente introduzido em 1998 e era conhecido como PDA (Photonic Design Automation). O VPI atualmente agrega os

Leia mais

Multiplexador. Permitem que vários equipamentos compartilhem um único canal de comunicação

Multiplexador. Permitem que vários equipamentos compartilhem um único canal de comunicação Multiplexadores Permitem que vários equipamentos compartilhem um único canal de comunicação Transmissor 1 Receptor 1 Transmissor 2 Multiplexador Multiplexador Receptor 2 Transmissor 3 Receptor 3 Economia

Leia mais

BARRAMENTO DO SISTEMA

BARRAMENTO DO SISTEMA BARRAMENTO DO SISTEMA Memória Principal Processador Barramento local Memória cachê/ ponte Barramento de sistema SCSI FireWire Dispositivo gráfico Controlador de vídeo Rede Local Barramento de alta velocidade

Leia mais

Everson Scherrer Borges João Paulo de Brito Gonçalves

Everson Scherrer Borges João Paulo de Brito Gonçalves Everson Scherrer Borges João Paulo de Brito Gonçalves 1 Tipos de Sistemas Operacionais Os tipos de sistemas operacionais e sua evolução estão relacionados diretamente com a evolução do hardware e das

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

Entendendo como funciona o NAT

Entendendo como funciona o NAT Entendendo como funciona o NAT Vamos inicialmente entender exatamente qual a função do NAT e em que situações ele é indicado. O NAT surgiu como uma alternativa real para o problema de falta de endereços

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

Arquitetura de Computadores II

Arquitetura de Computadores II Universidade Federal do Rio de Janeiro Informática DCC/IM Arquitetura de Computadores II Sistemas de Troca de Mensagens O Sistema de Comunicação provê tipicamente os seguintes serviços para as aplicações:

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

Faculdades Santa Cruz - Inove. Plano de Aula Base: Livro - Distributed Systems Professor: Jean Louis de Oliveira.

Faculdades Santa Cruz - Inove. Plano de Aula Base: Livro - Distributed Systems Professor: Jean Louis de Oliveira. Período letivo: 4 Semestre. Quinzena: 5ª. Faculdades Santa Cruz - Inove Plano de Aula Base: Livro - Distributed Systems Professor: Jean Louis de Oliveira. Unidade Curricular Sistemas Distribuídos Processos

Leia mais

Na medida em que se cria um produto, o sistema de software, que será usado e mantido, nos aproximamos da engenharia.

Na medida em que se cria um produto, o sistema de software, que será usado e mantido, nos aproximamos da engenharia. 1 Introdução aos Sistemas de Informação 2002 Aula 4 - Desenvolvimento de software e seus paradigmas Paradigmas de Desenvolvimento de Software Pode-se considerar 3 tipos de paradigmas que norteiam a atividade

Leia mais

Classificação de SO (Sistemas Operacionais) Técnico de Informática 2º. Módulo Profa. Madalena Pereira da Silva madalena.silva@ifsc.edu.

Classificação de SO (Sistemas Operacionais) Técnico de Informática 2º. Módulo Profa. Madalena Pereira da Silva madalena.silva@ifsc.edu. Classificação de SO (Sistemas Operacionais) Técnico de Informática 2º. Módulo Profa. Madalena Pereira da Silva madalena.silva@ifsc.edu.br Agenda Classificação de SO quanto a: Interface Processamento Tarefas

Leia mais

Tabela de roteamento

Tabela de roteamento Existem duas atividades que são básicas a um roteador. São elas: A determinação das melhores rotas Determinar a melhor rota é definir por qual enlace uma determinada mensagem deve ser enviada para chegar

Leia mais

REDES DE COMPUTADORES

REDES DE COMPUTADORES REDES DE COMPUTADORES Rede é um conjunto de módulos processadores capazes de trocar informações e compartilhar recursos. O tipo de rede é definido pela sua área de abrangência, podemos classificar as redes

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

Esta dissertação apresentou duas abordagens para integração entre a linguagem Lua e o Common Language Runtime. O objetivo principal da integração foi

Esta dissertação apresentou duas abordagens para integração entre a linguagem Lua e o Common Language Runtime. O objetivo principal da integração foi 5 Conclusão Esta dissertação apresentou duas abordagens para integração entre a linguagem Lua e o Common Language Runtime. O objetivo principal da integração foi permitir que scripts Lua instanciem e usem

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

1 INTRODUÇÃO. 1.1 Motivação e Justificativa

1 INTRODUÇÃO. 1.1 Motivação e Justificativa 1 INTRODUÇÃO 1.1 Motivação e Justificativa A locomoção é um dos direitos básicos do cidadão. Cabe, portanto, ao poder público normalmente uma prefeitura e/ou um estado prover transporte de qualidade para

Leia mais

AUTOR: DAVID DE MIRANDA RODRIGUES CONTATO: davidmr@ifce.edu.br CURSO FIC DE PROGRAMADOR WEB VERSÃO: 1.0

AUTOR: DAVID DE MIRANDA RODRIGUES CONTATO: davidmr@ifce.edu.br CURSO FIC DE PROGRAMADOR WEB VERSÃO: 1.0 AUTOR: DAVID DE MIRANDA RODRIGUES CONTATO: davidmr@ifce.edu.br CURSO FIC DE PROGRAMADOR WEB VERSÃO: 1.0 SUMÁRIO 1 Conceitos Básicos... 3 1.1 O que é Software?... 3 1.2 Situações Críticas no desenvolvimento

Leia mais

ISO/IEC 12207: Gerência de Configuração

ISO/IEC 12207: Gerência de Configuração ISO/IEC 12207: Gerência de Configuração Durante o processo de desenvolvimento de um software, é produzida uma grande quantidade de itens de informação que podem ser alterados durante o processo Para que

Leia mais

**Docentes do Centro Universitário Filadélfia- Unifil. computação@unifil.br

**Docentes do Centro Universitário Filadélfia- Unifil. computação@unifil.br COMPARATIVO DE PRODUTIVIDADE ENTRE UM PROCESSO DE DESENVOLVIMENTO DE SOFTWARE COM A ABORDAGEM DE LINHA DE PRODUTO DE SOFTWARE COM O PROCESSO DE DESENVOLVIMENTO DE SOFTWARE TRADICIONAL.(2011) **Docentes

Leia mais

Processadores BIP. Conforme Morandi et al (2006), durante o desenvolvimento do BIP, foram definidas três diretrizes de projeto:

Processadores BIP. Conforme Morandi et al (2006), durante o desenvolvimento do BIP, foram definidas três diretrizes de projeto: Processadores BIP A família de processadores BIP foi desenvolvida por pesquisadores do Laboratório de Sistemas Embarcados e Distribuídos (LSED) da Universidade do Vale do Itajaí UNIVALI com o objetivo

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

Relatorio do trabalho pratico 2

Relatorio do trabalho pratico 2 UNIVERSIDADE FEDERAL DE SANTA CATARINA INE5414 REDES I Aluno: Ramon Dutra Miranda Matricula: 07232120 Relatorio do trabalho pratico 2 O protocolo SNMP (do inglês Simple Network Management Protocol - Protocolo

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

MÓDULO 8 ARQUITETURA DOS SISTEMAS DE BANCO DE DADOS

MÓDULO 8 ARQUITETURA DOS SISTEMAS DE BANCO DE DADOS MÓDULO 8 ARQUITETURA DOS SISTEMAS DE BANCO DE DADOS Quando falamos em arquitetura, normalmente utilizamos esse termo para referenciar a forma como os aplicativos computacionais são estruturados e os hardwares

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

SISTEMAS OPERACIONAIS CAPÍTULO 3 CONCORRÊNCIA

SISTEMAS OPERACIONAIS CAPÍTULO 3 CONCORRÊNCIA SISTEMAS OPERACIONAIS CAPÍTULO 3 CONCORRÊNCIA 1. INTRODUÇÃO O conceito de concorrência é o princípio básico para o projeto e a implementação dos sistemas operacionais multiprogramáveis. O sistemas multiprogramáveis

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

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

Engenharia de Software III

Engenharia de Software III Engenharia de Software III Casos de uso http://dl.dropbox.com/u/3025380/es3/aula6.pdf (flavio.ceci@unisul.br) 09/09/2010 O que são casos de uso? Um caso de uso procura documentar as ações necessárias,

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

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