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 SETI@home 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.

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

SISTEMAS DISTRIBUÍDOS

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

Leia mais

SISTEMAS 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

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

Feature-Driven Development

Feature-Driven Development FDD Feature-Driven Development Descrição dos Processos Requisitos Concepção e Planejamento Mais forma que conteúdo Desenvolver um Modelo Abrangente Construir a Lista de Features Planejar por

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

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

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

MÓDULO 11 ELEMENTOS QUE FAZEM PARTE DO PROJETO DO SISTEMA

MÓDULO 11 ELEMENTOS QUE FAZEM PARTE DO PROJETO DO SISTEMA MÓDULO 11 ELEMENTOS QUE FAZEM PARTE DO PROJETO DO SISTEMA Através dos elementos que fazem parte do projeto do sistema é que podemos determinar quais as partes do sistema que serão atribuídas às quais tipos

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

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

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

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

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

Programação com acesso a BD. Prof.: Clayton Maciel Costa clayton.maciel@ifrn.edu.br

Programação com acesso a BD. Prof.: Clayton Maciel Costa clayton.maciel@ifrn.edu.br Programação com acesso a BD Prof.: Clayton Maciel Costa clayton.maciel@ifrn.edu.br 1 Introdução BD desempenha papel crítico em todas as áreas em que computadores são utilizados: Banco: Depositar ou retirar

Leia mais

SISTEMAS OPERACIONAIS CAPÍTULO 3 CONCORRÊNCIA

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

Leia mais

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

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

Automação de Locais Distantes

Automação de Locais Distantes Automação de Locais Distantes Adaptação do texto Improving Automation at Remote Sites da GE Fanuc/ Water por Peter Sowmy e Márcia Campos, Gerentes de Contas da. Nova tecnologia reduz custos no tratamento

Leia mais

Sistemas Operacionais

Sistemas Operacionais Sistemas Operacionais Aula 13 Gerência de Memória Prof.: Edilberto M. Silva http://www.edilms.eti.br Baseado no material disponibilizado por: SO - Prof. Edilberto Silva Prof. José Juan Espantoso Sumário

Leia mais

Considerações no Projeto de Sistemas Cliente/Servidor

Considerações no Projeto de Sistemas Cliente/Servidor Cliente/Servidor Desenvolvimento de Sistemas Graça Bressan Graça Bressan/LARC 2000 1 Desenvolvimento de Sistemas Cliente/Servidor As metodologias clássicas, tradicional ou orientada a objeto, são aplicáveis

Leia mais

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

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

Leia mais

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

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

Leia mais

Entendendo como funciona o NAT

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

Leia mais

Engenharia de Software III

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

Leia mais

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

http://aurelio.net/vim/vim-basico.txt Entrar neste site/arquivo e estudar esse aplicativo Prof. Ricardo César de Carvalho

http://aurelio.net/vim/vim-basico.txt Entrar neste site/arquivo e estudar esse aplicativo Prof. Ricardo César de Carvalho vi http://aurelio.net/vim/vim-basico.txt Entrar neste site/arquivo e estudar esse aplicativo Administração de Redes de Computadores Resumo de Serviços em Rede Linux Controlador de Domínio Servidor DNS

Leia mais

Universidade Federal de Goiás UFG Campus Catalão CAC Departamento de Engenharia de Produção. Sistemas ERP. PCP 3 - Professor Muris Lage Junior

Universidade Federal de Goiás UFG Campus Catalão CAC Departamento de Engenharia de Produção. Sistemas ERP. PCP 3 - Professor Muris Lage Junior Sistemas ERP Introdução Sucesso para algumas empresas: acessar informações de forma rápida e confiável responder eficientemente ao mercado consumidor Conseguir não é tarefa simples Isso se deve ao fato

Leia mais

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

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

Leia mais

Sistemas Distribuídos. 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

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

04/08/2012 MODELAGEM DE DADOS. PROF. RAFAEL DIAS RIBEIRO, M.Sc. @ribeirord MODELAGEM DE DADOS. Aula 2. Prof. Rafael Dias Ribeiro. M.Sc.

04/08/2012 MODELAGEM DE DADOS. PROF. RAFAEL DIAS RIBEIRO, M.Sc. @ribeirord MODELAGEM DE DADOS. Aula 2. Prof. Rafael Dias Ribeiro. M.Sc. MODELAGEM DE DADOS PROF. RAFAEL DIAS RIBEIRO, M.Sc. @ribeirord MODELAGEM DE DADOS Aula 2 Prof. Rafael Dias Ribeiro. M.Sc. @ribeirord 1 Objetivos: Revisão sobre Banco de Dados e SGBDs Aprender as principais

Leia mais

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

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

Leia mais

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

Introdução ao Modelos de Duas Camadas Cliente Servidor

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

Leia mais

Unidade 13: Paralelismo:

Unidade 13: Paralelismo: Arquitetura e Organização de Computadores 1 Unidade 13: Paralelismo: SMP e Processamento Vetorial Prof. Daniel Caetano Objetivo: Apresentar os conceitos fundamentais da arquitetura SMP e alguns detalhes

Leia mais

AULA 5 Sistemas Operacionais

AULA 5 Sistemas Operacionais AULA 5 Sistemas Operacionais Disciplina: Introdução à Informática Professora: Gustavo Leitão Email: gustavo.leitao@ifrn.edu.br Sistemas Operacionais Conteúdo: Partições Formatação Fragmentação Gerenciamento

Leia mais

Prof.: Roberto Franciscatto. Capítulo 1.2 Aspectos Gerais

Prof.: Roberto Franciscatto. Capítulo 1.2 Aspectos Gerais Sistemas Operacionais Prof.: Roberto Franciscatto Capítulo 1.2 Aspectos Gerais Estrutura do Sistema Operacional Principais Funções do Sistema Operacional Tratamento de interrupções e exceções Criação e

Leia mais

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

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

Leia mais

Desculpe, mas este serviço (jogo) encontra se em manutenção.

Desculpe, mas este serviço (jogo) encontra se em manutenção. Estrutura de servidor e banco de dados para multijogadores massivos Marcelo Henrique dos Santos marcelosantos@outlook.com Desculpe, mas este serviço (jogo) encontra se em manutenção. São Paulo SP, Fevereiro/2013

Leia mais

Conceitos de Banco de Dados

Conceitos de Banco de Dados Conceitos de Banco de Dados Autor: Luiz Antonio Junior 1 INTRODUÇÃO Objetivos Introduzir conceitos básicos de Modelo de dados Introduzir conceitos básicos de Banco de dados Capacitar o aluno a construir

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

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

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

Leia mais

SISTEMAS DISTRIBUÍDOS

SISTEMAS DISTRIBUÍDOS SISTEMAS DISTRIBUÍDOS Comunicação coletiva Modelo Peer-to-Peer Slide 6 Nielsen C. Damasceno Introdução Os modelos anteriores eram realizado entre duas partes: Cliente e Servidor. Com RPC e RMI não é possível

Leia mais

Gerenciamento de Projetos Modulo II Ciclo de Vida e Organização do Projeto

Gerenciamento de Projetos Modulo II Ciclo de Vida e Organização do Projeto Gerenciamento de Projetos Modulo II Ciclo de Vida e Organização do Projeto Prof. Walter Cunha falecomigo@waltercunha.com http://waltercunha.com PMBoK Organização do Projeto Os projetos e o gerenciamento

Leia mais

Intranets. FERNANDO ALBUQUERQUE Departamento de Ciência da Computação Universidade de Brasília 1.INTRODUÇÃO

Intranets. FERNANDO ALBUQUERQUE Departamento de Ciência da Computação Universidade de Brasília 1.INTRODUÇÃO Intranets FERNANDO ALBUQUERQUE Departamento de Ciência da Computação Universidade de Brasília 1.INTRODUÇÃO As intranets são redes internas às organizações que usam as tecnologias utilizadas na rede mundial

Leia mais

Fábrica de Software 29/04/2015

Fábrica de Software 29/04/2015 Fábrica de Software 29/04/2015 Crise do Software Fábrica de Software Analogias costumam ser usadas para tentar entender melhor algo ou alguma coisa. A idéia é simples: compara-se o conceito que não se

Leia mais

A computação na nuvem é um novo modelo de computação que permite ao usuário final acessar uma grande quantidade de aplicações e serviços em qualquer

A computação na nuvem é um novo modelo de computação que permite ao usuário final acessar uma grande quantidade de aplicações e serviços em qualquer A computação na nuvem é um novo modelo de computação que permite ao usuário final acessar uma grande quantidade de aplicações e serviços em qualquer lugar e independente da plataforma, bastando para isso

Leia mais

Processos Técnicos - Aulas 4 e 5

Processos Técnicos - Aulas 4 e 5 Processos Técnicos - Aulas 4 e 5 Trabalho / PEM Tema: Frameworks Públicos Grupo: equipe do TCC Entrega: versão digital, 1ª semana de Abril (de 31/03 a 04/04), no e-mail do professor (rodrigues.yuri@yahoo.com.br)

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

Sistemas Operacionais Gerência de Dispositivos

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

Leia mais

Engenharia de Requisitos

Engenharia de Requisitos Engenharia de Requisitos Introdução a Engenharia de Requisitos Professor: Ricardo Argenton Ramos Aula 08 Slide 1 Objetivos Introduzir a noção de requisitos do sistema e o processo da engenharia de requisitos.

Leia mais

Introdução à Computação

Introdução à Computação Aspectos Importantes - Desenvolvimento de Software Motivação A economia de todos países dependem do uso de software. Cada vez mais, o controle dos processos tem sido feito por software. Atualmente, os

Leia mais

PARANÁ GOVERNO DO ESTADO

PARANÁ GOVERNO DO ESTADO A COMUNICAÇÃO NA INTERNET PROTOCOLO TCP/IP Para tentar facilitar o entendimento de como se dá a comunicação na Internet, vamos começar contando uma história para fazer uma analogia. Era uma vez, um estrangeiro

Leia mais

XDOC. Solução otimizada para armazenamento e recuperação de documentos

XDOC. Solução otimizada para armazenamento e recuperação de documentos XDOC Solução otimizada para armazenamento e recuperação de documentos ObJetivo Principal O Que você ACHA De ter Disponível Online todos OS Documentos emitidos por SUA empresa em UMA intranet OU Mesmo NA

Leia mais

PLANOS DE CONTINGÊNCIAS

PLANOS DE CONTINGÊNCIAS PLANOS DE CONTINGÊNCIAS ARAÚJO GOMES Capitão SC PMSC ARAÚJO GOMES defesacivilgomes@yahoo.com.br PLANO DE CONTINGÊNCIA O planejamento para emergências é complexo por suas características intrínsecas. Como

Leia mais

Introdução ao Active Directory AD

Introdução ao Active Directory AD Introdução ao Active Directory AD Curso Técnico em Redes de Computadores SENAC - DF Professor Airton Ribeiro O Active Directory, ou simplesmente AD como é usualmente conhecido, é um serviço de diretórios

Leia mais

2 Diagrama de Caso de Uso

2 Diagrama de Caso de Uso Unified Modeling Language (UML) Universidade Federal do Maranhão UFMA Pós Graduação de Engenharia de Eletricidade Grupo de Computação Assunto: Diagrama de Caso de Uso (Use Case) Autoria:Aristófanes Corrêa

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

3. Arquitetura Básica do Computador

3. Arquitetura Básica do Computador 3. Arquitetura Básica do Computador 3.1. Modelo de Von Neumann Dar-me-eis um grão de trigo pela primeira casa do tabuleiro; dois pela segunda, quatro pela terceira, oito pela quarta, e assim dobrando sucessivamente,

Leia mais

3 SERVIÇOS IP. 3.1 Serviços IP e alguns aspectos de segurança

3 SERVIÇOS IP. 3.1 Serviços IP e alguns aspectos de segurança 3 SERVIÇOS IP 3.1 Serviços IP e alguns aspectos de segurança Os serviços IP's são suscetíveis a uma variedade de possíveis ataques, desde ataques passivos (como espionagem) até ataques ativos (como a impossibilidade

Leia mais

O que é o Virto ERP? Onde sua empresa quer chegar? Apresentação. Modelo de funcionamento

O que é o Virto ERP? Onde sua empresa quer chegar? Apresentação. Modelo de funcionamento HOME O QUE É TOUR MÓDULOS POR QUE SOMOS DIFERENTES METODOLOGIA CLIENTES DÚVIDAS PREÇOS FALE CONOSCO Suporte Sou Cliente Onde sua empresa quer chegar? Sistemas de gestão precisam ajudar sua empresa a atingir

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

IFPE. Disciplina: Sistemas Operacionais. Prof. Anderson Luiz Moreira

IFPE. Disciplina: Sistemas Operacionais. Prof. Anderson Luiz Moreira IFPE Disciplina: Sistemas Operacionais Prof. Anderson Luiz Moreira SERVIÇOS OFERECIDOS PELOS SOS 1 Introdução O SO é formado por um conjunto de rotinas (procedimentos) que oferecem serviços aos usuários

Leia mais

Um Driver NDIS Para Interceptação de Datagramas IP

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

Leia mais

Disciplina de Banco de Dados Introdução

Disciplina de Banco de Dados Introdução Disciplina de Banco de Dados Introdução Prof. Elisa Maria Pivetta CAFW - UFSM Banco de Dados: Conceitos A empresa JJ. Gomes tem uma lista com mais ou menos 4.000 nomes de clientes bem como seus dados pessoais.

Leia mais

Módulo 4: Gerenciamento de Dados

Módulo 4: Gerenciamento de Dados Módulo 4: Gerenciamento de Dados 1 1. CONCEITOS Os dados são um recurso organizacional decisivo que precisa ser administrado como outros importantes ativos das empresas. A maioria das organizações não

Leia mais

Glossário Apresenta a definição dos termos, siglas e abreviações utilizadas no contexto do projeto Citsmart.

Glossário Apresenta a definição dos termos, siglas e abreviações utilizadas no contexto do projeto Citsmart. Apresenta a definição dos termos, siglas e abreviações utilizadas no contexto do projeto Citsmart. Versão 1.6 15/08/2013 Visão Resumida Data Criação 15/08/2013 Versão Documento 1.6 Projeto Responsáveis

Leia mais

Sistemas Operacionais Processos e Threads

Sistemas Operacionais Processos e Threads Sistemas Operacionais Processos e Threads Prof. Marcos Monteiro, MBA http://www.marcosmonteiro.com.br contato@marcosmonteiro.com.br 1 Estrutura de um Sistema Operacional 2 GERÊNCIA DE PROCESSOS Um processo

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

3 SCS: Sistema de Componentes de Software

3 SCS: Sistema de Componentes de Software 3 SCS: Sistema de Componentes de Software O mecanismo para acompanhamento das chamadas remotas se baseia em informações coletadas durante a execução da aplicação. Para a coleta dessas informações é necessário

Leia mais

Forneça a próxima onda de inovações empresariais com o Open Network Environment

Forneça a próxima onda de inovações empresariais com o Open Network Environment Visão geral da solução Forneça a próxima onda de inovações empresariais com o Open Network Environment Visão geral À medida que tecnologias como nuvem, mobilidade, mídias sociais e vídeo assumem papéis

Leia mais

Manual do Ambiente Moodle para Professores

Manual do Ambiente Moodle para Professores UNIVERSIDADE FEDERAL DA FRONTEIRA SUL Manual do Ambiente Moodle para Professores Tarefas Versão 1.0b Setembro/2011 Direitos Autorais: Essa apostila está licenciada sob uma Licença Creative Commons 3.0

Leia mais

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

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

Leia mais

Introdução a Banco de Dados Aula 03. Prof. Silvestri www.eduardosilvestri.com.br

Introdução a Banco de Dados Aula 03. Prof. Silvestri www.eduardosilvestri.com.br Introdução a Banco de Dados Aula 03 Prof. Silvestri www.eduardosilvestri.com.br Arquiteturas de Banco de Dados Arquiteturas de BD - Introdução Atualmente, devem-se considerar alguns aspectos relevantes

Leia mais

:: Telefonia pela Internet

:: Telefonia pela Internet :: Telefonia pela Internet http://www.projetoderedes.com.br/artigos/artigo_telefonia_pela_internet.php José Mauricio Santos Pinheiro em 13/03/2005 O uso da internet para comunicações de voz vem crescendo

Leia mais

UFG - Instituto de Informática

UFG - Instituto de Informática UFG - Instituto de Informática Especialização em Desenvolvimento de Aplicações Web com Interfaces Ricas EJB 3.0 Prof.: Fabrízzio A A M N Soares professor.fabrizzio@gmail.com Aula 13 Web Services Web Services

Leia mais

TRABALHO COM GRANDES MONTAGENS

TRABALHO COM GRANDES MONTAGENS Texto Técnico 005/2013 TRABALHO COM GRANDES MONTAGENS Parte 05 0 Vamos finalizar o tema Trabalho com Grandes Montagens apresentando os melhores recursos e configurações de hardware para otimizar a abertura

Leia mais

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

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

Leia mais

Notas da Aula 17 - Fundamentos de Sistemas Operacionais

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

Leia mais

Manual SAGe Versão 1.2 (a partir da versão 12.08.01)

Manual SAGe Versão 1.2 (a partir da versão 12.08.01) Manual SAGe Versão 1.2 (a partir da versão 12.08.01) Submissão de Relatórios Científicos Sumário Introdução... 2 Elaboração do Relatório Científico... 3 Submissão do Relatório Científico... 14 Operação

Leia mais

1. NÍVEL CONVENCIONAL DE MÁQUINA

1. NÍVEL CONVENCIONAL DE MÁQUINA 1. NÍVEL CONVENCIONAL DE MÁQUINA Relembrando a nossa matéria de Arquitetura de Computadores, a arquitetura de Computadores se divide em vários níveis como já estudamos anteriormente. Ou seja: o Nível 0

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

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

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

Leia mais

Tecnologia PCI express. Introdução. Tecnologia PCI Express

Tecnologia PCI express. Introdução. Tecnologia PCI Express Tecnologia PCI express Introdução O desenvolvimento de computadores cada vez mais rápidos e eficientes é uma necessidade constante. No que se refere ao segmento de computadores pessoais, essa necessidade

Leia mais

MRP II. Planejamento e Controle da Produção 3 professor Muris Lage Junior

MRP II. Planejamento e Controle da Produção 3 professor Muris Lage Junior MRP II Introdução A lógica de cálculo das necessidades é conhecida há muito tempo Porém só pode ser utilizada na prática em situações mais complexas a partir dos anos 60 A partir de meados da década de

Leia mais

Desenvolvendo uma Arquitetura de Componentes Orientada a Serviço SCA

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

Leia mais

UFG - Instituto de Informática

UFG - Instituto de Informática UFG - Instituto de Informática Especialização em Desenvolvimento de Aplicações Web com Interfaces Ricas EJB 3.0 Prof.: Fabrízzio A A M N Soares professor.fabrizzio@gmail.com Aula 4 Aplicações em camadas

Leia mais

Conceitos Básicos de Rede. Um manual para empresas com até 75 computadores

Conceitos Básicos de Rede. Um manual para empresas com até 75 computadores Conceitos Básicos de Rede Um manual para empresas com até 75 computadores 1 Conceitos Básicos de Rede Conceitos Básicos de Rede... 1 A Função de Uma Rede... 1 Introdução às Redes... 2 Mais Conceitos Básicos

Leia mais

Sistemas Operacionais. Prof. André Y. Kusumoto andrekusumoto.unip@gmail.com

Sistemas Operacionais. Prof. André Y. Kusumoto andrekusumoto.unip@gmail.com Sistemas Operacionais Prof. André Y. Kusumoto andrekusumoto.unip@gmail.com Introdução Um sistema operacional é um programa que atua como intermediário entre o usuário e o hardware de um computador. O propósito

Leia mais

Comparativo de desempenho do Pervasive PSQL v11

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

Leia mais

MÓDULO 8 ARQUITETURA DOS SISTEMAS DE BANCO DE DADOS

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

Leia mais

DELEGAÇÃO REGIONAL DO ALENTEJO CENTRO DE FORMAÇÃO PROFISSIONAL DE ÉVORA REFLEXÃO 3

DELEGAÇÃO REGIONAL DO ALENTEJO CENTRO DE FORMAÇÃO PROFISSIONAL DE ÉVORA REFLEXÃO 3 REFLEXÃO 3 Módulos 0771, 0773, 0774 e 0775 1/5 18-02-2013 Esta reflexão tem como objectivo partilhar e dar a conhecer o que aprendi nos módulos 0771 - Conexões de rede, 0773 - Rede local - instalação,

Leia mais

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

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

Leia mais

Varnish-Cache: Velocidade e disponibilidade para aplicações WEB

Varnish-Cache: Velocidade e disponibilidade para aplicações WEB CESUMAR Centro Universitário de Maringá Curso Superior de Tecnologia em Sistemas para Internet PROJETO INTEGRADOR Varnish-Cache: Velocidade e disponibilidade para aplicações WEB Rafael Vaz Pinto Toledo

Leia mais