Fabio Sakari Leandro Hoffman Taira. Grid Computing Implementação utilizando o framework Alchemi

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

Download "Fabio Sakari Leandro Hoffman Taira. Grid Computing Implementação utilizando o framework Alchemi"

Transcrição

1 UNIVERSIDADE PRESBITERIANA MACKENZIE FACULDADE DE COMPUTAÇÃO E INFORMÁTICA BACHARELADO EM SISTEMAS DE INFORMAÇÃO Trabalho de Graduação Interdisciplinar Fabio Sakari Leandro Hoffman Taira Grid Computing Implementação utilizando o framework Alchemi São Paulo 2007

2 FABIO SAKARI LEANDRO HOFFMAN TAIRA GRID COMPUTING IMPLEMENTAÇÃO UTILIZANDO O FRAMEWORK ALCHEMI Trabalho de conclusão de Curso de Sistemas de Informação da Universidade Presbiteriana Mackenzie, apresentado como requisito parcial para a obtenção do Grau de Bacharel em Sistemas de Informação. ORIENTADOR: Prof. Rogério de Oliveira São Paulo 2007

3

4 RESUMO Tecnologias de computação em grade (grid computing) vêem sendo cada vez mais empregadas na utilização dos recursos computacionais. Os modelos de computação em grade incluem desde um pequeno número de computadores interligados, para prover um ambiente de alto poder computacional, até modelos que exploram a capacidade ociosa de milhares de estações de trabalho na internet. Este trabalho apresenta e discute os principais modelos de computação em grade. Também apresenta a implementação de um modelo desktop grid, empregando o framework público Alchemi, em que o problema de geração de um diagrama de bifurcação de um mapa logístico é produzido e seus resultados analisados. Palavras-chave: grid computing, computação em grade, Alchemi, computação paralela, sistemas dinâmicos, diagrama de bifurcação, mapa logístico

5 ABSTRACT More and more, grid computing technologies have been used in computational resources. The grid computing models include from a small number of linked computers, to provide high computational power environment, to models that explore the idle capacity of thousands of workstations on the Internet. This work presents and discusses the main models in grid computing. It also shows the implementation of a desktop grid model, applying the public framework Alchemi, where the problem of bifurcation diagram creation of a logistic map appears and its results are analyzed. Keywords: grid computing, Alchemi, parallel computing, dynamic systems, bifurcation diagram, logistic map

6 SUMÁRIO CAP. I - INTRODUÇÃO... 8 CAP. II FUNDAMENTOS DE GRID COMPUTING Computação paralela Arquiteturas de hardware Paradigmas de programação Frameworks Sistemas computacionais Computação de alta performance Computação em cluster Computação Peer-to-Peer Computação por Internet Grid computing Arquitetura Protocolos Projeto Globus Aplicações de grid Desktop grids Sumário CAP. III O FRAMEWORK ALCHEMI Arquitetura Componentes Configurações de grid Instalação e utilização Obtenção dos programas e pré-requisitos Gerenciador (Manager) Executor SDK (Software Development Kit) Comparação com outros frameworks Sumário... 38

7 CAP. IV IMPLEMENTAÇÃO: DIAGRAMA DE BIFURCAÇÃO Introdução aos sistemas dinâmicos Definições Tipos de sistemas dinâmicos Mapas parametrizados e bifurcações Mapa logístico O diagrama de bifurcação Modelagem da aplicação Análise do código-fonte Ciclo de vida de uma aplicação grid com Alchemi Construindo a aplicação Utilizando a aplicação Sumário...55 V SIMULAÇÕES E ANÁLISES DOS RESULTADOS Ambiente e configuração das simulações Simulações e resultados Sumário...58 VI CONCLUSÃO VII REFERÊNCIAS BIBLIOGRÁFICAS APÊNDICE I CÓDIGO-FONTE DA IMPLEMENTAÇÃO... 62

8 8 - I N T R O D U Ç Ã O Cap. I - Introdução A utilização de computadores na abordagem de solução de problemas já foi aplicada em quase todas as áreas de conhecimento humano. Computadores são usados para modelagem e simulação de problemas científicos ou de engenharia, diagnósticos médicos, previsão do tempo, entre outros. Entretanto, eles poderiam ser utilizados mais eficientemente do que realmente são. Dentre vários aspectos, um fator importante é que os computadores geralmente são inadequados para propósitos mais sofisticados devido a sua capacidade de processamento (FOSTER, I., KESSELMAN, C., 1999). Segundo Abbas (2004), na primeira metade dos anos 90, havia vários projetos de pesquisa nas comunidades acadêmicas e de pesquisa focados em computação distribuída, em busca de melhor aproveitamento das capacidades computacionais de sistemas através da interligação entre eles. Uma importante área de pesquisa se concentrava em desenvolver ferramentas que permitiriam sistemas computacionais de alto desempenho a agir como um grande computador. Em 1995, numa conferência em San Diego, foi realizado um experimento batizado de I- WAY, no qual redes de alta velocidade foram usadas para interligar 17 sites com grandes recursos computacionais espalhados pelos Estados Unidos e criar um supercomputador. Foram criadas cerca de sessenta aplicações diferentes nas áreas de ciência e engenharia para serem executadas nesta demonstração (FOSTER, I., 2000). Esses esforços direcionados para melhor utilização dos sistemas computacionais começaram a ser referenciados como grid computing 1, em analogia a uma rede elétrica (electrical power grid): por volta de 1910, apesar da geração de energia ser possível, a necessidade do usuário de criar e operar um gerador dificultava o uso. A verdadeira revolução na realidade não foi a eletricidade em si, mas sim a rede elétrica e as tecnologias associadas a sua transmissão e distribuição. Juntos, esses elementos possibilitaram acesso barato e padronizado, tornando a energia universalmente acessível (FOSTER, I., KESSELMAN, C., 1999). No campo da computação, um grid computacional seria uma infra-estrutura de hardware e software que provê acesso seguro, padronizado e barato a grandes capacidades computacionais (FOSTER, I., KESSELMAN, C., 1999). O conceito de grid computing nas comunidades de pesquisa e acadêmica desde então foi direcionado para estudos de criação de uma ferramenta eficiente para melhorar e facilitar a utilização de sistemas de computação distribuídos de alta performance, mais restritos às instituições acadêmicas. Mas com a explosão da Internet e o crescente aumento do poder dos computadores pessoais, foi criada a possibilidade da formação de poderosos sistemas de computação conectando computadores pessoais através de redes, concretizada em projetos como (análise de dados para busca por inteligência extraterrestre, mais informações em e (mapeamento do genoma humano, mais informações em (ABBAS, A. 2004). 1 Será utilizado neste estudo o termo na língua inglesa devido à sua relação com outros termos apresentados ao longo do trabalho, os quais não possuem tradução usual para a língua portuguesa.

9 I N T R O D U Ç Ã O - 9 Figura 1.1 Site do projeto Figura 1.2 Site do projeto

10 10 - I N T R O D U Ç Ã O Projetos deste tipo, relacionados com o campo da computação filantrópica (uso voluntário do potencial ocioso de computadores pessoais conectados à Internet), atraiu muito a atenção da mídia, popularizando conceitos de computação distribuída e grid computing, chamando a atenção de grandes empresas como IBM, Intel, HP e Sun Microsystems, que passaram a investir na tecnologia para uso comercial (ABBAS, A. 2004). Dentro deste contexto, o objetivo desse trabalho é fornecer uma análise sobre a tecnologia do grid computing, através do estudo de seus conceitos e de uma implementação utilizando o framework Alchemi. Este trabalho está organizado da seguinte forma: No primeiro capítulo é apresentada uma breve introdução ao grid computing, incluindo conceitos básicos e seu histórico. No segundo capítulo serão apresentados os fundamentos de grid computing, como conceitos sobre processamento paralelo, comparação com outras tecnologias, arquiteturas, componentes, entre outros. No capítulo terceiro será abordado o framework Alchemi, software utilizado para a implementação proposta no trabalho. Serão apresentados os principais componentes e uma comparação com outros frameworks. O quarto capítulo analisa a implementação proposta, aplicando um problema da teoria de sistemas dinâmicos, o diagrama de bifurcação, ao framework Alchemi. No quinto capítulo serão apresentadas as simulações, resultados e conclusões sobre a implementação, analisando testes executados em computadores isolados e em rede. No sexto e último capítulo serão apresentadas conclusões sobre o trabalho, direções atuais da tecnologia de grid computing e sugestões para trabalhos futuros.

11 Cap. II Fundamentos de Grid Computing C O M P U T A Ç Ã O P A R A L E L A - 11 Nesse capítulo serão apresentados os principais fundamentos da tecnologia de grid computing Computação paralela A computação paralela apresenta como idéia principal o uso de um conjunto de processadores interligados para a execução de uma aplicação mais eficientemente em comparação à execução em um processador isolado. Esse conceito surgiu devido ao surgimento de problemas que envolvem grandes volumes de dados e cálculos (CASTRO, A. A., NASU, C. Y., CÁCERES, E. N., MONGELLI, H., 2004) Arquiteturas de hardware Historicamente, segundo Flynn (1966) apud Abbas (2004), os sistemas computacionais podem ser divididos em quatro categorias dentro do contexto de computação paralela: SISD (Single Instruction, Single Data): um processador opera sobre um único fluxo de dados, que é o processamento seqüencial típico encontrado em computadores pessoais e estações de trabalho. SIMD (Single Instruction, Multiple Data): um processador centraliza o controle da execução e processamento de múltiplos fluxos de dados em múltiplos processadores. MISD (Multiple Instruction, Single Data): vários processadores executando programas independentes operando sobre um único fluxo de dados. MIMD (Multiple Instruction, Multiple Data): vários processadores executando programas independentes operando sobre múltiplos fluxos de dados. É uma classe bastante genérica, abrangendo qualquer conjunto de máquinas trabalhando como uma unidade (com sincronização de dados entre elas). A seguir serão abordadas com mais detalhes as arquiteturas da categoria MIMD. Para tanto, é preciso apresentar duas definições importantes: Acoplamento: segundo Tanenbaum (2000) apud Yokokura (2005), sistemas constituídos de pequena quantidade de processadores grandes, independentes e conectados a baixas velocidades são classificados como sistemas fracamente acoplados. Já os sistemas com processadores de baixa capacidade computacional, próximos e interligados por meios de comunicação de alta velocidade são chamados de sistemas fortemente acoplados. Nó: segundo Abbas (2004), um nó é definido por um sistema computacional isolado, que possui um ou mais processadores com acesso à memória local desse sistema (característica que classifica esse sistema como fortemente acoplado, pois possui memória compartilhada). Dois ou mais nós podem ser conectados por uma rede para a formação de um grupo de sistemas computacionais, que podem comunicar-se através de mensagens (caracterizando um

12 12 F U N D A M E N T O S D E G R I D C O M P U T I N G sistema fracamente acoplado, por utilizar memória distribuída em diversas máquinas) (ABBAS, A. 2004). Assim, Abbas (2004) classifica os sistemas MIMD em quatro categorias, levando em consideração o número de processadores por nó e o número de nós interligados: SNSP (Single Node, Single Processor): sistemas compostos por um nó com apenas com um processador, conforme figura. Similares a categoria SISD. SNMP (Single Node, Multiple Processors): um nó com vários processadores acessando uma mesma memória compartilhada, como demonstrado na figura 2.1. Essa categoria abrange sistemas como servidores Blade, sistemas SMP (sistemas de multiprocessamento assimétrico) e outros computadores de alta performance customizados. MNSP (Multiple Node, Single Processor): sistema composto por vários nós interligados por uma rede (memória distribuída), como demonstrado na figura 2.2. Essa categoria abrange sistemas como NOW (Network Of Workstations), grupos de computadores e qualquer outro com memória distribuída. MNMP (Multiple Node, Multiple Processor): essa categoria envolve múltiplos sistemas SNMP conectados por uma rede (figura 2.3). Pode ser considerado um grupo fracamente acoplado de nós (cada um considerado como um sistema fortemente acoplado). Figura 2.1 Arquitetura SNMP. Figura 2.2 Arquitetura MNSP.

13 C O M P U T A Ç Ã O P A R A L E L A - 13 Nó CPU CPU CPU Memória compartilhada Nó Rede CPU CPU CPU Memória compartilhada Nó CPU CPU CPU Memória compartilhada Figura 2.3 Arquitetura MNMP Paradigmas de programação Cada uma das arquiteturas de hardware apresentadas na seção anterior utiliza um paradigma de programação paralela para o desenvolvimento de aplicações. Segundo Abbas (2004): Sistemas SNSP: utilizam o paradigma de multitarefa preemptiva, ou seja, todos os processos compartilham o mesmo processador, que executa cada um deles por um tempo limitado, passando a impressão de uma execução quase paralela. A memória do sistema pode ser acessada por todos os processos em execução. Sistemas SNMP: utilizam a metodologia de compartilhamento de memória por vários processadores, que executam processos de forma realmente paralela. Esse tipo de programação é relativamente mais simples de implementar porque os processadores são capazes de executar paralelamente partes do mesmo algoritmo seqüencial criado para sistemas SNSP. Sistemas MNSP: envolvem o modelo de troca de mensagens entre os nós. Nesse modelo, os programas paralelos precisam especificar explicitamente funções dos lados do emissor e receptor das mensagens. Esse paradigma apresenta várias desvantagens, como atrasos devido à troca de mensagens pela rede, problemas de sincronização e dificuldade de programação, pois há a necessidade de escrever algoritmos específicos para a troca das mensagens e programas seqüenciais não podem ser reutilizados sem alterações significativas.

14 14 F U N D A M E N T O S D E G R I D C O M P U T I N G Sistemas MNMP: esses sistemas utilizam uma abordagem que tenta minimizar as dificuldades encontradas no modelo de troca de mensagens, empregando a simulação de uma memória compartilhada virtual, fora dos nós, utilizado pelos mesmos para intercâmbio de dados. O inconveniente dessa abordagem é o significativo aumento de tráfego na rede, que pode inviabilizar sua utilização em alguns tipos de aplicação. Apesar do conceito de computação paralela estar sendo utilizado por mais de duas décadas, sua programação ainda tem sido um desafio novo para a maioria dos desenvolvedores. Isso ocorre, em muitos casos, pelo alto custo desse tipo de arquitetura de hardware, mesmo com a utilização de grupos de computadores de menor custo. Mas o maior desafio é a complexidade da programação paralela, relacionada aos diferentes tipos de arquitetura e paradigmas de programação (ABBAS, A., 2004) Frameworks Para auxiliar os desenvolvedores na criação de aplicações que empregam tecnologias complexas, conforme descrito na seção anterior, foi criado o conceito de framework. Segundo Johnson e Foote (1991), um framework é um conjunto de classes que formam um projeto abstrato para solução de determinados tipos de problemas semelhantes, e permite um nível de reusabilidade maior que as classes. Ele é composto por classes que representam os componentes necessários para a solução de um tipo de problema, definindo um conjunto de mensagens como interface entre eles. Diferentemente da reutilização de código empregando programas esqueleto, através do qual o desenvolvedor adapta o problema, um framework oferece não somente um conjunto de classes que representam os componentes necessários para a solução, mas também a consistência entre eles, para que possam ser utilizados em diferentes situações. Permite inclusive que essas classes sejam estendidas para adequar-se melhor ao problema. Usualmente associa-se o conceito de framework à implementações orientadas a objetos, porém há outras definições para implementações não orientada a objetos que também são consideradas frameworks. Neste trabalho será considerado o framework pelo ponto de vista da orientação a objetos devido à implementação ser baseada nela. O framework Alchemi, utilizado neste trabalho, consiste então num conjunto de classes e ferramentas desenvolvidas para a criação de aplicações que solucionam problemas através da tecnologia de grid computing. Ele será apresentado com mais detalhes no capítulo Sistemas computacionais Nesta seção serão apresentados alguns tipos de sistemas computacionais existentes relacionados com a computação paralela para um melhor entendimento da tecnologia de grid computing Computação de alta performance A computação de alta performance historicamente é referenciada também como supercomputação. Há vários supercomputadores espalhados pelo mundo, e o desenvolvimento de algoritmos específicos para execução de programas nesse tipo de sistema já está bem

15 C O M P U T A Ç Ã O P A R A L E L A - 15 estabelecido. Ao contrário do que se pensa, os supercomputadores não estão restritos às instituições acadêmicas ou de pesquisa, pois mais da metade deles estão localizados em empresas. Como citado na introdução, foi a necessidade de compartilhamento do poder computacional desses sistemas entre o meio acadêmico que motivou a criação da tecnologia de grid computing (ABBAS, A., 2004). Os supercomputadores podem ser enquadrados na arquitetura SNMP, descrita na seção 2.1.1, considerando que são máquinas de grande porte, com vários processadores e memória compartilhada Computação em cluster Segundo Abbas (2004), a computação em cluster surgiu como uma resposta aos altos custos dos supercomputadores, que torna seu uso inviável para muitos projetos de pesquisa. Um cluster é um grupo de computadores, geralmente de menor custo, funcionando paralelamente interconectados por uma rede privada de alta velocidade. É um grupo de PCs, ou workstations, dedicado exclusivamente para executar tarefas de alta performance (ABBAS, A. 2004). O crescimento exponencial da velocidade dos microprocessadores possibilitou a criação de clusters realmente impressionantes. Em 2004, um cluster baseado no processador AMD Athlon na universidade de Heidelberg na Alemanha alcançou uma capacidade computacional de 825 Gflops, sendo considerado na época o 35 computador de alta performance mais rápido do mundo (ABBAS, A. 2004). Em relação às arquiteturas de computação paralela descritos na seção 2.1.1, o conceito de cluster pode ser enquadrado na categoria MNSP quando os nós são monoprocessados, ou MNMP, quando são multiprocessados Computação Peer-to-Peer O conceito de peer-to-peer (P2P) chegou ao público com o recente crescimento de redes de compartilhamento de arquivos amigáveis, como o Napster ou Kazaa. Mas métodos para transferência de arquivos e informações entre computadores existem praticamente desde o início da própria computação. Apesar disso, até recentemente tais métodos eram excessivamente limitados, restringindo-se às redes locais e troca de arquivos (via FTP) entre usuários conhecidos na Internet (ABBAS, A., 2004). Abbas (2004) classifica as redes peer-to-peer em dois modelos: centralizado e descentralizado. O modelo centralizado utiliza um servidor central que tem a função de administrar informações sobre os arquivos que os usuários registrados disponibilizam, oferecendo serviços de busca. A transferência dos arquivos sempre ocorre diretamente entre os computadores dos usuários e não são armazenados nem no servidor nem em algum outro ponto da rede. Já no modelo descentralizado não há servidores, as informações sobre os arquivos são anunciadas diretamente entre os computadores dos usuários Computação por Internet A explosão da Internet e o crescente poder computacional dos PCs instigou cientistas e engenheiros a aplicar técnicas desenvolvidas nos supercomputadores e clusters na utilização do

16 16 F U N D A M E N T O S D E G R I D C O M P U T I N G potencial ocioso dos desktops conectados na grande rede. Esse processo ficou conhecido com computação por Internet (ABBAS, A., 2004). Grandes projetos de computação intensiva são codificados em pequenas tarefas que são distribuídas pela Internet para processamento em computadores voluntariamente cedidos por usuários, rodando um pequeno software cliente que funciona somente quando a CPU da máquina não está sendo usada por algum aplicativo. Nesta situação, o software cliente periodicamente solicita tarefas para o servidor central. As tarefas que são finalizadas são devolvidas ao servidor, que compila os resultados (ABBAS, A., 2004). Dentre as arquiteturas de computação paralela descritas na seção 2.1.1, a computação por Internet, considerando suas características, pode ser classificada na categoria MNSP, pois geralmente trata-se de computadores pessoais monoprocessados trabalhando em conjunto conectados pela Internet Grid computing Segundo Abbas (2004), a tecnologia de grid computing é uma tentativa de agregar todo o trabalho desenvolvido na computação de alta performance, cluster, peer-to-peer e computação por Internet. Existem várias definições para grid computing, mas Abbas (2004) apresenta uma que considera mais abrangente para descrever a tecnologia e que é considerada neste trabalho: grid computing permite que organizações virtuais compartilhem recursos distribuídos geograficamente em busca de objetivos comuns, sem nenhum tipo de controle central, reconhecimento ou algum tipo de relacionamento prévio de confiança. Para o melhor entendimento dessa definição, três aspectos são mais detalhados a seguir, segundo Abbas (2204): Organizações Virtuais (referenciadas neste trabalho como OVs): podem ser desde pequenos departamentos de uma empresa que estão fisicamente num mesmo local até grandes grupos de pessoas de diferentes organizações espalhadas pelo mundo todo. Podem ser grandes ou pequenas, estáticas ou dinâmicas. Foster, Kesselman e Tucke (2001) definem também OVs como sendo indivíduos ou instituições que compartilham recursos, requeridos para solução colaborativa de problemas. Esse compartilhamento é altamente controlado, definindo claramente o que é compartilhado, quem pode compartilhar, e em que condições esse compartilhamento ocorre. Recursos: um recurso é uma entidade que é compartilhada. Pode ser de natureza computacional, como um laptop, um desktop, um supercomputador ou um cluster, ou um recurso de armazenamento, como um disco rígido. Pode englobar até sensores e largura de banda de transferência de dados. Ausência de controle central implica que os recursos de um grid não precisam ser gerenciados por um local central. Um ponto importante é que em um ambiente de grid os recursos não têm informação prévia um dos outros e nem possuem nenhum relacionamento pré-definido de segurança.

17 S I S T E M A S C O M P U T A C I O N A I S - 17 A relação entre a tecnologia de grid computing e os sistemas computacionais descritos na seção 2.2 é realizada por Abbas (2004) a seguir: Arquitetura Peer-to-Peer: redes P2P descentralizadas se enquadram na definição de grid. O recurso neste caso é a capacidade de armazenamento dos nós, que estão distribuídos globalmente e não há uma autoridade de controle central. A troca de arquivos entre os usuários não prevê nenhum relação de confiança pré-definida. Cluster: do ponto de vista de grid computing, um cluster é um recurso a ser compartilhado. Um grid pode ser considerado como um cluster de clusters. Computação por Internet: abrange também esse tipo de sistema, sendo neste caso o recurso compartilhado o grande computador formado pelos desktops interconectados pela Internet. Segundo Foster, Kesselman e Tucke (2001), o estabelecimento, gerenciamento e exploração do compartilhamento de recursos entre OVs requerem uma nova tecnologia. Essa tecnologia pode ser descrita na forma de um modelo de arquitetura, que identifica os componentes fundamentais do sistema, seus propósitos e funções, e como esses componentes interagem uns com os outros. Considerando os conceitos de grid apresentados até então, parte-se do pressuposto que o compartilhamento de recursos pode partir de qualquer potencial participante. Então interoperabilidade é o principal problema a ser resolvido, e em um ambiente de rede interoperabilidade significa ter protocolos comuns, o que torna o modelo para essa arquitetura baseado em protocolos. Estes protocolos definem mecanismos básicos pelos quais os usuários e recursos das OVs negociam, estabelecem, gerenciam e exploram compartilhamentos. O uso de padrões abertos facilita a extensibilidade, interoperabilidade, portabilidade, compartilhamento de código e a definição de serviços padronizados para prover capacidades avançadas. A construção de APIs (Software Programming Interfaces) e SDKs (Software Development Kits) também são importantes, pois oferecem abstrações que facilitam o desenvolvimento de aplicações em grid (FOSTER, I. KESSELMAN, C., TUCKE, S., 2001). Os aspectos do modelo citados acima são descritos mais detalhadamente a seguir, segundo Foster, Kesselman e Tucke (2001): Interoperabilidade: é necessária para possibilitar que o compartilhamento seja iniciado por qualquer participante (novo ou já existente), através de diferentes domínios, plataformas, linguagens e ambientes de desenvolvimento. Sem a interoperabilidade, as OVs são forçadas a utilizar regras bilaterais para os compartilhamentos, regras essas que podem não funcionar adequadamente com outras OVs. Protocolos: um protocolo define como elementos distribuídos do sistema interagem uns com os outros para resultar em um comportamento específico, e também como é a estrutura da informação trocada nesta interação. Como as OVs tendem a ser dinâmicas, os mecanismos para descoberta de recursos, estabelecimento de identidades, autorizações e inícios de compartilhamento devem ser flexíveis e leves, para agilizar as mudanças no ambiente.

18 18 F U N D A M E N T O S D E G R I D C O M P U T I N G Serviços: um serviço é definido pelo protocolo que utiliza e pelo comportamento que ele implementa. A definição de serviços padronizados - para acesso a poder computacional, dados, descoberta de recursos, entre outros permitem otimizar os serviços oferecidos aos participantes das OVs e eliminar detalhes específicos pertinentes aos recursos, que podem atrapalhar o desenvolvimento de aplicações das OVs. APIs e SDKs: desenvolvedores nas OVs devem ser capazes de desenvolver aplicações sofisticadas em ambientes complexos e dinâmicos. Abstrações padronizadas, APIs e SDKs podem acelerar a criação e compartilhamento de código, e otimizar a portabilidade da aplicação. APIs e SDKs funcionam como complemento dos protocolos. De acordo com Foster, Kesselman e Tucke (2001), o modelo da arquitetura de grid é organizado em camadas, dispostas em formato de ampulheta, conforme figura 2.4. Figura 2.4 Camadas da arquitetura de grid. A parte mais estreita da ampulheta define um conjunto de abstrações e protocolos nos quais diferentes comportamentos de alto nível podem ser mapeados (o topo da ampulheta), e os quais podem ser mapeados em diferentes tecnologias mais elementares (a base da ampulheta). Por definição, a quantidade de protocolos nessa parte mais estreita precisa ser pequena. Na arquitetura de grid, essa região corresponde aos protocolos de Recurso e Conectividade, que facilitam o compartilhamento de recursos. Estes protocolos foram criados para serem implementados sobre diversos tipos de recursos (camada Fábrica), e servirem de base para a construção de serviços globais e comportamentos específicos de aplicação na camada Coletiva, assim chamada por coordenar o uso de diversas coleções de recursos (FOSTER, I. KESSELMAN, C., TUCKE, S., 2001). A seguir, serão apresentadas as características de cada camada no modelo, para melhor entendimento sobre seu funcionamento.

19 Camada de Fábrica G R I D C O M P U T I N G - 19 Para Foster, Kesselman e Tucke (2001), a camada de Fábrica provê os recursos que são compartilhados no grid: recursos computacionais, sistemas de armazenamento, catálogos, recursos de rede, sensores, entre outros. Um recurso pode ser também uma entidade lógica, como um sistema distribuído de arquivos ou um cluster. Os componentes dessa camada implementam operações específicas relacionadas aos recursos. As funções oferecidas pela camada de Fábrica influenciam diretamente sobre a riqueza de funcionalidades no compartilhamento, ou seja, quanto mais desenvolvidas são as funções, mais sofisticadas são as operações de compartilhamento que as outras camadas poderão utilizar. Na prática, funções avançadas ainda não estão sendo implementadas, mas existem funções mínimas que um recurso deve conter, como mecanismos de investigação, que fornecem informações sobre sua estrutura, estado e capacidades; e mecanismos de gerenciamento, que provêm algum controle visando certo nível de qualidade de serviço. Cada tipo de recurso implementa esses mecanismos de diferentes formas, como descrito por Foster, Kesselman e Tucke (2001): Recursos computacionais: mecanismos para iniciar execução de programas, monitoramento e controle na execução de processos, assim como funções de investigação para determinar características de hardware e software. Recursos de armazenamento: mecanismos para obter e fornecer arquivos, e para obter informações como espaço disponível utilização de banda de transferência. Recursos de rede: mecanismos de controle sobre características de transferência pela rede, como priorização e reserva. Repositórios de código: mecanismos de controle de versão. Catálogos: mecanismos de pesquisa e atualização de catálogos. Camada de Conectividade A camada de Conectividade define protocolos essenciais de comunicação e autenticação necessários para transações de rede específicas da tecnologia de grid computing. Os protocolos de comunicação permitem a troca de dados entre os recursos da camada Fábrica. Já os de autenticação são utilizados na criação de serviços que provêm mecanismos seguros para identificação de usuários e recursos (FOSTER, I. KESSELMAN, C., TUCKE, S., 2001). Levando em consideração o grau de complexidade que o aspecto segurança pode envolver, é extremamente importante criação de soluções baseadas em padrões já existentes. Para tanto, a utilização do protocolo TCP/IP como base para a criação de protocolos desta camada é aplicável (FOSTER, I. KESSELMAN, C., TUCKE, S., 2001). Com relação especificamente ao aspecto de autenticação, uma solução adequada para um ambiente de organizações virtuais apresenta algumas características, como descrito em Foster, Kesselman e Tucke (2001): Autenticação única: usuários podem utilizar múltiplos recursos da cama Fábrica autenticando-se apenas uma vez.

20 20 ARQUITETURA Delegação: possibilidade um programa condicionalmente delegar direitos a outro programa dinamicamente. Integração com sistemas de segurança locais: a solução de segurança de grid deve ser capaz de interagir com sistemas locais de segurança, como Kerberos e Unix. Relacionamentos de confiança baseados em usuários: possibilidade de utilização de recursos de vários provedores de forma independente, sem que haja a necessidade de comunicação entre os sistemas de segurança desses provedores. Camada de Recurso Essa camada utiliza os protocolos de autenticação e comunicação da camada de Conectividade para definir protocolos, APIs e SDKs para garantir segurança na negociação, inicialização, monitoramento, controle, contabilização e pagamento das operações de compartilhamento nos recursos individuais. As implementações dessa camada chamam as funções da camada de Fábrica para acessar e controlar os recursos (FOSTER, I. KESSELMAN, C., TUCKE, S., 2001). Foster, Kesselman e Tucke (2001) descrevem dois tipos fundamentais de protocolos na camada de Recurso: Protocolos de informação: fornecem informações sobre a estrutura e estado do recurso, como configuração, carga de trabalho atual e diretivas de uso. Protocolos de gerenciamento: responsáveis por inicializar os relacionamentos de compartilhamento, verificando requerimentos do recurso, controle e monitoramento das operações a serem executadas e a aplicação das diretivas de uso. Como as camadas de Conectividade e Recurso encontram-se na parte mais estreita do modelo de ampulheta, precisam ser leves e focadas, servindo como elemento de ligação entre os recursos e as camadas mais altas sem restringir funcionalidades nem prejudicar a performance (FOSTER, I. KESSELMAN, C., TUCKE, S., 2001). Camada Coletiva A camada Coletiva contém protocolos e serviços que estão associados não um algum recurso específico, tendo assim um comportamento mais global, capturando interações entre coleções de recursos, motivo pelo qual é chamada de camada Coletiva. Os componentes dessa camada são construídos a partir das funções e serviços das camadas de Conectividade e Recurso, ou seja, a parte estreita da ampulheta, e podem abranger grande variedade de comportamentos, como (FOSTER, I. KESSELMAN, C., TUCKE, S., 2001): Serviços de diretório, que permitem a pesquisa por recursos e propriedades das OVs por critérios como nome, tipo, disponibilidade, entre outros. Serviços de alocação, agendamento e intermediação dos recursos por parte dos participantes das OVs. Serviços de monitoramento e diagnóstico, para detecção de eventos como falhas nos recursos, sobrecarga do sistema e de invasões de intruso.

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

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

Leia mais

O que é Grid Computing

O que é Grid Computing Grid Computing Agenda O que é Grid Computing Grid vs Cluster Benefícios Tipos de Grid Aplicações Ferramentas e padrões Exemplos no mundo Exemplos no Brasil Grid no mundo dos negócios Futuro O que é Grid

Leia mais

Tipos de Sistemas Distribuídos (Cluster e Grid)

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

Leia mais

Comparação SDs X Scs

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

Leia mais

Grades Computacionais: Uma Introdução Prática

Grades Computacionais: Uma Introdução Prática Grades Computacionais: Uma Introdução Prática Raphael Y. de Camargo Ricardo Andrade Departamento de Ciência da Computação Instituto de Matemática e Estatística Universidade de São Paulo, Brasil São Paulo,

Leia mais

Características Básicas de Sistemas Distribuídos

Características Básicas de Sistemas Distribuídos Motivação Crescente dependência dos usuários aos sistemas: necessidade de partilhar dados e recursos entre utilizadores; porque os recursos estão naturalmente em máquinas diferentes. Demanda computacional

Leia mais

Sistemas Operacionais Carlos Eduardo Portela Serra de Castro

Sistemas Operacionais Carlos Eduardo Portela Serra de Castro Introdução Sistemas Operacionais 1 Sistema Operacional: Um conjunto de programas, executado pelo computador como os outros programas. Função: Controlar o funcionamento do computador, disponibilizando seus

Leia mais

Processos (Threads,Virtualização e Migração de Código)

Processos (Threads,Virtualização e Migração de Código) Processos (Threads,Virtualização e Migração de Código) Roteiro Processos Threads Virtualização Migração de Código O que é um processo?! Processos são programas em execução. Processo Processo Processo tem

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

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

Prof. Marcelo de Sá Barbosa SISTEMAS DISTRIBUIDOS

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

Leia mais

2 Trabalhos Relacionados

2 Trabalhos Relacionados 2 Trabalhos Relacionados Nesse capítulo, apresentamos os trabalhos relacionados ao GridFS, entrando em mais detalhes sobre os sistemas citados durante a introdução e realizando algumas considerações sobre

Leia mais

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

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

Leia mais

} 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 Distribuídos

Sistemas Distribuídos Sistemas Distribuídos Computação Aula 01-02: Introdução 2o. Semestre / 2014 Prof. Jesus Agenda da Apresentação Definição e surgimento de Sistemas Distribuídos Principais aspectos de Sistemas Distribuídos

Leia mais

Sistemas Operacionais

Sistemas Operacionais Sistemas Operacionais Evolução Edson Moreno edson.moreno@pucrs.br http://www.inf.pucrs.br/~emoreno Sumário Introdução Componentes de um sistema computacional Conceituação Características desejáveis Organização

Leia mais

SISTEMAS DISTRIBUÍDOS Prof. Ricardo Rodrigues Barcelar http://www.ricardobarcelar.com.br

SISTEMAS DISTRIBUÍDOS Prof. Ricardo Rodrigues Barcelar http://www.ricardobarcelar.com.br - Aula 3 - ARQUITETURA DE SISTEMAS DISTRIBUÍDOS 1 INTRODUÇÃO Considerando que os Sistemas Distribuídos são constituídos de vários processadores, existem diversas formas de organizar o hardware de tais

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

Sistemas Distribuídos

Sistemas Distribuídos Sistemas Distribuídos Referências Caracterização de Sistemas Distribuídos Sistemas operacionais modernos Andrew S. TANENBAUM Prentice-Hall, 1995 Capítulo 9 Seções 9.1 a 9.3 Distributed Systems: concept

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

Supercomputadores dominavam o mercado

Supercomputadores dominavam o mercado Clusters e Grids Introdução Supercomputadores dominavam o mercado Alto custo Requerem mão de obra muito especializada Desenvolvimento de microprocessadores poderosos a um baixo custo Desenvolvimento de

Leia mais

Sistemas Distribuídos. Introdução

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

Leia mais

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

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

Leia mais

COMPUTAÇÃO EM GRID COM BANCO DE DADOS ORACLE 10g

COMPUTAÇÃO EM GRID COM BANCO DE DADOS ORACLE 10g COMPUTAÇÃO EM GRID COM BANCO DE DADOS ORACLE 10g Daniel Murara Barcia Especialista em Sistemas de Informação Universidade Federal do Rio Grande do Sul daniel@guaiba.ulbra.tche.br Resumo. Esse artigo aborda

Leia mais

Sistemas Distribuídos Capítulos 3 e 4 - Aula 4

Sistemas Distribuídos Capítulos 3 e 4 - Aula 4 Sistemas Distribuídos Capítulos 3 e 4 - Aula 4 Aula passada Threads Threads em SDs Processos Clientes Processos Servidores Aula de hoje Clusters de Servidores Migração de Código Comunicação (Cap. 4) Fundamentos

Leia mais

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

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

Leia mais

Andarta - Guia de Instalação. Guia de Instalação

Andarta - Guia de Instalação. Guia de Instalação Guia de Instalação 29 de setembro de 2010 1 Sumário Introdução... 3 Os Módulos do Andarta... 4 Instalação por módulo... 6 Módulo Andarta Server... 6 Módulo Reporter... 8 Módulo Agent... 9 Instalação individual...

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 Paralelos e Distribuídos. Prof. Jorge Dantas de Melo Depto. Eng. Comp. e Automação CT - UFRN

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

Leia mais

Projeto de Sistemas Distribuídos. Prof. Andrêza Leite andreza.lba@gmail.com

Projeto de Sistemas Distribuídos. Prof. Andrêza Leite andreza.lba@gmail.com Projeto de Sistemas Distribuídos Prof. Andrêza Leite andreza.lba@gmail.com Agenda Introdução Exemplos de Sistemas Distribuídos Compartilhamento de Recursos e a Web Principais Desafios para a Implementação

Leia mais

Introdução. Nível do Sistema Operacional. Introdução. Um Sistema Operacional... Introdução a Sistemas Operacionais

Introdução. Nível do Sistema Operacional. Introdução. Um Sistema Operacional... Introdução a Sistemas Operacionais Introdução Nível do Sistema Operacional (Aula 14) Introdução a Sistemas Operacionais Hardware Provê os recursos básicos de computação (CPU, memória, E/S,etc.) Programas (aplicações) Definem as maneiras

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

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

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

Leia mais

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

ADMINISTRAÇÃO DE SISTEMA OPERACIONAL DE REDE (AULA 1)

ADMINISTRAÇÃO DE SISTEMA OPERACIONAL DE REDE (AULA 1) Prof. Breno Leonardo Gomes de Menezes Araújo brenod123@gmail.com http://blog.brenoleonardo.com.br ADMINISTRAÇÃO DE SISTEMA OPERACIONAL DE REDE (AULA 1) Administração A palavra administração vem do latim

Leia mais

SISTEMA DE GERÊNCIA - DmView

SISTEMA DE GERÊNCIA - DmView Sistema de Gerenciamento DmView O DmView é o Sistema de Gerência desenvolvido para supervisionar e configurar os equipamentos DATACOM, disponibilizando funções para gerência de supervisão, falhas, configuração,

Leia mais

Cliente/Servidor. Conceitos Gerais. Graça Bressan. Graça Bressan/LARC 2000 1

Cliente/Servidor. Conceitos Gerais. Graça Bressan. Graça Bressan/LARC 2000 1 Cliente/Servidor Conceitos Gerais Graça Bressan Graça Bressan/LARC 2000 1 Forças de marketing que conduzem à arquitetura cliente/servidor "Cliente/Servidor é um movimento irresistível que está reformulando

Leia mais

Projeto de Arquitetura

Projeto de Arquitetura Projeto de Arquitetura Ian Sommerville 2006 Engenharia de Software, 8ª. edição. Capítulo 11 Slide 1 Objetivos Apresentar projeto de arquitetura e discutir sua importância Explicar as decisões de projeto

Leia mais

Sistema centralizado O Paradigma Cliente/Servidor

Sistema centralizado O Paradigma Cliente/Servidor centralizado O Paradigma Cliente/Servidor Computador central (mainframe) + conjunto de terminais + recursos centralizados recursos mainframe terminais 2 distribuído Relações entre entidades Grupo de computadores

Leia mais

Gerência de Redes e Serviços de Comunicação Multimídia

Gerência de Redes e Serviços de Comunicação Multimídia UNISUL 2013 / 1 Universidade do Sul de Santa Catarina Engenharia Elétrica - Telemática 1 Gerência de Redes e Serviços de Comunicação Multimídia Aula 3 Gerenciamento de Redes Cenário exemplo Detecção de

Leia mais

Softwares de Sistemas e de Aplicação

Softwares de Sistemas e de Aplicação Fundamentos dos Sistemas de Informação Softwares de Sistemas e de Aplicação Profª. Esp. Milena Resende - milenaresende@fimes.edu.br Visão Geral de Software O que é um software? Qual a função do software?

Leia mais

Um sistema é constituído de um conjunto de processos que executam seus respectivos códigos do sistema operacional e processos e códigos de usuários.

Um sistema é constituído de um conjunto de processos que executam seus respectivos códigos do sistema operacional e processos e códigos de usuários. Os sistemas computacionais atuais permitem que diversos programas sejam carregados na memória e executados simultaneamente. Essa evolução tornou necessário um controle maior na divisão de tarefas entre

Leia mais

Estudo comparativo entre tecnologias Java: Applet e JWS.

Estudo comparativo entre tecnologias Java: Applet e JWS. Estudo comparativo entre tecnologias Java: Applet e JWS. Clara Aben-Athar B. Fernandes¹, Carlos Alberto P. Araújo¹ 1 Centro Universitário Luterano de Santarém Comunidade Evangélica Luterana (CEULS/ULBRA)

Leia mais

2 Conceitos relativos a Web services e sua composição

2 Conceitos relativos a Web services e sua composição 15 2 Conceitos relativos a Web services e sua composição A necessidade de flexibilidade na arquitetura das aplicações levou ao modelo orientado a objetos, onde os processos de negócios podem ser representados

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

Levantamento sobre Computação em Nuvens

Levantamento sobre Computação em Nuvens Levantamento sobre Computação em Nuvens Mozart Lemos de Siqueira Doutor em Ciência da Computação Centro Universitário Ritter dos Reis Sistemas de Informação: Ciência e Tecnologia Aplicadas mozarts@uniritter.edu.br

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

Sistemas Distribuídos Sistemas Distribuídos LICENCIATURA EM COMPUTAÇÃO Prof. Adriano Avelar Site: www.adrianoavelar.com Email: eam.avelar@gmail.com O que veremos hoje... Evolução Histórica Motivação Conceitos Características

Leia mais

SISTEMA DE BANCO DE DADOS. Banco e Modelagem de dados

SISTEMA DE BANCO DE DADOS. Banco e Modelagem de dados SISTEMA DE BANCO DE DADOS Banco e Modelagem de dados Sumário Conceitos/Autores chave... 3 1. Introdução... 4 2. Arquiteturas de um Sistema Gerenciador... 5 3. Componentes de um Sistema... 8 4. Vantagens

Leia mais

Modelos e Arquiteturas de Sistemas Computacionais

Modelos e Arquiteturas de Sistemas Computacionais Modelos e Arquiteturas de Sistemas Computacionais Prof. Ricardo J. Rabelo UFSC Universidade Federal de Santa Catarina DAS Departamento de Automação e Sistemas SUMÁRIO Importância da definição da Arquitetura

Leia mais

Computação em Grid e em Nuvem

Computação em Grid e em Nuvem Computação em Grid e em Nuvem Computação em Nuvem Molos 1 Definição Um grid computacional é uma coleção recursos computacionais e comunicação utilizados para execução aplicações Usuário vê o grid como

Leia mais

Sistemas Distribuídos Arquitetura de Sistemas Distribuídos Aula II Prof. Rosemary Silveira F. Melo Arquitetura de Sistemas Distribuídos Conceito de Arquitetura de Software Principais elementos arquiteturais

Leia mais

Controle de Acesso em Rede

Controle de Acesso em Rede Segurança de Rede Segurança de rede e segurança de sistema (servidor individual) têm muito em comum Há redes onde o usuário faz login no domínio da rede para ter acesso aos recursos; em outras, se conecta

Leia mais

11/3/2009. Software. Sistemas de Informação. Software. Software. A Construção de um programa de computador. A Construção de um programa de computador

11/3/2009. Software. Sistemas de Informação. Software. Software. A Construção de um programa de computador. A Construção de um programa de computador Sistemas de Informação Prof. Anderson D. Moura Um programa de computador é composto por uma seqüência de instruções, que é interpretada e executada por um processador ou por uma máquina virtual. Em um

Leia mais

Gerência de Redes de Computadores Gerência de Redes de Computadores As redes estão ficando cada vez mais importantes para as empresas Não são mais infra-estrutura dispensável: são de missão crítica, ou

Leia mais

CSGrid: um Sistema para Integração de Aplicações em Grades Computacionais

CSGrid: um Sistema para Integração de Aplicações em Grades Computacionais CSGrid: um Sistema para Integração de Aplicações em Grades Computacionais Maria Julia de Lima, Taciana Melcop, Renato Cerqueira, Carlos Cassino, Bruno Silvestre, Marcelo Nery, Cristina Ururahy 1 Grupo

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 de Lotes (2) Sistemas de Lotes (3) Layout da MP em Sistemas de Lotes. Minimizar o tempo de resposta

Sistemas de Lotes (2) Sistemas de Lotes (3) Layout da MP em Sistemas de Lotes. Minimizar o tempo de resposta 1 Mono e multiprogramação Introdução Classificação (Aula 2) Recap Sistemas Máquina Profa. Patrícia Gerenciador D. CostaLPRM/DI/UFES Provê Fornece Compartilhamento programador máquina justa recursos Operacionais

Leia mais

BANCO DE DADOS DISTRIBUÍDOS e DATAWAREHOUSING

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

Leia mais

A Evolução dos Sistemas Operacionais

A Evolução dos Sistemas Operacionais Capítulo 3 A Evolução dos Sistemas Operacionais Neste capítulo, continuaremos a tratar dos conceitos básicos com a intensão de construirmos, agora em um nível mais elevado de abstração, o entendimento

Leia mais

Sistemas Distribuídos: Conceitos e Projeto Classificação de Sistemas Distribuídos e Middleware

Sistemas Distribuídos: Conceitos e Projeto Classificação de Sistemas Distribuídos e Middleware Sistemas Distribuídos: Conceitos e Projeto Classificação de Sistemas Distribuídos e Middleware Francisco José da Silva e Silva Laboratório de Sistemas Distribuídos (LSD) Departamento de Informática / UFMA

Leia mais

Thin Clients : aumentando o potencial dos sistemas SCADA

Thin Clients : aumentando o potencial dos sistemas SCADA Artigos Técnicos Thin Clients : aumentando o potencial dos sistemas SCADA Tarcísio Romero de Oliveira, Engenheiro de Vendas e Aplicações da Intellution/Aquarius Automação Industrial Ltda. Um diagnóstico

Leia mais

Positivo Network Manager 4

Positivo Network Manager 4 Positivo Network Manager 4 O gerenciamento eficiente de informações e de tecnologia da informação (TI) é um fator reconhecidamente crítico na maioria das organizações. As informações e as tecnologias que

Leia mais

Sistemas Distribuídos. Introdução. Edeyson Andrade Gomes. www.edeyson.com.br

Sistemas Distribuídos. Introdução. Edeyson Andrade Gomes. www.edeyson.com.br Sistemas Distribuídos Introdução Edeyson Andrade Gomes www.edeyson.com.br SUMÁRIO Definições Características Desafios Vantagens Desvantagens 2 Definições DEFINIÇÕES Um sistema distribuído é uma coleção

Leia mais

XDR. Solução para Big Data.

XDR. Solução para Big Data. XDR Solução para Big Data. ObJetivo Principal O volume de informações com os quais as empresas de telecomunicações/internet têm que lidar é muito grande, e está em constante crescimento devido à franca

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

ADMINISTRAÇÃO DOS RECURSOS DE HARDWARE E SOFTWARE

ADMINISTRAÇÃO DOS RECURSOS DE HARDWARE E SOFTWARE ADMINISTRAÇÃO DOS RECURSOS DE HARDWARE E SOFTWARE 1 OBJETIVOS 1. Qual é a capacidade de processamento e armazenagem que sua organização precisa para administrar suas informações e transações empresariais?

Leia mais

Service Oriented Architecture (SOA)

Service Oriented Architecture (SOA) São Paulo, 2011 Universidade Paulista (UNIP) Service Oriented Architecture (SOA) Prof. MSc. Vladimir Camelo vladimir.professor@gmail.com 04/09/11 vladimir.professor@gmail.com 1 04/09/11 vladimir.professor@gmail.com

Leia mais

Curso Técnico de Nível Médio

Curso Técnico de Nível Médio Curso Técnico de Nível Médio Disciplina: Informática Básica 3. Software Prof. Ronaldo Software Formado por um conjunto de instruções (algoritmos) e suas representações para o

Leia mais

EXIN Cloud Computing Fundamentos

EXIN Cloud Computing Fundamentos Exame Simulado EXIN Cloud Computing Fundamentos Edição Maio 2013 Copyright 2013 EXIN Todos os direitos reservados. Nenhuma parte desta publicação pode ser publicado, reproduzido, copiado ou armazenada

Leia mais

Grids Computacionais. Marcelo Musci. musci@terra.com.br. Computação de Alto Desempenho. Jun/2004. Profa. DSc. Cristiana Bentes

Grids Computacionais. Marcelo Musci. musci@terra.com.br. Computação de Alto Desempenho. Jun/2004. Profa. DSc. Cristiana Bentes Grids Computacionais Marcelo Musci musci@terra.com.br Computação de Alto Desempenho Jun/2004 Profa. DSc. Cristiana Bentes Roteiro Conceituação Características de Grids Aspectos da Computação em Grid Soluções

Leia mais

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

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

Leia mais

Laboratório I 2012. Prof. Hélder Sato MSc. 2/14/12 Laboratório I 1

Laboratório I 2012. Prof. Hélder Sato MSc. 2/14/12 Laboratório I 1 Laboratório I 2012 Prof. Hélder Sato MSc 2/14/12 Laboratório I 1 Apresentação Prof Hélder Sato MSc Bacharel Informática Universidade Positivo Especialista em Redes PUC-PR Mestrado em Informática Aplicada

Leia mais

CAPÍTULO 3 MIDDLEWARE. Para entender-se o aparecimento da tecnologia middleware é descrita a seguir, e, brevemente, a sua evolução.

CAPÍTULO 3 MIDDLEWARE. Para entender-se o aparecimento da tecnologia middleware é descrita a seguir, e, brevemente, a sua evolução. CAPÍTULO 3 MIDDLEWARE Para entender-se o aparecimento da tecnologia middleware é descrita a seguir, e, brevemente, a sua evolução. 3.1 ARQUITETURA CLIENTE/SERVIDOR Primeiramente, surgiu a arquitetura centralizada

Leia mais

Sistemas Operacionais Cap 3 Estruturas de Sistemas Operacionais. Podemos analisar um sistema operacional sob diversos aspectos:

Sistemas Operacionais Cap 3 Estruturas de Sistemas Operacionais. Podemos analisar um sistema operacional sob diversos aspectos: Estruturas de Sistemas Operacionais Podemos analisar um sistema operacional sob diversos aspectos: Os serviços que o sistema operacional oferece. A interface que o sistema operacional torna disponível

Leia mais

Sistemas Distribuídos

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

Leia mais

Definindo melhor alguns conceitos

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

Leia mais

Documento de Requisitos de Rede (DRP)

Documento de Requisitos de Rede (DRP) Documento de Requisitos de Rede (DRP) Versão 1.2 SysTrack - Grupo 1 1 Histórico de revisões do modelo Versão Data Autor Descrição 1.0 30/04/2011 João Ricardo Versão inicial 1.1 1/05/2011 André Ricardo

Leia mais

1.2 Tipos de Sistemas Operacionais

1.2 Tipos de Sistemas Operacionais 1.2 Tipos de Operacionais Tipos de Operacionais Monoprogramáveis/ Monotarefa Multiprogramáveis/ Multitarefa Com Múltiplos Processadores 1.2.1 Monoprogramáveis/Monotarefa Os primeiros sistemas operacionais

Leia mais

Windows NT 4.0. Centro de Computação

Windows NT 4.0. Centro de Computação Windows NT 4.0 Centro de Computação Tópicos Introdução Instalação Configuração Organização da rede Administração Usuários Servidores Domínios Segurança Tópicos È O sistema operacional Windows NT È Características:

Leia mais

Projetos I Resumo de TCC. Luiz Rogério Batista De Pieri Mat: 0413829 5

Projetos I Resumo de TCC. Luiz Rogério Batista De Pieri Mat: 0413829 5 Projetos I Resumo de TCC Luiz Rogério Batista De Pieri Mat: 0413829 5 MAD RSSF: Uma Infra estrutura de Monitoração Integrando Redes de Sensores Ad Hoc e uma Configuração de Cluster Computacional (Denise

Leia mais

Sistemas Distribuídos Aula 1 Introdução

Sistemas Distribuídos Aula 1 Introdução Sistemas Distribuídos Aula 1 Introdução 35T34 3B2 Programa Introdução. Conceitos de sistemas distribuídos. Comunicação em sistemas distribuídos. Sincronização em sistemas distribuídos. Processos e processadores

Leia mais

Sistemas Distribuídos Conceitos HW e SW. Edeyson Andrade Gomes www.edeyson.com.br

Sistemas Distribuídos Conceitos HW e SW. Edeyson Andrade Gomes www.edeyson.com.br Sistemas Distribuídos Conceitos HW e SW Edeyson Andrade Gomes www.edeyson.com.br Roteiro da Aula Roteiro da Aula Conceitos de Hardware Conceitos de Software Combinações de SW e HW 3 Sistemas Distribuídos

Leia mais

UTFPR - Sistemas Distribuídos Prof. Cesar Augusto Tacla. Anotações. Copyright Cesar Augusto Tacla 2008 - 1 -

UTFPR - Sistemas Distribuídos Prof. Cesar Augusto Tacla. Anotações. Copyright Cesar Augusto Tacla 2008 - 1 - - 1 - - 2 - - 3 - Segundo (Garg, 2004), são sistemas compostos por múltiplos processadores conectados por uma rede de comunicação, sendo a rede de comunicação uma LAN (Ethernet) ou WAN (Internet). - 4

Leia mais

SISTEMAS DISTRIBUÍDOS Prof. Ricardo Rodrigues Barcelar http://www.ricardobarcelar.com.br

SISTEMAS DISTRIBUÍDOS Prof. Ricardo Rodrigues Barcelar http://www.ricardobarcelar.com.br - Aula 2 - FUNDAMENTOS DE SISTEMAS DISTRIBUÍDOS 1. INTRODUÇÃO Nos primeiros momentos os computadores eram máquinas grandes e caras. Ao longo do tempo dois avanços tecnológicos mudaram os sistemas informatizados:

Leia mais

Como manter uma rede com qualidade de serviço? Gerência de Rede. Visão Geral da Gerência de Redes. Importância de gerência de Redes. Cont.

Como manter uma rede com qualidade de serviço? Gerência de Rede. Visão Geral da Gerência de Redes. Importância de gerência de Redes. Cont. Gerência de Rede A importância estratégica crescente das redes envolve: Aplicações indispensáveis à organização Quanto mais complexo o ambiente maior o risco de coisas erradas acontecerem. Como manter

Leia mais

Cluster HPC High Performance Computing.

Cluster HPC High Performance Computing. Faculdade de Tecnologia de Guaratinguetá. doze, março de 2009. Cluster HPC High Performance Computing. Diogo Salles, Thiago Pirro, Camilo Bernardes, Paulo Roberto, Ricardo Godoi, Douglas, Fauzer. Sistemas

Leia mais

SOA Introdução. SOA Visão Departamental das Organizações

SOA Introdução. SOA Visão Departamental das Organizações 1 Introdução A Organização é a forma pela qual nós coordenamos nossos recursos de todos os tipos para realizar o trabalho que nos propusemos a fazer. A estrutura de nossas organizações manteve-se basicamente

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

PROJETO LÓGICO DE COMPUTADORES Prof. Ricardo Rodrigues Barcelar http://www.ricardobarcelar.com.br

PROJETO LÓGICO DE COMPUTADORES Prof. Ricardo Rodrigues Barcelar http://www.ricardobarcelar.com.br - Aula 6 - ARQUITETURAS AVANÇADAS DE COMPUTADORES 1. INTRODUÇÃO As arquiteturas dos processadores têm evoluído ao longo dos anos, e junto com ela o conceito de arquitetura avançada tem se modificado. Nos

Leia mais

Protocolos de gerenciamento

Protocolos de gerenciamento Protocolos de gerenciamento Os protocolos de gerenciamento têm a função de garantir a comunicação entre os recursos de redes homogêneas ou não. Com esse requisito satisfeito, operações de gerenciamento

Leia mais

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

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

Leia mais

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

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

Leia mais

SISTEMAS DISTRIBUÍDOS

SISTEMAS DISTRIBUÍDOS SISTEMAS DISTRIBUÍDOS 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

CA Nimsoft Monitor para servidores

CA Nimsoft Monitor para servidores DOCUMENTAÇÃO TÉCNICA Setembro de 2012 CA Nimsoft Monitor para servidores agility made possible CA Nimsoft para monitoramento de servidores sumário CA Nimsoft Monitor para servidores 3 visão geral da solução

Leia mais

Gerenciamento de Redes

Gerenciamento de Redes Gerenciamento de Redes As redes de computadores atuais são compostas por uma grande variedade de dispositivos que devem se comunicar e compartilhar recursos. Na maioria dos casos, a eficiência dos serviços

Leia mais

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

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

Leia mais

ADMINISTRAÇÃO DOS RECURSOS DE HARDWARE E SOFTWARE

ADMINISTRAÇÃO DOS RECURSOS DE HARDWARE E SOFTWARE Capítulo 6 ADMINISTRAÇÃO DOS RECURSOS DE HARDWARE E SOFTWARE 6.1 2003 by Prentice Hall OBJETIVOS Qual é a capacidade de processamento e armazenagem que sua organização precisa para administrar suas informações

Leia mais

SISTEMAS DISTRIBUÍDOS Prof. Ricardo Rodrigues Barcelar http://www.ricardobarcelar.com.br

SISTEMAS DISTRIBUÍDOS Prof. Ricardo Rodrigues Barcelar http://www.ricardobarcelar.com.br - Aula 5 PROCESSOS 1. INTRODUÇÃO Em sistemas distribuídos é importante examinar os diferentes tipos de processos e como eles desempenham seu papel. O conceito de um processo é originário do campo de sistemas

Leia mais