35 resultados para Arquiteturas enterradas

em Lume - Repositório Digital da Universidade Federal do Rio Grande do Sul


Relevância:

20.00% 20.00%

Publicador:

Resumo:

O avanço tecnológico no projeto de microprocessadores, nos recentes anos, tem seguido duas tendências principais. A primeira tenta aumentar a freqüência do relógio dos mesmos usando componentes digitais e técnicas VLSI mais eficientes. A segunda tenta explorar paralelismo no nível de instrução através da reorganização dos seus componentes internos. Dentro desta segunda abordagem estão as arquiteturas multi-tarefas simultâneas, que são capazes de extrair o paralelismo existente entre e dentro de diferentes tarefas das aplicações, executando instruções de vários fluxos simultaneamente e maximizando assim a utilização do hardware. Apesar do alto custo da implementação em hardware, acredita-se no potencial destas arquiteturas para o futuro próximo, pois é previsto que em breve haverá a disponibilidade de bilhões de transistores para o desenvolvimento de circuitos integrados. Assim, a questão principal a ser encarada talvez seja: como prover instruções paralelas para uma arquitetura deste tipo? Sabe-se que a maioria das aplicações é seqüencial pois os problemas nem sempre possuem uma solução paralela e quando a solução existe os programadores nem sempre têm habilidade para ver a solução paralela. Pensando nestas questões a arquitetura SEMPRE foi projetada. Esta arquitetura executa múltiplos processos, ao invés de múltiplas tarefas, aproveitando assim o paralelismo existente entre diferentes aplicações. Este paralelismo é mais expressivo do que aquele que existe entre tarefas dentro de uma mesma aplicação devido a não existência de sincronismo ou comunicação entre elas. Portanto, a arquitetura SEMPRE aproveita a grande quantidade de processos existentes nas estações de trabalho compartilhadas e servidores de rede. Além disso, esta arquitetura provê suporte de hardware para o escalonamento de processos e instruções especiais para o sistema operacional gerenciar processos com mínimo esforço. Assim, os tempos perdidos com o escalonamento de processos e as trocas de contextos são insignificantes nesta arquitetura, provendo ainda maior desempenho durante a execução das aplicações. Outra característica inovadora desta arquitetura é a existência de um mecanismo de prébusca de processos que, trabalhando em cooperação com o escalonamento de processos, permite reduzir faltas na cache de instruções. Também, devido a essa rápida troca de contexto, a arquitetura permite a definição de uma fatia de tempo (fatia de tempo) menor do que aquela praticada pelo sistema operacional, provendo maior dinâmica na execução das aplicações. A arquitetura SEMPRE foi analisada e avaliada usando modelagem analítica e simulação dirigida por execução de programas do SPEC95. A modelagem mostrou que o escalonamento por hardware reduz os efeitos colaterais causados pela presença de processos na cache de instruções e a simulação comprovou que as diferentes características desta arquitetura podem, juntas, prover ganho de desempenho razoável sobre outras arquiteturas multi-tarefas simultâneas equivalentes, com um pequeno acréscimo de hardware, melhor aproveitando as fatias de tempo atribuídas aos processos.

Relevância:

20.00% 20.00%

Publicador:

Resumo:

Este trabalho tem como foco a aplicação de técnicas de otimização de potência no alto nível de abstração para circuitos CMOS, e em particular no nível arquitetural e de transferência de registrados (Register Transfer Leve - RTL). Diferentes arquiteturas para projetos especificos de algorítmos de filtros FIR e transformada rápida de Fourier (FFT) são implementadas e comparadas. O objetivo é estabelecer uma metodologia de projeto para baixa potência neste nível de abstração. As técnicas de redução de potência abordadas tem por obetivo a redução da atividade de chaveamento através das técnicas de exploração arquitetural e codificação de dados. Um dos métodos de baixa potência que tem sido largamente utilizado é a codificação de dados para a redução da atividade de chaveamento em barramentos. Em nosso trabalho, é investigado o processo de codificação dos sinais para a obtenção de módulos aritméticos eficientes em termos de potência que operam diretamente com esses códigos. O objetivo não consiste somente na redução da atividade de chavemanto nos barramentos de dados mas também a minimização da complexidade da lógica combinacional dos módulos. Nos algorítmos de filtros FIR e FFT, a representação dos números em complemento de 2 é a forma mais utilizada para codificação de operandos com sinal. Neste trabalho, apresenta-se uma nova arquitetura para operações com sinal que mantém a mesma regularidade um multiplicador array convencional. Essa arquitetura pode operar com números na base 2m, o que permite a redução do número de linhas de produtos parciais, tendo-se desta forma, ganhos significativos em desempenho e redução de potência. A estratégia proposta apresenta resultados significativamente melhores em relação ao estado da arte. A flexibilidade da arquitetura proposta permite a construção de multiplicadores com diferentes valores de m. Dada a natureza dos algoritmos de filtro FIR e FFT, que envolvem o produto de dados por apropriados coeficientes, procura-se explorar o ordenamento ótimo destes coeficientes nos sentido de minimizar o consumo de potência das arquiteturas implementadas.

Relevância:

20.00% 20.00%

Publicador:

Resumo:

Acredita-se que no futuro as redes de telecomunicação e dados serão integradas em uma só rede, baseada na comutação de pacotes IP. Esta rede deverá oferecer serviços com qualidade (QoS) para as aplicações atuais e futuras. Uma das tecnologias que deverá ser adotada no núcleo desta nova rede é MPLS. MPLS introduz o conceito de switching (comutação) no ambiente IP e também permite que seja implementada a Engenharia de Tráfego, otimizando sua utilização através do roteamento baseado em restrições. Junto com MPLS outras arquiteturas para fornecimento de QoS, como Serviços Integrados e Serviços Diferenciados, serão utilizadas. Entretanto, como nenhuma delas atende a todos os requisitos para garantia de QoS fim a fim e levando-se em consideração o fato de a Internet ser uma rede heterogênea, surge a necessidade de um framework que permita a interoperabilidade das diferentes arquiteturas existentes. Neste trabalho é proposto um modelo de integração que fornece garantias de QoS fim a fim para redes que utilizam tanto Serviços Integrados como Serviços Diferenciados através do emprego de uma infra-estrutura baseada em MPLS e Serviços Diferenciados. A aplicabilidade do modelo foi testada no simulador ns2 e os resultados são apresentados neste trabalho.

Relevância:

20.00% 20.00%

Publicador:

Resumo:

Alta disponibilidade é uma das propriedades mais desejáveis em sistemas computacionais, principalmente em aplicações comerciais que, tipicamente, envolvem acesso a banco de dados e usam transações. Essas aplicações compreendem sistemas bancários e de comércio eletrônico, onde a indisponibilidade de um serviço pode representar substanciais perdas financeiras. Alta disponibilidade pode ser alcançada através de replicação. Se uma das réplicas não está operacional, outra possibilita que determinado serviço seja oferecido. No entanto, réplicas requerem protocolos que assegurem consistência de estado. Comunicação de grupo é uma abstração que tem sido aplicada com eficiência a sistemas distribuídos para implementar protocolos de replicação. Sua aplicação a sistemas práticos com transações e com banco de dados não é comum. Tipicamente, sistemas transacionais usam soluções ad hoc e sincronizam réplicas com protocolos centralizados, que são bloqueantes e, por isso, não asseguram alta disponibilidade. A tecnologia baseada em componentes Enterprise JavaBeans (EJB) é um exemplo de sistema prático que integra distribuição, transações e bancos de dados. Em uma aplicação EJB, o desenvolvedor codifica o serviço funcional que é dependente da aplicação, e os serviços não–funcionais são inseridos automaticamente. A especificação EJB descreve serviços não–funcionais de segurança, de transações e de persistência para bancos de dados, mas não descreve serviços que garantam alta disponibilidade. Neste trabalho, alta disponibilidade é oferecida como uma nova propriedade através da adição de serviços não–funcionais na tecnologia EJB usando abstrações de comunicação de grupo. Os serviços para alta disponibilidade são oferecidos através da arquitetura HA (highly-available architecture) que possui múltiplas camadas. Esses serviços incluem replicação, chaveamento de servidor, gerenciamento de membros do grupo e detecção de membros falhos do grupo. A arquitetura HA baseia-se nos serviços já descritos pela especificação EJB e preserva os serviços EJB existentes. O protocolo de replicação corresponde a uma subcamada, invisível para o usuário final. O serviço EJB é executado por membros em um grupo de réplicas, permitindo a existência de múltiplos bancos de dados idênticos. Conflitos de acesso aos múltiplos bancos de dados são tratados estabelecendo–se uma ordem total para aplicação das atualizações das transações. Esse grupo é modelado como um único componente e gerenciado por um sistema de comunicação de grupo. A combinação de conceitos de bancos de dados com comunicação de grupo demonstra uma interessante solução para aplicações com requisitos de alta disponibilidade, como as aplicações EJB. Os serviços adicionais da arquitetura HA foram implementados em protótipo. A validação através de um protótipo possibilita que experimentos sejam realizados dentro de um ambiente controlado, usando diferentes cargas de trabalho sintéticas. O protótipo combina dois sistemas de código aberto. Essa característica permitiu acesso à implementação e não somente à interface dos componentes dos sistemas em questão. Um dos sistemas implementa a especificação EJB e outro implementa o sistema de comunicação de grupos. Os resultados dos testes realizados com o protótipo mostraram a eficiência da solução proposta. A degradação de desempenho pelo uso de réplicas e da comunicação de grupo é mantida em valores adequados.

Relevância:

20.00% 20.00%

Publicador:

Resumo:

Com o advento dos processos submicrônicos, a capacidade de integração de transistores tem atingido níveis que possibilitam a construção de um sistema completo em uma única pastilha de silício. Esses sistemas, denominados sistemas integrados, baseiam-se no reuso de blocos previamente projetados e verificados, os quais são chamados de núcleos ou blocos de propriedade intelectual. Os sistemas integrados atuais incluem algumas poucas dezenas de núcleos, os quais são interconectados por meio de arquiteturas de comunicação baseadas em estruturas dedicadas de canais ponto-a-ponto ou em estruturas reutilizáveis constituídas por canais multiponto, denominadas barramentos. Os futuros sistemas integrados irão incluir de dezenas a centenas de núcleos em um mesmo chip com até alguns bilhões de transistores, sendo que, para atender às pressões do mercado e amortizar os custos de projeto entre vários sistemas, é importante que todos os seus componentes sejam reutilizáveis, incluindo a arquitetura de comunicação. Das arquiteturas utilizadas atualmente, o barramento é a única que oferece reusabilidade. Porém, o seu desempenho em comunicação e o seu consumo de energia degradam com o crescimento do sistema. Para atender aos requisitos dos futuros sistemas integrados, uma nova alternativa de arquitetura de comunicação tem sido proposta na comunidade acadêmica. Essa arquitetura, denominada rede-em-chip, baseia-se nos conceitos utilizados nas redes de interconexão para computadores paralelos. Esta tese se situa nesse contexto e apresenta uma arquitetura de rede-em-chip e um conjunto de modelos para a avaliação de área e desempenho de arquiteturas de comunicação para sistemas integrados. A arquitetura apresentada é denominada SoCIN (System-on-Chip Interconnection Network) e apresenta como diferencial o fato de poder ser dimensionada de modo a atender a requisitos de custo e desempenho da aplicação alvo. Os modelos desenvolvidos permitem a estimativa em alto nível da área em silício e do desempenho de arquiteturas de comunicação do tipo barramento e rede-em-chip. São apresentados resultados que demonstram a efetividade das redes-em-chip e indicam as condições que definem a aplicabilidade das mesmas.

Relevância:

20.00% 20.00%

Publicador:

Resumo:

Esta pesquisa visa a modelagem de clusters de computadores, utilizando um modelo analítico simples que é representado por um grafo valorado denominado grafo da arquitetura. Para ilustrar tal metodologia, exemplificou-se a modelagem do cluster Myrinet/SCI do Instituto de Informática da UFRGS, que é do tipo heterogêneo e multiprocessado. A pesquisa visa também o estudo de métodos e tecnologias de software para o particionamento de grafos de aplicações e seu respectivo mapeamento sobre grafos de arquiteturas. Encontrar boas partições de grafos pode contribuir com a redução da comunicação entre processadores em uma máquina paralela. Para tal, utilizou-se o grafo da aplicação HIDRA, um dos trabalhos do GMCPAD, que modela o transporte de substâncias no Lago Guaíba. Um fator importante é o crescente avanço da oferta de recursos de alto desempenho como os clusters de computadores. Os clusters podem ser homogêneos, quando possuem um arquitetura com nós de mesma característica como: velocidade de processamento, quantidade de memória RAM e possuem a mesma rede de interconexão interligando-os. Eles também podem ser heterogêneos, quando alguns dos componentes dos nós diferem em capacidade ou tecnologia. A tendência é de clusters homogêneos se tornarem em clusters heterogêneos, como conseqüência das expansões e atualizações. Efetuar um particionamento que distribua a carga em clusters heterogêneos de acordo com o poder computacional de cada nó não é uma tarefa fácil, pois nenhum processador deve ficar ocioso e, tampouco, outros devem ficar sobrecarregados Vários métodos de particionamento e mapeamento de grafos foram estudados e três ferramentas (Chaco, Jostle e o Scotch) foram testadas com a aplicação e com a arquitetura modeladas. Foram realizados, ainda, vários experimentos modificando parâmetros de entrada das ferramentas e os resultados foram analisados. Foram considerados melhores resultados aqueles que apresentaram o menor número de corte de arestas, uma vez que esse parâmetro pode representar a comunicação entre os processadores de uma máquina paralela, e executaram o particionamento/mapeamento no menor tempo. O software Chaco e o software Jostle foram eficientes no balanceamento de carga por gerarem partições com praticamente o mesmo tamanho, sendo os resultados adequados para arquiteturas homogêneas. O software Scotch foi o único que permitiu o mapeamento do grafo da aplicação sobre o grafo da arquitetura com fidelidade, destacando-se também por executar particionamento com melhor qualidade e pela execução dos experimentos em um tempo significativamente menor que as outras ferramentas pesquisadas.

Relevância:

20.00% 20.00%

Publicador:

Resumo:

O presente trabalho analisa diferentes modelos de representação temporal usados em arquiteturas conexionistas e propõe o uso de um novo modelo neural, chamado Neurônio Diferenciador-Integrador (NDI) para aplicação com processamento de sinais temporais. O NDI pode ser interpretado como filtro digital. Seu funcionamento exige poucos recursos computacionais e pode ser de grande valia em problemas onde a solução ideal depende de uma representação temporal instantânea, facilidade de implementação, modularidade e eliminação de ruído. Após a definição do modelo, o mesmo é sujeito a alguns experimentos teóricos utilizado em conjunto com arquiteturas conexionistas clássicas para resolver problemas que envolvem o tempo, como previsão de séries temporais, controle dinâmico e segmentação de seqüências espaço-temporais. Como conclusão, o modelo neural apresenta grande potencialidade principalmente na robótica, onde é necessário tratar os sinais sensoriais ruidosos do robô de forma rápida e econômica.

Relevância:

20.00% 20.00%

Publicador:

Resumo:

Assim como a arquitetura, o cinema é uma das artes onde o sentido espacial é mais forte. Ao incorporar o tempo como uma de suas dimensões, o espaço fílmico permite que falemos de uma ficção arquitetônica, de uma narratividade que nos faz construir uma via subjetiva de análise que extrapola o mero papel técnico, englobando os papéis crítico e experimental. Acentuando a impressão de realidade pela apresentação de formas em movimento, a arquitetura fílmica desempenha papel orquestral e atua como agente ativo de referência e legitimação espaçotemporal, tornando a experiência cinematográfica única. Mesmo não havendo como não sacrificar a continuidade dentro deste esquema e admitindo que o espaço fílmico seja diferente do real, pois sofre extrema influência de seus condicionantes técnicos , que agem como recortes da realidade e determinam, desta maneira, as relações entre tempo e espaço, o que interessa é que a representação deste espaço possa contribuir para a revelação de outras formas de se enxergar o fenômeno arquitetônico. É justamente a filmabilidade da arquitetura que, numa sociedade onde a comunicação é eminentemente visual, vai de encontro ao seu papel de discurso, de paradigma visual para a própria realidade. Ao pensar o espaço real representando e recriando suas formas, a arquitetura fílmica pode inclusive se configurar como uma espécie de arquitetura marginal, servindo de importante base para questionamentos e proposições sobre si mesma, indicando os gostos, medos e anseios de cada período e lançando novas idéias A arquitetura, banhada por fatores de ordem cultural, econômica, política e social tem, portanto, o poder de sintetizar a experiência espacial fílmica, fazendo da simulação gerada por sua representação peça chave na análise dos espaços imaginários do cinema, já que a sobreposição entre realidade e ficção produz imagens e situações emblemáticas que se refletem na própria percepção espacial e se incorporam definitivamente à vivência urbana individual e coletiva de seus habitantes/espectadores. Pelo alcance atual do cinema é pertinente, portanto, que se investiguem as interfaces entre ambos. Dentro do estudo proposto estão sete filmes com os quais se espera mostrar porção relevante do que se pensou e representou sobre a arquitetura fílmica ao longo dos anos, mostrando que ela é muito mais que mera “cenografia”, pois permite a ligação entre tempo, espaço e homem. Não interessa saber, portanto, se estas arquiteturas são um modelo objetivo de espaço, mas sobretudo se são um laboratório de reflexão sobre uma certa idéia de sociedade

Relevância:

20.00% 20.00%

Publicador:

Resumo:

A exploração do paralelismo no nível de instrução (ILP) em arquiteturas superescalares é limitada fortemente pelas dependências de controle, as quais são ocasionadas pelas instruções de desvio, e pelas dependências de dados. As arquiteturas SMT (Simultaneous MultiThreaded) buscam explorar um novo nível de paralelismo, denominado paralelismo no nível de tarefa (TLP), para buscar e executar instruções de diversas tarefas ao mesmo tempo. Com isso, enquanto uma tarefa está bloqueada por dependências de controle e de dados, outras tarefas podem continuar executando, mascarando assim as latências de previsões incorretas e de acessos à memória, usando mais eficientemente as unidades funcionais e demais recursos disponíveis. Contudo, o projeto dessas arquiteturas continua a esbarrar nos mesmos problemas associados ao uso de técnicas utilizadas para a exploração de ILP, como a previsão de devios. Além disso, essas arquiteturas trazem novos desafios, como a determinação da maneira mais eficiente de distribuição/compartilhamento de recursos entre as tarefas. Nesse trabalho será apresentada uma topologia para as tabelas de previsão de desvios em arquiteturas multitarefas simultâneas. Além disso, serão desenvolvidas duas análises complementares acerca de previsão de desvios: o impacto da taxa de acertos da previsão de desvios em arquiteturas com pipelines profundos e o impacto da taxa de acerto na previsão do alvo de um desvio. Entre as principais contribuições do trabalho pode-se citar a definição de uma estrutura particionada para as tabelas de previsão em arquiteturas SMT, aliando desempenho a um menor custo de implementação em uma arquitetura real. Além disso, é mostrado que a taxa de acerto da previsão de desvios tem um grande impacto no desempenho das arquiteturas SMT com pipelines profundos, bem como nas causas de bloqueio do estágio de busca quando utiliza-se cache de instruções bloqueantes.

Relevância:

10.00% 10.00%

Publicador:

Resumo:

O objetivo deste trabalho é a proposta de uma arquitetura especial para simulação lógica (AESL). As técnicas e modelos utilizados no processo de simulação lógica são brevemente revistos. É definida uma taxonomia para AESL sob a qual são analisadas diversas propostas de AESL relatadas na literatura. Uma taxonomia já existente é comparada com a proposta. A AESL definida é programável para diferentes algoritmos de simulação lógica. O detalhamento da AESL é, então, incrementado pela implementação de um algoritmo particular. Uma linguagem de simulação discreta é utilizada na construção de um modelo da arquitetura. Os resultados da simulação deste modelo permitem avaliar o desempenho da AESL e otimizar sua estrutura. Uma comparação com outras arquiteturas conclui a análise.

Relevância:

10.00% 10.00%

Publicador:

Resumo:

O interesse de pesquisa da comunidade de Inteligência Artificial em Sistemas Multiagentes tem gerado o crescimento da utilização de técnicas de agentes nas mais diversas áreas da ciência da computação. Isso ocorre, principalmente, devido à variedade de aplicações em que esses sistemas podem ser usados, como por exemplo: jogos de computadores, interfaces adaptativas, simulação e controle de processos industriais. The Robot World Cup Initiative (RoboCup) é uma tentativa de estimular a área de Inteligência Artificial e, principalmente de Sistemas Multiagentes, por promover um problema padrão, jogar futebol, onde uma ampla cadeia de tecnologias podem ser integradas, examinadas e comparadas. A utilização do ambiente da RoboCup para a simulação de uma partida de futebol (simulador Soccerserver) permite a avaliação de diferentes técnicas de Sistemas Multiagentes (planejamento de estratégias, conhecimento em tempo real, colaboração de agentes, princípios de agentes autônomos, entre outros) e estimula as pesquisas, investigações e testes que possibilitem a construção gradativa de agentes avançados. O presente trabalho tem por objetivo o desenvolvimento de um time de futebol para o simulador Soccerserver. A idéia principal é desenvolver agentes jogadores que demonstrem um nível considerável de competência para a realização de suas tarefas, como percepção, ação, cooperação, estratégias pré-definidas, decisão e previsão. Inicialmente, apresenta-se uma visão geral sobre Inteligência Artificial Distribuída e sobre o simulador Soccerserver, pré-requisitos para o restante do trabalho. A seguir, é realizado um estudo sobre algumas arquiteturas de agentes (clientes) do Soccerserver. A arquitetura proposta na dissertação, suas principais características e a sua materialização em um protótipo desenvolvido correspondem à parte principal do trabalho. Finalmente são apresentados os testes realizados e as conclusões do trabalho.

Relevância:

10.00% 10.00%

Publicador:

Resumo:

Este estudo tem como objetivo analisar as diferentes metodologias existentes para criação de Depósito de Dados (DD) e determinar uma metodologia que melhor atenda às necessidades de uma empresa de telecomunicações, iniciando um projeto de DD e identificando as causas mais comuns de insucesso, a serem evitadas em projetos desta natureza. E para comprovar esta metodologia foi construído um Data Mart utilizando dados da Cia. Rio-grandense de Telecomunicações, com objetivo de análise de qualidade dos bilhetes utilizados nos indicadores de desempenho de centrais bilhetadoras. Apresenta, também, as arquiteturas possíveis de um Depósito de Dados/Data Mart, suas características e diferenças. Esta Dissertação de Mestrado é uma contribuição à pesquisa e à análise de metodologias empregadas na criação e manutenção de Depósitos de Dados e a determinação de uma metodologia que atenda às necessidades de uma empresa de telecomunicações.

Relevância:

10.00% 10.00%

Publicador:

Resumo:

Este trabalho apresenta a proposta de um editor de diagramas hierárquico e colaborativo. Este editor tem por objetivo permitir a especificação colaborativa de circuitos através de representações gráficas. O Blade (Block And Diagram Editor), como foi chamado, permite especificações em nível lógico, usando esquemas lógicos simples, bem como esquemas hierárquicos. Ao final da montagem do circuito, a ferramenta gera uma descrição textual do sistema num formato netlist padrão. A fim de permitir especificações em diferentes níveis de abstração, o editor deve ser estendido a outras formas de diagramas, portanto seu modelo de dados deve ter flexibilidade a fim de facilitar futuras extensões. O Blade foi implementado em Java para ser inserido no Cave, um ambiente distribuído de apoio ao projeto de circuitos integrados, através do qual a ferramenta pode ser invocada e acessada remotamente. O Cave disponibiliza um serviço de colaboração que foi incorporado na ferramenta e através do qual o editor suporta o trabalho cooperativo, permitindo que os projetistas compartilhem dados de projeto, troquem mensagens de texto e, de forma colaborativa, construam uma representação gráfica do sistema. Objetivando fundamentar a proposta da nova ferramenta, é apresentado um estudo sobre ferramentas gráficas para especificação de sistemas, mais especificamente sobre editores de esquemáticos. A partir dessa revisão, do estudo do ambiente Cave e da metodologia de colaboração a ser suportada, fez-se a especificação do editor, a partir da qual implementou-se o protótipo do Blade. Além do editor, este trabalho contribuiu para a construção de uma API, um conjunto de classes Java que será disponibilizado no Cave e poderá ser utilizado no desenvolvimento de novas ferramentas. Foram realizados estudos sobre técnicas de projeto orientado a objeto, incluindo arquiteturas de software reutilizáveis e padrões de projeto de software, que foram utilizados na modelagem e na implementação da ferramenta, a fim de garantir a flexibilidade do editor e a reusabilidade de suas classes. Este trabalho também contribui com um estudo de modelagem de primitivas de projeto de sistemas. No modelo orientado a objetos utilizado no editor, podem ser encontradas construções muito utilizadas em diferentes ferramentas de projeto de sistemas, tais como hierarquia de projeto e instanciação de componentes e que, portanto, podem ser reutilizadas para a modelagem de novas ferramentas.

Relevância:

10.00% 10.00%

Publicador:

Resumo:

No projeto de arquiteturas computacionais, a partir da evolução do modelo cliente-servidor, surgiram os sistemas distribuídos com a finalidade de oferecer características tais como: disponibilidade, distribuição, compartilhamento de recursos e tolerância a falhas. Estas características, entretanto, não são obtidas de forma simples. As aplicações distribuídas e as aplicações centralizadas possuem requisitos funcionais distintos; aplicações distribuídas são mais difíceis quanto ao projeto e implementação. A complexidade de implementação é decorrente principalmente da dificuldade de tratamento e de gerência dos mecanismos de comunicação, exigindo equipe de programadores experientes. Assim, tem sido realizada muita pesquisa para obter mecanismos que facilitem a programação de aplicações distribuídas. Observa-se que, em aplicações distribuídas reais, mecanismos de tolerância a falhas constituem-se em uma necessidade. Neste contexto, a comunicação confiável constitui-se em um dos blocos básicos de construção. Paralelamente à evolução tanto dos sistemas distribuídos como da área de tolerância a falhas, foi possível observar também a evolução das linguagens de programação. O sucesso do paradigma de orientação a objetos deve-se, provavelmente, à habilidade em modelar o domínio da aplicação ao invés da arquitetura da máquina em questão (enfoque imperativo) ou mapear conceitos matemáticos (conforme o enfoque funcional). Pesquisadores demonstraram que a orientação a objetos apresenta-se como um modelo atraente ao desenvolvimento de aplicações distribuídas modulares e tolerantes a falhas. Diante do contexto exposto, duas constatações estimularam basicamente a definição desta dissertação: a necessidade latente de mecanismos que facilitem a programação de aplicações distribuídas tolerantes a falhas; e o fato de que a orientação a objetos tem-se mostrado um modelo promissor ao desenvolvimento deste tipo de aplicação. Desta forma, nesta dissertação definem-se classes para a comunicação do tipo unicast e multicast, nas modalidades de envio confiável e não-confiável. Além destes serviços de comunicação básicos, foram desenvolvidas classes que permitem referenciar os participantes da comunicação através de nomes. As classes estão organizadas na forma de um pacote, compondo um framework. Sua implementação foi desenvolvida usando Java. Embora não tivessem sido requisitos básicos, as opções de projeto visaram assegurar resultados aceitáveis de desempenho e possibilidade de reuso das classes. Foram implementados pequenos trechos de código utilizando e testando a funcionalidade de cada uma das classes de comunicação propostas.

Relevância:

10.00% 10.00%

Publicador:

Resumo:

A presente Dissertação propõe uma biblioteca de comunicação de alto desempenho, baseada em troca de mensagens, especificamente projetada para explorar eficientemente as potencialidades da tecnologia SCI (Scalable Coherent Interface). No âmago da referida biblioteca, a qual se denominou DECK/SCI, acham-se três protocolos de comunicação distintos: um protocolo de baixa latência e mínimo overhead, especializado na troca de mensagens pequenas; um protocolo de propósito geral; e um protocolo de comunicação que emprega uma técnica de zero-copy, também idealizada neste Trabalho, no intuito de elevar a máxima largura de banda alcançável durante a transmissão de mensagens grandes. As pesquisas desenvolvidas no decurso da Dissertação que se lhe apresenta têm por mister proporcionar um ambiente para o desenvolvimento de aplicações paralelas, que demandam alto desempenho computacional, em clusters que se utilizam da tecnologia SCI como rede de comunicação. A grande motivação para os esforços envidados reside na consolidação dos clusters como arquiteturas, a um só tempo, tecnologicamente comparáveis às máquinas paralelas dedicadas, e economicamente viáveis. A interface de programação exportada pelo DECK/SCI aos usuários abarca o mesmo conjunto de primitivas da biblioteca DECK (Distributed Execution Communication Kernel), concebida originalmente com vistas à consecução de alto desempenho sobre a tecnologia Myrinet. Os resultados auferidos com o uso do DECK/SCI revelam a eficiência dos mecanismos projetados, e a utilização profícua das características de alto desempenho intrínsecas da rede SCI, haja visto que se obteve uma performance muito próxima dos limites tecnológicos impostos pela arquitetura subjacente. Outrossim, a execução de uma clássica aplicação paralela, para fins de validação, testemunha que as primitivas e abstrações fornecidas pelo DECK/SCI mantêm estritamente a mesma semântica da interface de programação do original DECK.