Curso de Engenharia da Computação GRADE COMPUTACIONAL - DESENVOLVIMENTO DE UMA APLICAÇÃO PARA SOLUÇÃO DE UM PROBLEMA COMPUTACIONAL INTENSO

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

Download "Curso de Engenharia da Computação GRADE COMPUTACIONAL - DESENVOLVIMENTO DE UMA APLICAÇÃO PARA SOLUÇÃO DE UM PROBLEMA COMPUTACIONAL INTENSO"

Transcrição

1 Curso de Engenharia da Computação GRADE COMPUTACIONAL - DESENVOLVIMENTO DE UMA APLICAÇÃO PARA SOLUÇÃO DE UM PROBLEMA COMPUTACIONAL INTENSO Felipe Augusto Ghisi Itatiba São Paulo Brasil Dezembro de 2006

2 ii Curso de Engenharia da Computação GRADE COMPUTACIONAL - DESENVOLVIMENTO DE UMA APLICAÇÃO PARA SOLUÇÃO DE UM PROBLEMA COMPUTACIONAL INTENSO Felipe Augusto Ghisi Monografia apresentada à disciplina Trabalho de Conclusão de Curso, do Curso de Engenharia da Computação da Universidade São Francisco, sob a orientação do Prof. Dr. André Leon S. Gradvohl, como exigência parcial para conclusão do curso de graduação. Orientador: Prof. Dr. André Leon S. Gradvohl Itatiba São Paulo Brasil Dezembro de 2006

3 iii Grade computacional Desenvolvimento de uma aplicação para solução de um problema computacional intenso Felipe Augusto Ghisi Monografia defendida e aprovada em 12 de dezembro de 2006 pela Banca Examinadora assim constituída: Prof. Dr. André Leon S. Gradvohl (Orientador) USF Universidade São Francisco Itatiba SP. Prof. Dr. Mauricio Fabbri (Membro Interno) USF Universidade São Francisco Itatiba SP. Prof. Luiz Roberto Wenzel (Membro Interno) USF Universidade São Francisco Itatiba SP.

4 iv Agradecimentos Durante o desenvolvimento deste trabalho, recebi a ajuda direta ou indireta de várias pessoas. Gostaria de agradecer primeiramente a minha família, pelo apoio e compreensão, não somente neste período, mas durante toda minha vida. Agradeço também ao Professor Dr. André Leon S. Gradvohl, meu orientador, pela experiência que me passou durante o desenvolvimento deste trabalho. Por fim, as amizades que foram criadas durante esses anos todos de graduação. Eu agradeço fraternalmente a todos.

5 v Sumário Lista de Siglas... vii Lista de Figuras... viii Lista de Tabelas... ix Resumo... x Abstract... x 1 Introdução Visão geral Projeto Computação em Grade Grid Computing Aplicações das grades Variações das grades Grade Computacional (Grid Computing) Grade de dados/armazenamento (Data Grid) Grade de Serviços (Service Grid) Serviços compostos e derivados Computação de Alto Desempenho x Computação Oportunista Trabalhos relacionados Globus Legion Condor MyGrid OurGrid BOINC Aplicação Desenvolvida Arquitetura da aplicação Tecnologia utilizada Resultados Conclusão Extensões Apêndice 1 Código fonte da classe Mestre.java Apêndice 2 Código fonte da classe Matriz.Matriz.java Apêndice 3 Código fonte da classe Matriz.MatrizRemoto.java... 33

6 vi Apêndice 4 Código fonte da classe Matriz.MatrizTarefa.java Apêndice 5 Código fonte da classe TrabalhadorRemoto. PoolEscravos.java Apêndice 6 Código fonte da classe TrabalhadorRemoto. Trabalhador.java Apêndice 7 Código fonte da classe TrabalhadorRemoto. TrabalhadorProxy.java Apêndice 8 Código fonte da classe TrabalhadorRemoto. TrabalhadorRemoto.java Apêndice 9 Código fonte da classe TrabalhadorRemoto. VetorTrabalho.java Referências Bibliográficas... 48

7 vii Lista de Siglas BoT JVM RMI Bag of Tasks Java Virtual Machine Remote Method Invocation

8 viii Lista de Figuras FIGURA 1 - TEMPO DE EXECUÇÃO EM FUNÇÃO DO TAMANHO DA MATRIZ... 23

9 ix Lista de Tabelas TABELA 1 - COMPUTAÇÃO DE ALTO DESEMPENHO E COMPUTAÇÃO OPORTUNISTA TABELA 2 TEMPOS DE EXECUÇÃO EM MS... 23

10 x Resumo Poder computacional é cada dia mais necessário, em diversas áreas do conhecimento humano. Tanto em pesquisas científicas como na indústria, muitos problemas demandam grande capacidade de processamento, a um custo muito elevado ou precisando de um tempo de resolução que muitas vezes não é aceitável. As grades computacionais surgem como alternativa para estes tipos de problemas, provendo aos usuários acesso simplificado ao poder computacional de várias máquinas combinadas. Esta monografia tem como objetivo estudar as grades computacionais, e implementar uma aplicação que demanda de grande poder computacional, uma multiplicação de matrizes, avaliando os tempos de execução obtidos rodando em grade e sua viabilidade. PALAVRAS-CHAVE: grade computacional, computação distribuída. Abstract Computational power is even more and more necessary in many areas of human knowledge. In scientific research, as well as in industry, many problems require large processing power, with very high costs or either resolution times that are unacceptable in some cases. The computing grid comes as an alternative for this kind of problems, providing users with simplified access to the computational power of various combined machines. The objective of this monograph is to study these computing grids, and implements an application that demands high computational power, multiplication of a large matrix, evaluating the execution times obtained through the grid and its viability. KEY WORDS: grid computing, distributed computing

11 1 1 INTRODUÇÃO 1.1 Visão geral O aparecimento de redes de computadores permitiu a utilização de um novo paradigma computacional que se mostrou, com o passar do tempo, extremamente poderoso. Este novo paradigma é a possibilidade de distribuição do processamento em computadores diferentes. Mais do que a simples subdivisão de tarefas, permite a repartição e a especialização das tarefas computacionais conforme a natureza da função de cada computador. Um sistema de processamento distribuído ou paralelo é um sistema que interliga vários nós de processamento (computadores individuais, não necessariamente homogêneos) de maneira que um processo de grande consumo seja executado no nó "mais disponível", ou mesmo subdividido por vários nós. Obtém-se, portanto, ganhos óbvios nestas soluções: uma tarefa qualquer, se divisível em várias subtarefas pode ser realizada em paralelo. Assim, a computação distribuída consiste em adicionar o poder computacional de diversos computadores interligados por uma rede de computadores ou mais de um processador trabalhando em conjunto no mesmo computador, para processar colaborativamente determinada tarefa de forma coerente e transparente, ou seja, como se apenas um único e centralizado computador estivesse executando a tarefa [17, 18, 19, 20]. 1.2 Projeto Neste projeto foi desenvolvida uma aplicação que demanda intenso processamento: a multiplicação de matrizes. A solução desse problema é de ordem O(N 3 ), ou seja, é um problema de grande complexidade computacional e exige grande poder de processamento. Portanto, é uma aplicação típica para ser executada na forma de uma aplicação distribuída, ou seja, dividida em vários computadores. A multiplicação de matrizes é bastante utilizada em cálculos computacionais e científicos, por isso é importante realizá-la de uma maneira rápida e eficiente.

12 2 A organização do restante do texto é a seguinte: o Capítulo 2 descreverá a Computação em Grade e alguns dos sistemas existentes. O Capítulo 3 apresentará a aplicação desenvolvida, descrevendo suas características, arquitetura e implementação, além dos testes realizados. Finalmente, o Capítulo 4 as conclusões e possibilidades de trabalho futuro.

13 3 2 COMPUTAÇÃO EM GRADE GRID COMPUTING Poder computacional é uma necessidade crescente em diversas das atividades humanas. Diversas áreas do conhecimento científico, como biologia, física e química dependem de processamento intenso em atividades como: simulações, otimizações e mineração de dados. A indústria também faz uso intensivo de computação em aplicações tão diversas como simulações econômicas e mercadológicas, estudos de viabilidade de prospecção de petróleo e geração de efeitos especiais na pós-produção de filmes. Já é difícil imaginar como algumas atividades seriam realizadas sem o uso de computadores. Porém, a cada avanço obtido, fruto do uso intensivo de computação, nos leva a necessitar de ainda mais computação para podermos atingir o próximo nível de conhecimento. É um círculo virtuoso que melhora a qualidade do conhecimento humano e, ao mesmo tempo, testa os limites do que é possível realizar computacionalmente. Historicamente, as atividades intensivas em computação eram realizadas em poderosos computadores dotados de grande capacidade de processamento. Tais máquinas eram extremamente caras e portanto, sua posse estava restrita a algumas universidades privilegiadas, grandes corporações e poucos centros de pesquisa. Apesar do formidável avanço nas tecnologias de tais máquinas e também da queda em seu preço, tal situação perdura até os dias de hoje. Máquinas altamente especializadas de alto desempenho não raro possuem custos que podem quebrar a barreira de alguns milhões de dólares. Assim, apenas instituições que possuem grande dependência de tais equipamentos aliada a significativa quantidade de recursos financeiros podem adquirir esse tipo de máquina. O alto preço praticamente exclui usuários que possuem necessidades esporádicas de grandes quantidades de computação. Apesar do alto preço das máquinas de alto desempenho, estas não estão imunes ao destino comum de todos os computadores: a obsolescência. Independente do preço, cedo ou tarde todas as máquinas tem a sua utilidade reduzida, uma vez que os avanços do conhecimento demandam maior poder de computação. Uma solução óbvia e muito adotada para resolver tal problema é simplesmente trocar os equipamentos periodicamente. Porém, os constantes avanços nas tecnologias de redes de computadores tornaram viável outra solução mais barata e prática: a interligação de máquinas de diferentes laboratórios através de redes de grande área no final de 1995, nas vésperas da conferência Supercomputing '95, foi

14 4 estabelecida a I-WAY, uma infra-estrutura experimental conectando supercomputadores e equipamentos de armazenagem de 17 laboratórios americanos em um sistema único que podia ser acessado de qualquer uma das instituições. Nascia o primeiro sistema de Computação em Grade. Um sistema de Computação em Grade (Grid Computing) [1] pode ser definido de maneira bem abrangente como uma infra-estrutura de software capaz de interligar e gerenciar diversos recursos computacionais, possivelmente distribuídos por uma grande área geográfica, de maneira a oferecer ao usuário acesso transparente a tais recursos, independente da localização dos mesmos. Na maioria dos casos, o principal recurso das grades é a capacidade de processamento, porém alguns sistemas incluem uma ampla gama de recursos como: dispositivos de armazenamento de grande capacidade, instrumentos científicos e até componentes de software, como bancos de dados. A origem do termo Grid Computing deriva de uma analogia com a rede elétrica (Power Grid), e remete o objetivo de tornar o uso de recursos computacionais distribuídos tão simples quanto ligar um aparelho na rede elétrica. Apesar da falta de consenso sobre as características de um sistema de Computação em Grade, podemos listar uma série de aspectos comuns a diversos desses sistemas. São eles: não substituem sistemas operacionais: ao contrário de sistemas operacionais distribuídos, nenhum dos sistemas de Computação em Grade existentes substitui os sistemas operacionais das máquinas que compõem a Grade. Os sistemas de Computação em Grade podem utilizar serviços do sistema operacional, porém são estruturados como um middleware que provê serviços para os usuários e aplicações da Grade. Alguns sistemas ainda permitem que seus módulos sejam executados com poucos ou nenhuns privilégios de sistema, ou seja, não requerem privilégios administrativos; podem integrar recursos distribuídos e descentralizados: a maioria dos sistemas de Computação em Grade é capaz de integrar recursos dispersos por múltiplos domínios administrativos 1 e conectados por redes de grande área. Essa característica separa os sistemas de Computação em Grade dos sistemas de Computação em Aglomerados 1 Domínio administrativo: conjunto de máquinas que estão sujeitas a um determinado conjunto de políticas e restrições estabelecidas por alguma autoridade local. Por exemplo, as máquinas de um laboratório sob controle de um administrador constituem um domínio administrativo.

15 5 (Cluster Computing), uma vez que estes últimos normalmente são capazes de integrar recursos em apenas um domínio administrativo. Alguns sistemas como o Condor [1] evoluíram de gerenciadores de aglomerado para sistemas de Computação em Grade; podem ser utilizados por diversas aplicações: a maioria dos sistemas de Computação em Grade provê serviços que podem ser utilizados por diversas aplicações, caracterizando uma arquitetura reutilizável. Alguns sistemas inclusive prevêem suporte a diferentes classes de aplicações, como aplicações seqüenciais e paralelas; podem incluir várias plataformas de hardware e software: a maioria dos sistemas de Computação em Grade pode integrar recursos heterogêneos, compostos por diversas plataformas de hardware e software. Para tal, entretanto, o sistema de Computação em Grade deve incluir mecanismos que lidem com a diversidade de tais plataformas; apesar de poderem utilizar algumas interfaces padronizadas presentes na maioria dos sistemas operacionais, algumas informações só podem ser obtidas através de mecanismos específicos de cada plataforma; adaptabilidade às políticas locais: apesar de integrarem recursos dispersos por vários domínios administrativos, os sistemas de Computação em Grade devem se adaptar às políticas e restrições de uso de cada um destes domínios. Por exemplo, é comum o cenário onde o administrador do domínio, apesar de compartilhar os recursos com outros domínios, deseja priorizar os usuários locais. Proprietários de estações de trabalho, por exemplo, não aceitam que o desempenho de suas aplicações sofra devido às aplicações da Grade que executam em seus recursos. 2.1 Aplicações das grades Além de permitir um melhor aproveitamento dos recursos computacionais, a Grade poderá prover novas formas de interação entre os usuários e suas aplicações. Por exemplo, uma possibilidade de uso das grades são os chamados laboratórios virtuais, que permitem o acesso remoto a instrumentos científicos altamente especializados e caros. Por exemplo, um cientista no laboratório A poderá manipular remotamente um telescópio presente no laboratório B, e receber as imagens captadas através da rede. Opcionalmente, ele poderá, de maneira transparente, armazenar as imagens nos equipamentos de grande capacidade do instituto C e, caso necessário, processar as imagens nos computadores disponíveis nas três

16 6 instituições. Também é possível vislumbrar experimentos colaborativos, onde diversos cientistas espalhados por várias instituições colaboram para realizar experimentos e simulações. Na indústria, além da possibilidade de se utilizar a capacidade ociosa de centenas de estações de trabalho já existentes, as grades poderão permitir novas formas de colaboração entre os funcionários espalhados por diversas filiais, por exemplo. As aplicações em ambientes de grades podem ser categorizadas em cinco classes principais: Supercomputação Distribuída: é o foco deste trabalho, o qual engloba aplicações com necessidade de grande potencial de processamento, podendo este ser alcançado com a paralelização na execução de tarefas. Por exemplo, processamentos genéticos, gráficos, metereológicos, neurocientíficos e outros; Grande fluxo de dados: são aplicações que possuem fluxos de informação oriundos de várias fontes, inviabilizando a concentração em um único computador. Estudos paramétricos são exemplos desta categoria de aplicações; On-demand: são aplicações que utilizam alguns instrumentos e recursos mais específicos em determinados momentos, por exemplo, captação metereológica, observação espacial e instrumentação inteligente; Grande quantidade de dados: aplicações que utilizam grande quantidade de informação, armazenadas em vários meios secundários, além de um número alto de processamento. Por exemplo, mineração de dados (data mining); Colaborativo: aplicações que envolvem a participação síncrona ou assíncrona de indivíduos geograficamente distantes, tal como desenvolvimento colaborativo de peças industriais. Há dezenas de motivos pelos quais justificam o uso de aplicações voltada às grades de computadores, entre eles estão: A exploração da natureza distribuída inerente de algumas aplicações; Diminuição do tempo de resposta de aplicações robustas; Possibilidade de executar aplicações que ultrapassam as capacidades de um sistema de arquitetura simples;

17 7 Exploração da semelhança de um recurso com função específica em uma grade, com componentes de uma aplicação, ou seja, permite trabalhar com o paradigma orientado a componentes, facilitando o reuso de funções e aplicações. 2.2 Variações das grades Com o desenvolvimento dos sistemas de Computação em Grade, foi proposto uma classificação [1] que categoriza os sistemas de Computação em Grade de acordo com a atividade principal a qual se destinam. Algumas dessas categorias serão descritas a seguir Grade Computacional (Grid Computing) São voltados a prover meios seguros para execução de tarefas de alguma aplicação nos recursos distribuídos individualmente ou coletivamente. É desejável também que esses serviços forneçam meios para monitorar e controlar as execuções das tarefas, além de permitir o controle da alocação e reserva dos recursos disponíveis para execução das mesmas. Podem ser focados em computação de alto desempenho e computação com grande saída de informação (high throughput). Outro fator importante nesse tipo de serviço é a necessidade de funções especiais capazes de qualificar o software e o hardware dos recursos segundo suas capacidades e permitir monitorar constantemente a disponibilidade dos mesmos com o passar do tempo. Grades voltadas a esses serviços assemelham-se com os aglomerados pelo intuito de ganhar desempenho na execução de programas e tarefas em geral Grade de dados/armazenamento (Data Grid) Concentram-se em disponibilizar mecanismos seguros de acesso a repositórios de dados e a seus gerenciadores. Para a disponibilização de armazenamentos expansíveis e acesso aos dados consistentes, estes devem ser replicados em vários recursos de maneira a criar uma ilusão da existência de um armazenamento em massa. O processamento desses dados são normalmente encarregados aos serviços computacionais da grade, sendo esta

18 8 combinação de serviços chamada de data grids. Por outro lado, estes serviços podem apenas representar mecanismos para colocar e retirar arquivos de meios de armazenamentos. Nesta abordagem é essencial a existência de formas que agilizam o processo de carga e descarga das informações, ou seja, é necessário a existência de mecanismos que permitam fazer acessos aleatório a segmentos de arquivos em diferentes recursos, assim como mecanismos que permitam avaliar a disponibilidade de espaço, largura de banda de rede e de disco e CPU (Unidade de Processamento Central) dos recursos para melhor atender aos pedidos Grade de Serviços (Service Grid) Visam o gerenciamento de aplicações e provêem acesso a softwares e bibliotecas transparentemente. É esperado o uso de algumas tecnologias, tais como web services, para a obtenção e implementação de serviços de aplicação, os quais são feitos baseados em serviços de dados e serviços computacionais Serviços compostos e derivados Baseados nos serviços que oferecem capacidades de processamento e armazenamento, podem-se criar variações com finalidades mais específicas e restritas. É possível destacar quatro deles: Serviços de repositório de códigos: são especializações de serviços de armazenamento que necessitam de especiais controles de versões de códigos fontes e códigos objetos. Como exemplo desses serviços, tem-se os sistemas controladores de versões (CVS). Serviços de catálogo: representam especializações dos serviços de armazenamento que necessitam de buscas indexadas e grande quantidade de atualizações, por exemplo, base de dados relacional. Serviços de informação: representam serviços que extraem e apresentam algum tipo de informação de um determinado domínio de problema, sendo implementado usando serviços de dados, serviços computacionais e/ou serviços de aplicação. As diferenciações existentes estão relacionadas com a maneira com que as informações são representadas, armazenadas, acessadas, compartilhadas e mantidas.

19 9 Serviços de conhecimento: concentram-se na definição da forma com que um conhecimento é adquirido, usado, retornado, publicado e mantido para ajudar usuários a alcançar seus objetivos particulares. Conhecimento, neste caso, é entendido como informações aplicadas em um objetivo, em uma solução de um problema ou para a tomada de uma decisão. Devido às características da pesquisa realizada no contexto dessa monografia, o restante do texto tratará apenas de Grades Computacionais. As demais categorias se encontram além do escopo desse trabalho. 2.3 Computação de Alto Desempenho x Computação Oportunista Em termos do aproveitamento de recursos computacionais, podemos ter dois tipos de computação [1]. O primeiro tipo é a alocação exclusiva de um conjunto de recursos por longos períodos de tempo, utilizando de forma intensiva os recursos computacionais para uma dada tarefa. Este tipo de processamento denomina-se computação de alto desempenho. Recursos disponibilizados nesta modalidade são também denominados aglomerados (clusters) computacionais. No lado oposto temos a computação oportunista, onde tentamos aproveitar intervalos de ociosidade de equipamentos para realizar processamento externo. Não se exige 100% de disponibilidade dos equipamentos. O fator primordial não é o tempo de processamento, mas sim um melhor aproveitamento de recursos. Uma grade pode conter dentro de seus limites tanto recursos destinados à computação de alto desempenho (aglomerados) como máquinas utilizadas para computação oportunista. Cabe a infra-estrutura da Grade fazer a alocação das tarefas em função das características dos equipamentos. A Tabela 1 apresenta um quadro comparativo, destacando as principais diferenças entre computação de alto desempenho e computação oportunista.

20 10 Tabela 1 - Computação de alto desempenho e computação oportunista Computação de alto desempenho Ambiente homogêneo em termos de hardware e Sistema Operacional (aglomerado de computadores). Linguagens ou bibliotecas com recursos que facilitem a comunicação entre processos distribuídos. Possui um custo inicial para a compra e manutenção de equipamentos dedicados. Este custo pode compensar se comparado ao custo de aquisição de um super computador. Não necessita de uma infra-estrutura para gerenciamento, os programas podem utilizar simplesmente bibliotecas paralelas para troca de mensagens. Uso intensivo principalmente de CPU. Computação oportunista Ambiente heterogêneo. Linguagens que possam ser utilizadas em ambientes heterogêneos. Custo baixo de instalação, pois aproveita os equipamentos já existentes. Necessita de um gerenciador para catalogar os recursos disponíveis, monitorar sua ocupação e distribuir as tarefas. Compartilha qualquer recurso computacional como arquivos, capacidade de armazenamento, bancos de dados e CPU. 2.4 Trabalhos relacionados Com a disseminação da Computação em Grade, surgiram diversos sistemas desenvolvidos pela indústria e pela comunidade acadêmica. Nesta seção apresentaremos alguns dos sistemas de Computação em Grade existentes. E importante salientar que os sistemas aqui apresentados representam apenas uma pequena fração dos sistemas existentes Globus O Globus [22] e atualmente o projeto de maior impacto na área de Computação em Grade. Suas origens remontam a I-WAY, uma iniciativa de criar uma infra-estrutura de Grade temporária composta por 11 redes de alta velocidade e 17 institutos de pesquisa. Tal infraestrutura foi concebida para funcionar por apenas algumas semanas, nas vésperas do congresso Supercomputing '95. O sucesso da iniciativa incentivou a criação e o desenvolvimento do Globus.

21 11 O projeto Globus atualmente é uma iniciativa que envolve diversas instituições de pesquisa e conta com o apoio de grandes empresas, como a IBM e a Microsoft. As principais instituições de pesquisa envolvidas incluem o Laboratório Nacional de Argonne (ANL), Universidade de Chicago, Universidade do Sul da Califórnia (USC) e o Laboratório de Computação de Alto Desempenho da Universidade do Norte de Illinois, todos esses situados nos Estados Unidos, alem da Universidade de Edimburgo. O sistema de Computação em Grade desenvolvido no contexto do projeto Globus é denominado Globus Toolkit e provê uma serie de funcionalidades que permitem a implantação de sistemas de Computação em Grade assim como o desenvolvimento de aplicações para tais sistemas. A abordagem de caixa de ferramentas (toolkit) permite a personalização das grades e aplicações, permitindo a criação incremental de aplicações que a cada nova versão utilizem mais recursos da Grade. Por exemplo, pode-se inicialmente utilizar Globus apenas para coordenar a execução de aplicações sem que estas sejam alteradas, e posteriormente e possível modificá-las para que usem serviços da Grade, como por exemplo transferência de arquivos Legion O Projeto Legion [1], desenvolvido na universidade da Virginia, objetivou construir um Sistema de Metacomputação, ou seja, um ambiente que integrasse diversos recursos computacionais espalhados, provendo a usuários e desenvolvedores de aplicações a ilusão de que estivessem utilizando um único e poderoso computador. Sistemas de Metacomputação e de Computação em Grade possuam semelhanças e acabaram convergindo, sendo o termo Computação em Grade o mais atual. Apesar de colaborações com outras universidades e centros de pesquisa, a maioria da pesquisa e desenvolvimento de Legion foi feita na Universidade de Virginia, e os principais pesquisadores envolvidos no projeto foram Andrew Grimshaw, Bill Wulf, Jim French, Marty Humphrey e Anand Natrajan. O projeto Legion foi iniciado em 1993, porem o desenvolvimento do sistema começou de fato apenas em 1996, e a primeira implantação se deu em Tal intervalo entre o início do projeto e o início da implementação foi devido a adoção de uma extensa fase de análise de requisitos e projeto do sistema. Tal fase de análise é devida em parte ao princípio de arquitetura adotado por Legion: construir uma fundação básica sobre a qual os serviços de maior nível da Grade pudessem ser construídos.

22 12 A característica marcante do sistema Legion e sua arquitetura orientada a objetos: todas as entidades do sistema, tais como computadores, dispositivos de armazenamento, aplicações e serviços da Grade são representadas por objetos. Tais objetos fazem uso da fundação básica provida por Legion, denominada camada de objetos núcleo. Essa camada provê serviços básicos que todo objeto necessita, como chamada de métodos e propagação de exceções, e por sua vez, faz uso de serviços de camadas inferiores, como transporte de mensagens. Tal arquitetura provê um modelo elegante e flexível de desenvolvimento do sistema de Grade, porem foi responsável pela relativa demora em produzir um sistema funcional: antes que qualquer serviço de alto nível pudesse ser desenvolvido, era necessário desenvolver completamente a camada que servia de substrato. O projeto Legion em si foi encerrado: em 2001, uma companhia posteriormente nomeada Avaki [1] adquiriu os direitos legais de Legion da Universidade de Virginia. Assim, o sistema Legion foi renomeado para Avaki, o qual mantém a arquitetura e alguns serviços de Legion, porem teve alguns de seus serviços e funcionalidades removidos, uma vez que Avaki e voltado para aplicações comerciais. Alguns dos principais arquitetos de Legion fazem parte da companhia Condor O sistema Condor [4, 21], desenvolvido na Universidade de Wisconsin em Madison, possibilita a integração de diversos computadores em aglomerados, de maneira a permitir a utilização eficaz dos recursos computacionais de tais maquinas. Como e reconhecido amplamente, grande parte da capacidade de processamento dos computadores, especialmente estações de trabalho, permanece inutilizada durante grande parte do tempo. Assim, o principal objetivo de Condor é utilizar tal capacidade para executar programas, preservando o proprietário do recurso de perdas de desempenho. Condor é o sistema mais antigo aqui apresentado, tendo sua origem em 1988 como derivado de um sistema ainda mais antigo, RemoteUnix, que possibilitava a integração e o uso remoto de estações de trabalho. O sistema está em produção há vários anos, com instalações tanto no ambiente acadêmico como na indústria. Originalmente, o usuário alvo de Condor é aquele que possui necessidade de grandes quantidades de computação ao longo de um grande espaço de tempo, como dias, semanas ou meses. Normalmente tais usuários possuem necessidades de processamento que superam em

23 13 muito a capacidade disponível. Assim, normalmente é a capacidade disponível de processamento que define o quanto da computação e feita. Tal categoria de uso e denominada High Throughput Computing. Para esses usuários, qualquer recurso adicional é de grande valia. Uma vez que tradicionalmente as computações intensivas são feitas em recursos caros e dedicados, torna-se atraente a idéia de utilizar recursos compartilhados, baratos e já existentes em grande quantidade na instituição MyGrid MyGrid [1] objetiva construir um ambiente simplificado para a execução de aplicações sobre recursos computacionais distribuídos. O principal objetivo de MyGrid é simplificar ao máximo o processo de implantação da Grade, permitindo que qualquer usuário tome a iniciativa de instalar uma grade computacional com os recursos que dispõe. Em MyGrid, normalmente é o próprio usuário que deseja executar aplicações o responsável por implantar o sistema, o que contrasta com as demais iniciativas de grade já apresentadas, onde a implantação é tipicamente feita por um administrador. MyGrid pode ser instalado facilmente em quaisquer recursos que o usuário tenha acesso, não requerendo nenhum privilégio de administrador. MyGrid é desenvolvido na Universidade Federal de Campina Grande, e o principal pesquisador envolvido é Walfredo Cirne. A arquitetura simplificada de MyGrid também implica na limitação do tipo de aplicação que pode ser executada no sistema. Dessa maneira, MyGrid é um ambiente voltado para a execução de aplicações Bag-of-Tasks (BOTs). Uma aplicação Bag-of-Tasks é composta por uma ou mais tarefas que podem ser executadas de forma independente, ou seja, não existe comunicação entre as tarefas. A aplicação pode ser composta de tarefas iguais ou diferentes, porem sempre independentes. Aplicações Bag-of-Tasks são empregadas em estudos paramétricos, buscas exaustivas por partição do espaço, como quebra de chaves criptográficas, biologia computacional e processamento de imagens. A ausência de comunicação entre as tarefas da aplicação facilita a execução de aplicações sobre recursos conectados por redes de grande área, as quais muitas vezes apresentam limitações na capacidade de comunicação.

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

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

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

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

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

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

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

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

Leia mais

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

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

Um cluster de servidores de email pode ser usado para servir os emails de uma empresa.

Um cluster de servidores de email pode ser usado para servir os emails de uma empresa. CLUSTERS Pode-se pegar uma certa quantidade de servidores e juntá-los para formar um cluster. O serviço então é distribuído entre esses servidores como se eles fossem uma máquina só. Um cluster de servidores

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

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

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

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 Operacionais

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

Leia mais

SISTEMAS OPERACIONAIS. Apostila 03 Estrutura do Sistema Operacional UNIBAN

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

Leia mais

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

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

Leia mais

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

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

TECNÓLOGO EM ANÁLISE E DESENVOLVIMENTO DE SISTEMAS PROGRAMAÇÃO DE COMPUTADORES I Aula 01: Conceitos Iniciais / Sistema Operacional

TECNÓLOGO EM ANÁLISE E DESENVOLVIMENTO DE SISTEMAS PROGRAMAÇÃO DE COMPUTADORES I Aula 01: Conceitos Iniciais / Sistema Operacional TECNÓLOGO EM ANÁLISE E DESENVOLVIMENTO DE SISTEMAS PROGRAMAÇÃO DE COMPUTADORES I Aula 01: Conceitos Iniciais / Sistema Operacional O conteúdo deste documento tem por objetivo apresentar uma visão geral

Leia mais

Eduardo Bezerra. Editora Campus/Elsevier

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

Leia mais

Sistemas de Informação

Sistemas de Informação Sistemas de Informação Prof. M.Sc. Diego Fernandes Emiliano Silva diego.femiliano@gmail.com Agenda Infraestrutura de TI Infraestrutura de TI: hardware Infraestrutura de TI: software Administração dos recursos

Leia mais

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

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

Leia mais

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

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

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

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

Leia mais

Cornell usa computação de alto desempenho para acelerar a pesquisa e ampliar o acesso a softwares

Cornell usa computação de alto desempenho para acelerar a pesquisa e ampliar o acesso a softwares Portfólio de produtos Microsoft para servidores Estudo de caso de solução do cliente Cornell usa computação de alto desempenho para acelerar a pesquisa e ampliar o acesso a softwares Visão geral País ou

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

Sumário. Fórmula de Mersenne. Origem do BOINC. Fórmula de Mersenne. Computação voluntária

Sumário. Fórmula de Mersenne. Origem do BOINC. Fórmula de Mersenne. Computação voluntária Sumário Um sistema para Computação Voluntária Jeferson Prevedello Rafael Antonioli Origem do BOINC Fórmula de Mersenne Computação voluntária Boinc x Grid Computação redundante Segurança Projetos Origem

Leia mais

GESTÃO DE SISTEMAS OPERACIONAIS II

GESTÃO DE SISTEMAS OPERACIONAIS II GESTÃO DE SISTEMAS OPERACIONAIS II Servidores Definição Servidores História Servidores Tipos Servidores Hardware Servidores Software Evolução do Windows Server Windows Server 2003 Introdução Windows Server

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

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

Balanceamento de Carga

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

Leia mais

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

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

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

Componentes para Computação Distribuída

Componentes para Computação Distribuída Componentes para Computação Distribuída Conceitos Foi a partir do fenômeno da Internet (WWW), no início dos anos noventa, que a computação distribuída passou a ter relevância definitiva, a ponto de a Internet

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

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

Aula 03-04: Modelos de Sistemas Distribuídos

Aula 03-04: Modelos de Sistemas Distribuídos UNIVERSIDADE Computação Aula 03-04: Modelos de Sistemas Distribuídos 2o. Semestre / 2014 Prof. Jesus Principais questões no projeto de um sistema distribuído (SD) Questão de acesso (como sist. será acessado)

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

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

CollA: Uma Plataforma Colaborativa para Programas Java e Java Cá & Lá. Bruno Cerqueira Hott Prof. Joubert de Castro Lima

CollA: Uma Plataforma Colaborativa para Programas Java e Java Cá & Lá. Bruno Cerqueira Hott Prof. Joubert de Castro Lima CollA: Uma Plataforma Colaborativa para Programas Java e Java Cá & Lá Bruno Cerqueira Hott Prof. Joubert de Castro Lima O problema Como permitir que diferentes especialistas possam colaborar cedendo computadores,

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

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

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

Leia mais

Sistemas Distribuídos

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

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

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

Administração de Sistemas de Informação Gerenciais

Administração de Sistemas de Informação Gerenciais Administração de Sistemas de Informação Gerenciais UNIDADE III: Infraestrutura de Tecnologia da Informação Atualmente, a infraestrutura de TI é composta por cinco elementos principais: hardware, software,

Leia mais

Sistemas Operacionais Introdução. Professora: Michelle Nery

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

Leia mais

Nível 3 Sistema Operacional

Nível 3 Sistema Operacional Nível 3 Sistema Operacional Universidade Tuiuti do Paraná UTP Faculdade de Ciências Exatas - FACET Tecnologia de Análise e Desenvolvimento de Sistemas Organização de Computadores Prof. André Luiz 1 Nível

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

Profs. Deja e Andrei

Profs. Deja e Andrei Disciplina Sistemas Distribuídos e de Tempo Real Profs. Deja e Andrei Sistemas Distribuídos 1 Conceitos e Projetos de Sistemas Distribuídos Objetivos: Apresentar uma visão geral de processamento distribuído,

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

CAPITULO 4 A ARQUITETURA LÓGICA PARA O AMBIENTE

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

Leia mais

Sistemas Distribuídos

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

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

Administração de Sistemas de Informação Gerenciais

Administração de Sistemas de Informação Gerenciais Administração de Sistemas de Informação Gerenciais UNIDADE III: Infraestrutura de Tecnologia da Informação Atualmente, a infraestrutura de TI é composta por cinco elementos principais: hardware, software,

Leia mais

Arquitetura de Computadores. Introdução aos Sistemas Operacionais

Arquitetura de Computadores. Introdução aos Sistemas Operacionais Arquitetura de Computadores Introdução aos Sistemas Operacionais O que é um Sistema Operacional? Programa que atua como um intermediário entre um usuário do computador ou um programa e o hardware. Os 4

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

BOINC - Um Sistema para Computação Voluntária

BOINC - Um Sistema para Computação Voluntária BOINC - Um Sistema para Computação Voluntária Jeferson Librelotto Prevedello Faculdade de Informática - PUCRS prevedello@inf.pucrs.br Rafael Antonioli Faculdade de Informática - PUCRS rantonioli@inf.pucrs.br

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

Laudon & Laudon Essentials of MIS, 5th Edition. Pg. 6.1

Laudon & Laudon Essentials of MIS, 5th Edition. Pg. 6.1 Laudon & Laudon Essentials of MIS, 5th Edition. Pg. 6.1 6 OBJETIVOS OBJETIVOS ADMINISTRAÇÃO DOS RECURSOS DE HARDWARE E SOFTWARE 6.1 2003 by Prentice Hall Qual é a capacidade de processamento e armazenagem

Leia mais

Crescendo e Inovando com um Parceiro Confiável de Suporte

Crescendo e Inovando com um Parceiro Confiável de Suporte IBM Global Technology Services Manutenção e suporte técnico Crescendo e Inovando com um Parceiro Confiável de Suporte Uma abordagem inovadora em suporte técnico 2 Crescendo e Inovando com um Parceiro Confiável

Leia mais

Sistemas Operacionais Aula 03: Estruturas dos SOs. Ezequiel R. Zorzal ezorzal@unifesp.br www.ezequielzorzal.com

Sistemas Operacionais Aula 03: Estruturas dos SOs. Ezequiel R. Zorzal ezorzal@unifesp.br www.ezequielzorzal.com Sistemas Operacionais Aula 03: Estruturas dos SOs Ezequiel R. Zorzal ezorzal@unifesp.br www.ezequielzorzal.com OBJETIVOS Descrever os serviços que um sistema operacional oferece aos usuários e outros sistemas

Leia mais

COMPUTAÇÃO EM NUVEM. Michele Marques Costa 1,2, Julio César2 ¹Universidade paranaense (Unipar)

COMPUTAÇÃO EM NUVEM. Michele Marques Costa 1,2, Julio César2 ¹Universidade paranaense (Unipar) COMPUTAÇÃO EM NUVEM Michele Marques Costa 1,2, Julio César2 ¹Universidade paranaense (Unipar) Paranavaí PR Brasil Mih_nai@hotmail.com juliocesar@unipar.br Resumo. Este artigo contém a definição e citação

Leia mais

Gestão de Armazenamento

Gestão de Armazenamento Gestão de Armazenamento 1. Introdução As organizações estão se deparando com o desafio de gerenciar com eficiência uma quantidade extraordinária de dados comerciais gerados por aplicativos e transações

Leia mais

Estudo de Caso 2: Windows Vista

Estudo de Caso 2: Windows Vista Faculdades Integradas de Mineiros Curso de Sistemas de Informação Sistemas Operacionais II Estudo de Caso 2: Windows Vista Grupo 4 Helder / Wagner / Frantyeis Junho/2010 O Windows usa uma estratégia Just-In-Time

Leia mais

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

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

Leia mais

O que são sistemas supervisórios?

O que são sistemas supervisórios? O que são sistemas supervisórios? Ana Paula Gonçalves da Silva, Marcelo Salvador ana-paula@elipse.com.br, marcelo@elipse.com.br RT 025.04 Criado: 10/09/2004 Atualizado: 20/12/2005 Palavras-chave: sistemas

Leia mais

Roteiro. Sistemas Distribuídos. Sistemas de Arquivos Distribuídos. Sistema de arquivos distribuídos

Roteiro. Sistemas Distribuídos. Sistemas de Arquivos Distribuídos. Sistema de arquivos distribuídos Sistemas Distribuídos Sistemas de Arquivos Distribuídos Roteiro Sistema de arquivos distribuídos Requisitos Arquivos e diretórios Compartilhamento Cache Replicação Estudo de caso: NFS e AFS Sistemas Distribuídos

Leia mais

05/08/2013. Sistemas Distribuídos Cluster. Sistemas Distribuídos Cluster. Agenda. Introdução

05/08/2013. Sistemas Distribuídos Cluster. Sistemas Distribuídos Cluster. Agenda. Introdução Sistemas Distribuídos Cluster Originais gentilmente disponibilizados pelos autores em http://www.cdk4.net/wo/ Adaptados por Társio Ribeiro Cavalcante Agenda 1. Introdução 2. O que é um cluster 3. Alta

Leia mais

Arquitetura de Computadores. Professor: Vilson Heck Junior

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

Leia mais

- Aula 1 - ARQUITETURA DE COMPUTADORES

- Aula 1 - ARQUITETURA DE COMPUTADORES - Aula 1 - ARQUITETURA DE COMPUTADORES Em arquitetura de computadores serão estudados aspectos da estrutura e do funcionamento dos computadores. O objetivo é apresentar de forma clara e abrangente a natureza

Leia mais

1º Estudo Dirigido. Capítulo 1 Introdução aos Sistemas Operacionais

1º Estudo Dirigido. Capítulo 1 Introdução aos Sistemas Operacionais 1º Estudo Dirigido Capítulo 1 Introdução aos Sistemas Operacionais 1. Defina um sistema operacional de uma forma conceitual correta, através de suas palavras. R: Sistemas Operacionais são programas de

Leia mais

Sistemas Operacionais

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

Leia mais

Aula 2. Objetivo: Saber qual a funcionalidade de um sistema operacional de rede.

Aula 2. Objetivo: Saber qual a funcionalidade de um sistema operacional de rede. Aula 2 Objetivo: Saber qual a funcionalidade de um sistema operacional de rede. Sistema Operacional de Rede Definição: Conjunto de módulos que ampliam as tarefas dos sistemas operacionais locais, complementando-os

Leia mais

GERENCIAMENTO CENTRALIZADO DELL POWERVAULT DL 2000 BASEADO EM TECNOLOGIA SYMANTEC

GERENCIAMENTO CENTRALIZADO DELL POWERVAULT DL 2000 BASEADO EM TECNOLOGIA SYMANTEC GERENCIAMENTO CENTRALIZADO DELL POWERVAULT DL 2000 BASEADO EM TECNOLOGIA SYMANTEC RESUMO EXECUTIVO O PowerVault DL2000, baseado na tecnologia Symantec Backup Exec, oferece a única solução de backup em

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

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

Fonte de Consulta: Sistemas de Informação e as Decisões Gerenciais na Era da Internet James A. O Brien NOTAS DE AULA

Fonte de Consulta: Sistemas de Informação e as Decisões Gerenciais na Era da Internet James A. O Brien NOTAS DE AULA NOTAS DE AULA 1. TENDÊNCIAS EM SISTEMAS DE MICROCOMPUTADORES Existem várias categorias principais de sistemas de computadores com uma diversidade de características e capacidades. Consequentemente, os

Leia mais

Estudo de Caso. O Fator Wow! : Um Exemplo Perfeito do Uso de Analítica de Negócios e Computação em Nuvem para Criar Valor de Negócios

Estudo de Caso. O Fator Wow! : Um Exemplo Perfeito do Uso de Analítica de Negócios e Computação em Nuvem para Criar Valor de Negócios Estudo de Caso O Fator Wow! : Um Exemplo Perfeito do Uso de Analítica de Negócios Introdução Este Estudo de Caso é sobre como uma corporação (IBM) encontrou uma maneira de extrair valor de negócios adicional

Leia mais

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

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

Leia mais

Infra estrutura da Tecnologia da Informação

Infra estrutura da Tecnologia da Informação Infra estrutura da Tecnologia da Informação Capítulo 3 Adaptado do material de apoio ao Livro Sistemas de Informação Gerenciais, 7ª ed., de K. Laudon e J. Laudon, Prentice Hall, 2005 CEA460 Gestão da Informação

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

Ferramentas Web para controle e supervisão: o que está por vir

Ferramentas Web para controle e supervisão: o que está por vir Artigos Técnicos Ferramentas Web para controle e supervisão: o que está por vir Marcelo Salvador, Diretor de Negócios da Elipse Software Ltda. Já faz algum tempo que ouvimos falar do controle e supervisão

Leia mais

Sistemas Distribuídos

Sistemas Distribuídos Sistemas Distribuídos Comunicação de Grupos Peer to Peer Comunicação de Grupos Modelos Anteriores - Comunicação envolvia somente duas partes. RPC não permite comunicação de um processo com vários outros

Leia mais

Roteamento e Comutação

Roteamento e Comutação Roteamento e Comutação Uma estação é considerada parte de uma LAN se pertencer fisicamente a ela. O critério de participação é geográfico. Quando precisamos de uma conexão virtual entre duas estações que

Leia mais

Capítulo VI Telecomunicações: Redes e Aplicativos

Capítulo VI Telecomunicações: Redes e Aplicativos Capítulo VI Telecomunicações: Redes e Aplicativos Uma rede nada mais é do que máquinas que se comunicam. Estas máquinas podem ser computadores, impressoras, telefones, aparelhos de fax, etc. Se interligarmos

Leia mais

Redes de Computadores

Redes de Computadores Redes de Computadores Introdução Redes de Computadores é um conjunto de equipamentos que são capazes de trocar informações e compartilhar recursos entre si, utilizando protocolos para se comunicarem e

Leia mais

Resumo cap. 4. Tecnologia de rede e telecomunicações - Proporciona a conectividade de dados, voz e vídeo a funcionários, clientes e fornecedores

Resumo cap. 4. Tecnologia de rede e telecomunicações - Proporciona a conectividade de dados, voz e vídeo a funcionários, clientes e fornecedores Resumo cap. 4 4.1) Infra-estrutura de TI: hardware As empresas contemporâneas exigem uma ampla variedade de equipamentos computacionais, software e recusos de comunicação apenas para funcionar e resolver

Leia mais

Organização de Computadores 1

Organização de Computadores 1 Organização de Computadores 1 3 ARQUITETURA DE VON NEUMANN E DESEMPENHO DE COMPUTADORES Prof. Luiz Gustavo A. Martins Tipos de Arquitetura Arquitetura de von Neumann: Conceito de programa armazenado; Dados

Leia mais

CURSO TECNOLÓGICO 2008/01 1º SEMESTRE. Programação e Estruturas de Dados Fundamentais

CURSO TECNOLÓGICO 2008/01 1º SEMESTRE. Programação e Estruturas de Dados Fundamentais 1º SEMESTRE Programação e Estruturas de Dados Fundamentais 8 Créditos Desenvolver a lógica de programação através da construção de algoritmos utilizando português estruturado Representar a solução de problemas

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

1. CAPÍTULO COMPUTADORES

1. CAPÍTULO COMPUTADORES 1. CAPÍTULO COMPUTADORES 1.1. Computadores Denomina-se computador uma máquina capaz de executar variados tipos de tratamento automático de informações ou processamento de dados. Os primeiros eram capazes

Leia mais

Cisco Intelligent Automation for Cloud

Cisco Intelligent Automation for Cloud Dados técnicos do produto Cisco Intelligent Automation for Cloud Os primeiros a adotarem serviços com base em nuvem buscavam uma economia de custo maior que a virtualização e abstração de servidores podiam

Leia mais