NeoFW - Um Framework para criação de aplicações em ambientes de Clusters baseado em Software Livre.
|
|
- Luiz Henrique Affonso Tavares
- 8 Há anos
- Visualizações:
Transcrição
1 NeoFW - Um Framework para criação de aplicações em ambientes de Clusters baseado em Software Livre. Edmilson Santana Souza de Almeida, Marcelo Soares Souza, Josemar Rodrigues de Souza, Andre Chagas de Miranda Rebouças. CEBACAD Centro Baiano de Computação de Alto Desempenho Universidade Católica do Salvador (UCSal) Avenida Cardeal da Silva 205, Federação Salvador - BA Brasil {edmilson, marcelo, josemar, Abstract. This article presents a framework for the development of parallel applications, based in message passing paradigm, with the mainly purpose of reduction in the complexity in the development process. NeoFW is conceived under the paradigm of the object orientation and with techniques of Software Engineering in mind, developed in Java and on a free license (GPL), using the open standard Message Passing Interface (MPI). Resumo. Este artigo apresenta um framework para o desenvolvimento de aplicações paralelas, baseado em troca de mensagem, tendo como finalidade a diminuição da complexidade do processo de desenvolvimento destas. NeoFW é um framework, concebido sob o paradigma da orientação a objetos e através de técnicas de Engenharia de Software, desenvolvido em Java e sob licença livre (GPL) que faz uso do padrão aberto Message Passing Interface (MPI). 1. Introdução A necessidade de poder computacional para tarefas que demandam de processamento de grandes e complexas massas de dados tais como previsão meteorológica, problemas de treinamento de redes neurais, seqüenciamento genético e etc. é uma necessidade imediata em centros de pesquisa em todo mundo. Para tanto a construção ou aquisição de computadores de alto desempenho computacional e de baixo custo, através da utilização de Components Off The Self (COTS) e sistemas operacionais livres, já é amplamente estudada e difundida [1]. Muito dos recursos computacionais existentes são sub- utilizados,
2 seja em computadores que são descartados, por suposta defasagem, ou pelos ciclos de processamento perdidos enquanto o recurso computacional está em estado de espera (idle). A fim de aproveitar tais recursos, para a otimização dos recursos computacionais, é possivel recorrer a técnicas de agrupamento de computadores em uma rede local dedicada ou pública tal como a Internet. Através do agrupamento de recursos computacionais obtemos um cluster, que nada mais é do que uma máquina paralela flexível e de baixo custo. Os clusters se tornaram uma alternativa eficaz e eficiente para computadores de alta perfomance tradicionais, de arquitetura fechada e de elevado custo de aquisição, tais como os mainframes e máquinas vetoriais [1]. O principal objetivo das arquiteturas de computadores paralelos é o aumento da capacidade de processamento, fazendo uso do potencial oferecido por um grande número de recursos computacionais agrupados [2]. A utilização de Software Livre é de fundamental importância na construção e desenvolvimento destes sistemas de alta perfomance e de baixo custo, pois além do corte direto de custos com aquisição de licenças estes proporcionam alta qualidade, flexibilidade e eficiência. Para usufruir das vantagens de um computador paralelo é necessário o desenvolvimento de aplicações que contemplem esse paradigma. Nisto reside a maior parte dos esforços na construção de soluções de alta perfomance, pois faz- se necessário o aprendizado de um novo paradigma e de novas tecnologias. Entre os principais problemas encontrados no desenvolvimento de aplicações paralelas podemos destacar: dificuldade no aprendizado de uma nova forma de resolução de problemas (lógica serial vs. paralela), baixa reutilização de código entre as aplicações desenvolvidas e a dificuldade de depuração de dada aplicação em um ambiente distribuído. Este artigo apresenta um framework para o desenvolvimento de aplicações paralelas, sobre o paradigma mestre/trabalhador (MT), em clusters baseados em troca de mensagens. Objetiva- se neste trabalho a criação de uma maneira simples e amigável de desenvolver aplicações paralelas. 2. Clusters de Computadores Os clusters de computadores pessoais, também conhecidos como Clusters Beowulf [1] são um agrupamento homogêneo ou heterogêneo de recursos computacionais, que interligados por uma rede de dados, permitem a compartilhamento de recursos tais como processadores e memória, através da paralelização da execução de suas transações. A idéia de clusters baseado em COTS foi de extrema importância para a computação paralela, possibilitando uma grande flexibilidade e
3 uma excelente relação entre custo e perfomance [1]. Como vantagem imediata dos clusters destaca- se a alta disponibilidade e expansabilidade. Apresentado - se como um agrupamento de recursos independentes, com o espaço de endereçamento de memória distribuido e isolado, tornar - se uma tarefa trivial adicionar ou substituir recursos. Porém, conforme Patterson (2003) aponta, os clusters computacionais geralmente possuem um custo de propriedade maior quando comparado aos computadores multiprocessados de memória compartilhada. O custo de administrar uma única máquina multiprocessada se aproxima do custo da administração de uma única máquina de grande porte, enquanto em um clusters há o custo de administração de n- nós pertecentes a este [3]. 3. Clusters de Computadores e Software Livre O desenvolvimento dos clusters de computadores, baseado em estações de trabalhos, esta intimamemente ligado a softwares sobre licença livre e a padrões abertos. Conforme aponta Merkey, dentre os diversos fatores que possibilitaram a evolução dos clusters de computadores estão a disponibilidade de sistemas operacionais sobre licença livre, como o GNU/Linux e de compiladores do projeto GNU [4]. O modelo de desenvolvimento aberto tem beneficiado o rápido desenvolvimento de ferramentas para a construção de clusters de computadores, como é facilmente observado pelo crescente surgimento de soluções sobre licença livre. Dentre as bibliotecas de troca de mensagens, baseado no padrão aberto MPI, amplamente utilizadas e que estão sobre licença livre destacam - se o MPICH desenvolvido por Gropp, um dos principais precussores dos clusters de computadores [5], LAM/MPI pela Universidade de Indiana, MPI- V por Bosilca [6] entre outros. A partir das experiências com o desenvolvimento de implementações do padrão MPI surgiu o projeto Open- MPI, que integra o esforço de diversos projetos de pesquisa (FT- MPI, LA- MPI, LAM/MPI, e PACX- MPI) em torno de uma única implementação do padrão [7]. 4. Solução proposta: NeoFW Este framework foi construído baseado no paradigma de troca de mensagens, que nesta proposta é implementada na forma da biblioteca padrão MPI 1.1, tendo Java como sua linguagem de desenvolvimento. Na construção do framework NeoFW foram levantadas diversas considerações, tais como a especificação do domínio do problema, assim os usuários deste framework podem saber de antemão o que é possível ou não construir a partir deste.
4 Para o interfaceamento entre o framework e a biblioteca MPI foi utilizado a tecnologia Java Native Interface (JNI), assim permitindo que o NeoFW avance a medida que novas especificações do MPI forem sendo publicadas. Para melhor entendimento a figura 1 ilustra a organização das tecnologias utilizadas e o posicionamento do NeoFW e das aplicações que serão construídas baseadas nele. Figura 1 - Arquitetura da solução Dois pontos chaves foram contemplados no desenvolvimento do NeoFW, a clareza e corretude dos algoritmos. Sendo a clareza a indutora da facilidade de entendimento do código, que será de fundamental importância para a evolução da ferramenta, facilitando o processo de agregação de novas funcionalidades. A corretude objetiva maximizar a reusabilidade de código em estilo caixa preta. A biblioteca MPI, responsável pela troca de mensagens, na terceira camada é referenciado ao JNI. O código da camada JNI é implementado em linguagem C e, é utilizada para realizar chamadas, a partir do framework, nativas às funções do MPI. Na camada do framework foram implementados comportamentos e rotinas genéricas a vários programas, criando as abstrações necessárias para diminuir a complexidades do MPI. A figura 2 apresenta o fluxo de comunicação entre mestre e trabalhadores, No paradigma MT, adotado nesta solução, o mestre age como o coordenador do processamento, provendo instruções e dados para os nós do cluster. Ao trabalhador são passadas operações através de instruções e dados. Após o processamento, por parte dos trabalhadores, os resultados são devolvidos ao mestre que tem como função consolidar o resultado global.
5 Figura 2 - Cluster de arquitetura Mestre etrabalhador no NeoFW A fim de manter a alta disponbilidade do clusters é necessário, a implementação de rotinas para detecção de problemas como por exemplo a falha em um nó, acrescentando ao framework algumas características de tolerância a falha, não presentes no padrão MPI original [6]. O NeoFW implementa parcialmente quais e quando as instruções devem ser executadas em um nó trabalhador, assim as rotinas comuns a todos e a qualquer implementação paralela com troca de mensagens tem sua distribuição automatizada. O fluxo de execução do NeoFW inicia- se com uma chamada da Java Virtual Machine (JVM) a uma classe NeoFWController que é responsável por ajustar o início do processamento. Logo após iniciado o framework faz a chamada ao arquivo binário contendo a implementação da camada adaptadora escrita no padrão JNI, sobre o nome de libneofwmpi. Neste arquivo estão implementadas as rotinas de chamada à biblioteca MPICH que estão encapsulados na classe NeoFWMPI. Após realizadas as rotinas internas do framework este verifica quais são as classes implementadas pelo usuário a serem chamadas. Para utilizar o framework devem ser implementadas duas classes uma para mapear as tarefas do mestre, e outra para mapear as tarefas do trabalhador e seus nomes estão contidos no arquivo NeoFWGlobalConfig.xml, sendo estas instanciadas através de reflexão como tarefas que deverão ser executadas por um processo. Como está fundamentado sobre o paradigma MT faz- se necessário a decomposição do problema em duas partes, processos que executarão a resolução do problema e um processo que o coordenará. Esta função é implentada respectivamente pelas classes abstratas NeoFWTaskWorker e NeoFWTaskMaster que são herdeiras da super- classe NeoFWTask. A solução a ser paralelizada deve ser iniciada pelos métodos run(). A distribuição de dados não pode ser totalmente automatizada na versão inicial do NeoFW, porém esta tarefa é guiada no estudo de caso implementado originalmente, que foi a multiplicação de matrizes. A maneira utilizada para distribuir os dados neste estudo de caso foi a completa replicação dos dados de entrada entre os processos, conforme o trecho de código 1.
6 for (int k = 1; k < = lnumprocessostrabalhadores; k+ +) { getprocesscontext().sendmessage(k, lmata); getprocesscontext().sendmessage(k, lmatb); if (k!= lnumprocessostrabalhadores) { getprocesscontext().sendmessage(k, new Integer(quantOperParaProcess)); else { getprocesscontext().sendmessage(k, new Integer(quantOperUltimoProcess)); Trecho de Código 1 - Código para a distribuição de dados. O processamento específico de cada trabalhador é instruído apontando qual o subconjunto de dados este deverá atuar, conforme o trecho de código 2. int processoatual = 1; for (int i = 0; i < linmatresultante; i++) { for (int j = 0; j < colmatresultante; j++) { if (quantoperprocesso[processoatual] < quantoperparaprocesso) { /* Informa a linha da Matriz A em que deverá atuar. */ getprocesscontext().sendmessage(processoatual, new Integer(i)); /* Informa a coluna da Matriz B em que deverá atuar. */ getprocesscontext().sendmessage(processoatual, new Integer(j)); else { /* o ultimo processador fica com o resto das operacoes. */ if (processoatual < lnumprocessostrabalhadores) { processoatual+ +; /* Informa a linha da Matriz A em que deverá atuar. */ getprocesscontext().sendmessage(processoatual, new Integer(i)); /* Informa a coluna da Matriz B em que deverá atuar. */ getprocesscontext().sendmessage(processoatual, new Integer(j)); quantoperprocesso[processoatual] + +; Trecho de Código 2 - Código para a divisão de instruções. Ao final do processamento dos dados por parte dos trabalhadores é função do mestre a recombinação de resultados. No trecho 3 encontram - se as partes relevantes da rotina de combinação dos dados processados.
7 for (int k = 1; k < = lnumprocessostrabalhadores; k+ +) { matresultado.appen d(getprocesscontext().receivestringmessage(k)).append(";"); / * organiza os dados recebidos em uma estrutura matricial nativa. */ int s = 0; for (int t = 0; t < alinhasresultado; t++) { for (int u = 0; u < acolunasresultado; u+ +) { if (s < mresaux.length) { mres[t][u] = Integer.parseInt(mResAux[s]); s++; Trecho de Código 3 - Rotina de recombinação de dados. Ao termino do processamento o fluxo de troca de mensagens é finalizado e são desalocados os objetos da memória pela JVM. 5. Resultados obtidos Tendo como objetivo diminuir a complexidade no desenvolvimento de aplicações paralelas, o NeoFW vem atingindo suas metas conforme demonstrado na Tabela 1. Requisito Descrição Rotinas de inicialização e finalização do cluster. Parametrização dos dados de entrada. Rotinas de workaround quando for detectada falha em algum nó do cluster. Utilizar abstração para distribuir dados tabulados de acordo com padrões prédefinidos. Polimorfismo no mapeamento das funções MPI_SEND e MPI_RECV. Separação clara do código referente ao mestre do código do trabalhador. As rotinas de inicialização MPI_Init() e MPI_Finalize() são controladas automaticamente pelo NeoFW. Configurações globais em arquivo padrão XML. Rotinas de tratamento de erros são implementados no framekwork. Os dados tabulados poderão ser divididos entre os trabalhadores na forma de linhas, colunas ou blocos. Possibilitar o envio e recebimento direto de tipos de dados encapsulados específicos da linguagem Java. Não será preciso controlar manualmente se um determinado código está sendo executado em um mestre ou em um trabalhador. Desta maneira será facilitada a tarefa de criar códigos específicos para trabalhadores com ranks pré- definidos. Tabela 1 - Lista de Requisitos do NeoFW. Conforme esperado, a separação entre o código dos processos mestre e trabalhadores, permitiu que o desenvolvedor se concentrasse apenas no problema a ser paralelizado, não se preocupado em demasia com diretivas da biblioteca MPI.
8 O uso da linguagem Java permitiu uma maior adequação ao paradigma de Orientação a Objeto, facilitando a construção da documentação através da UML, sendo de fundamental importância para a manutenção e organização do projeto. Cabe destacar que as rotinas de tratamento de erros, fundamentais para a elaboração de técnicas de tolerância a falhas, foram automatizadas de maneira a não necessitar de condições rebuscadas devido ao uso de excessões. Dentre as dificuldades encontradas para o desenvolvimento do framework cabe destacar a ausência de projetos consolidados nesta mesma linha de pesquisa, poucas fontes de conhecimento formal e conclusões ainda degeneradas a respeito da tecnologia Java para aplicações de alto desempen ho. 6. Conclusões O uso de arquiteturas paralelas baseados em estações de trabalho, para o processamento de dados, tem como principal objetivo a otimização de custos pela utilização plena dos recursos computacionais existentes. O Framework NeoFW almeja consolidar- se provendo uma solução eficiente e eficaz para esta questão, sendo um facilitador no processo de desenvolvimento de aplicações paralelas. A solução aqui proposta permite o desenvolvimento de aplicações para arquiteturas de computadores paralelos, dedicados ou não, mais simples e produtivas devido à indução do desenvolvedor à programação orientada a objetos que é uma técnica de implementação bastante difundida. Uma das características mais marcantes deste projeto é a sua forma de licenciamento sob uma licença Livre, esperando com isto que este sirva de base para outros projetos semelhantes. Estando sobre uma base sólida, baseado nas especificações MPI e JNI, para prover um ambiente amigável baseado em programação orientada a objetos 7. Referências [1] Dongarra, Jack, Sterling Thomas, Simon, Horst, Strohmaier, Eric. High- Performance Computing: Clusters, Constellations, MPPs, and Future Directions. Computing in Science and Engineering. pp [2] Sterling, Thomas L. Salmon, John. Becker, Donald J. e Savaresse, Daniel F. How to build a Beowulf: a guide to the implementation and aplication of PC clusters. Massachusetts Institute of Technology [3] J. L. Hennessy; D. A. Patterson. Computer Architecture: A Quantitative Approach. Terceira Edição. Morgan Kaufmann ISBN [4] Merkey, Phil. Beowulf History. Disponível: / w ww.beowulf.org/ overview/ - 13 de Outubro de [5] Gropp, William, Lusk, Ewing, Skjellum, Anthony. A High- Performance, Portable Implementation of the MPI Standard. Disponível:
9 / u nix.mcs.anl.gov/mpi / m pich / pa pers / m picharticle/paper.html - 13 de Outubro de [6] Bosilca, George, Aurelien Bouteiller, Franck Cappello, Samir Djilali, Gilles Fedak, Cecile Germain, Thomas Herault, Pierre Lemarinier, Oleg Lodygensky, Frederic Magniette, Vincent Neri, Anton Selikhov. "MPICH- V: Toward a Scalable Fault Tolerant MPI for Volatile Nodes," sc, p. 29, ACM/IEEE SC 2002 Conference (SC'02), [7] Gabriel, Edgar, Fagg, Graham E., Bosilca, George, Thara Angskun, Jack J. Dongarra, Jeffrey M. Squyres, Vishal Sahay, Prabhanjan Kambadur, Brian Barrett, Andrew Lumsdaine, Ralph H. Castain, David J. Daniel, Richard L. Graham, Timothy S. Woodall, Open MPI: Goals, Concept, and Design of a Next Generation MPI Implementation, Lecture Notes in Computer Science, Vol. 3241, Jan 2004, Page 97.
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 maisBancos 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} 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 maisIntroduçã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 maisUML - Unified Modeling Language
UML - Unified Modeling Language Casos de Uso Marcio E. F. Maia Disciplina: Engenharia de Software Professora: Rossana M. C. Andrade Curso: Ciências da Computação Universidade Federal do Ceará 24 de abril
Leia maisAPLICAÇÕ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 mais4 Estrutura do Sistema Operacional. 4.1 - Kernel
1 4 Estrutura do Sistema Operacional 4.1 - Kernel O kernel é o núcleo do sistema operacional, sendo responsável direto por controlar tudo ao seu redor. Desde os dispositivos usuais, como unidades de disco,
Leia maisUNIVERSIDADE FEDERAL DO PARANÁ UFPR Bacharelado em Ciência da Computação
SOFT DISCIPLINA: Engenharia de Software AULA NÚMERO: 10 DATA: / / PROFESSOR: Andrey APRESENTAÇÃO O objetivo desta aula é apresentar e discutir os conceitos de coesão e acoplamento. DESENVOLVIMENTO Projetar
Leia maisModelagemde Software Orientadaa Objetos com UML
Modelagemde Software Orientadaa Objetos com UML André Maués Brabo Pereira Departamento de Engenharia Civil Universidade Federal Fluminense Colaborando para a disciplina CIV 2802 Sistemas Gráficos para
Leia maisSISTEMAS 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 maisUm Processo para Desenvolvimento de Aplicações Web Baseado em Serviços. Autores: Fábio Zaupa, Itana Gimenes, Don Cowan, Paulo Alencar e Carlos Lucena
Um Processo para Desenvolvimento de Aplicações Web Baseado em Serviços Autores: Fábio Zaupa, Itana Gimenes, Don Cowan, Paulo Alencar e Carlos Lucena Tópicos Motivação e Objetivos LP e SOA Processo ADESE
Leia maisSistemas 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 maisDesenvolvendo 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 maisA consolidação de servidores traz uma séria de vantagens, como por exemplo:
INFRAESTRUTURA Para que as empresas alcancem os seus objetivos de negócio, torna-se cada vez mais preponderante o papel da área de tecnologia da informação (TI). Desempenho e disponibilidade são importantes
Leia maisCAPITULO 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 mais1 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 maisJava. Marcio de Carvalho Victorino www.dominandoti.eng.br
Java Marcio de Carvalho Victorino www.dominandoti.eng.br 3. Considere as instruções Java abaixo: int cont1 = 3; int cont2 = 2; int cont3 = 1; cont1 += cont3++; cont1 -= --cont2; cont3 = cont2++; Após a
Leia maisDesenvolvimento de Sistemas Orientados a Objetos com UML UP/RUP: Projeto
Desenvolvimento de Sistemas Orientados a Objetos com UML UP/RUP: Projeto Engenharia de Software I Informática 2009 Profa. Dra. Itana Gimenes RUP: Artefatos de projeto Modelo de Projeto: Use-Case Realization-projeto
Leia maisSistemas Operacionais
Sistemas Operacionais Aula 3 Software Prof.: Edilberto M. Silva http://www.edilms.eti.br SO - Prof. Edilberto Silva Barramento Sistemas Operacionais Interliga os dispositivos de E/S (I/O), memória principal
Leia maisNa medida em que se cria um produto, o sistema de software, que será usado e mantido, nos aproximamos da engenharia.
1 Introdução aos Sistemas de Informação 2002 Aula 4 - Desenvolvimento de software e seus paradigmas Paradigmas de Desenvolvimento de Software Pode-se considerar 3 tipos de paradigmas que norteiam a atividade
Leia maisPara construção dos modelos físicos, será estudado o modelo Relacional como originalmente proposto por Codd.
Apresentação Este curso tem como objetivo, oferecer uma noção geral sobre a construção de sistemas de banco de dados. Para isto, é necessário estudar modelos para a construção de projetos lógicos de bancos
Leia maisOrientação a Objetos
1. Domínio e Aplicação Orientação a Objetos Um domínio é composto pelas entidades, informações e processos relacionados a um determinado contexto. Uma aplicação pode ser desenvolvida para automatizar ou
Leia maisSemântica para Sharepoint. Busca semântica utilizando ontologias
Semântica para Sharepoint Busca semântica utilizando ontologias Índice 1 Introdução... 2 2 Arquitetura... 3 3 Componentes do Produto... 4 3.1 OntoBroker... 4 3.2 OntoStudio... 4 3.3 SemanticCore para SharePoint...
Leia maisEngenharia de Requisitos Estudo de Caso
Engenharia de Requisitos Estudo de Caso Auxiliadora Freire Fonte: Engenharia de Software 8º Edição / Ian Sommerville 2007 Slide 1 Engenharia de Requisitos Exemplo 1 Reserva de Hotel 1. INTRODUÇÃO Este
Leia maisEAGLE TECNOLOGIA E DESIGN CRIAÇÃO DE SERVIDOR CLONE APCEF/RS
EAGLE TECNOLOGIA E DESIGN CRIAÇÃO DE SERVIDOR CLONE APCEF/RS Relatório Nº 03/2013 Porto Alegre, 22 de Agosto de 2013. ANÁLISE DE SOLUÇÕES: # RAID 1: O que é: RAID-1 é o nível de RAID que implementa o espelhamento
Leia maisEduardo 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 maisSistemas Distribuídos
Sistemas Distribuídos Software em Sistemas Distribuídos Aplicativo ou Sistema Operacional Sincronismo Interação Controles Um sistema operacional moderno provê dois serviços fundamentais para o usuário
Leia maisUNIVERSIDADE FEDERAL DE SANTA CATARINA
UNIVERSIDADE FEDERAL DE SANTA CATARINA CIÊNCIAS DA COMPUTAÇÃO MÁQUINAS DE COMITÊ APLICADAS À FILTRAGEM DE SPAM Monografia submetida à UNIVERSIDADE FEDERAL DE SANTA CATARINA para a obtenção do grau de BACHAREL
Leia maisCAPÍTULO 2 CARACTERÍSTICAS DE E/S E PORTA PARALELA
8 CAPÍTULO 2 CARACTERÍSTICAS DE E/S E PORTA PARALELA A porta paralela, também conhecida por printer port ou Centronics e a porta serial (RS-232) são interfaces bastante comuns que, apesar de estarem praticamente
Leia maisEngenharia de software para desenvolvimento com LabVIEW: Validação
Engenharia de software para desenvolvimento com LabVIEW: Orientação a Objetos, Statechart e Validação André Pereira Engenheiro de Vendas (Grande São Paulo) Alexsander Loula Coordenador Suporte Técnico
Leia maisProf. Marcos Ribeiro Quinet de Andrade Universidade Federal Fluminense - UFF Pólo Universitário de Rio das Ostras - PURO
Conceitos básicos e serviços do Sistema Operacional Prof. Marcos Ribeiro Quinet de Andrade Universidade Federal Fluminense - UFF Pólo Universitário de Rio das Ostras - PURO Tipos de serviço do S.O. O S.O.
Leia maisSistemas Distribuídos
Sistemas Distribuídos Modelo Cliente-Servidor: Introdução aos tipos de servidores e clientes Prof. MSc. Hugo Souza Iniciando o módulo 03 da primeira unidade, iremos abordar sobre o Modelo Cliente-Servidor
Leia maisSistemas Operacionais. Prof. M.Sc. Sérgio Teixeira. Aula 05 Estrutura e arquitetura do SO Parte 2. Cursos de Computação
Cursos de Computação Sistemas Operacionais Prof. M.Sc. Sérgio Teixeira Aula 05 Estrutura e arquitetura do SO Parte 2 Referência: MACHADO, F.B. ; MAIA, L.P. Arquitetura de Sistemas Operacionais. 4.ed. LTC,
Leia maisConsideraçõ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 maisGUIA DE FUNCIONAMENTO DA UNIDADE CURRICULAR
Curso Engenharia Informática Ano letivo 2012-2013 Unidade Curricular Arquitectura de Computadores ECTS 6 Regime Obrigatório Ano 2º Semestre 2ºsem Horas de trabalho globais Docente (s) Luis Figueiredo Total
Leia maisDesenvolvimento de um Cluster de Alto Desempenho com PVM
Desenvolvimento de um Cluster de Alto Desempenho com PVM Daniel Cândido de Oliveira 1, Yzaac Gonçalves da Silva 1, Madianita Bogo 1 1 Centro Universitário Luterano de Palmas Universidade Luterana do Brasil
Leia maisSISTEMAS OPERACIONAIS
SISTEMAS OPERACIONAIS Tópico 4 Estrutura do Sistema Operacional Prof. Rafael Gross prof.rafaelgross@fatec.sp.gov.br FUNÇÕES DO NUCLEO As principais funções do núcleo encontradas na maioria dos sistemas
Leia maisDESENVOLVENDO APLICAÇÃO UTILIZANDO JAVA SERVER FACES
DESENVOLVENDO APLICAÇÃO UTILIZANDO JAVA SERVER FACES Alexandre Egleilton Araújo, Jaime Willian Dias Universidade Paranaense (Unipar) Paranavaí PR Brasil araujo.ale01@gmail.com, jaime@unipar.br Resumo.
Leia maisInstituto Superior de Engenharia do Porto Administração de Sistemas Informáticos I Clusters
Instituto Superior de Engenharia do Porto Administração de Sistemas Informáticos I Clusters Trabalho elaborado por: 980368 - Sérgio Gonçalves Lima 1010949 - Nisha Sudhirkumar Chaganlal Clusters O que é
Leia maisREDE DE COMPUTADORES
REDE DE COMPUTADORES Tipos de classificação das redes de acordo com sua topologia Prof. Airton Ribeiro de Sousa E-mail: airton.ribeiros@gmail.com 1 Ao longo da historia das redes, varias topologias foram
Leia mais3 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 maisBRAlarmExpert. 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 maisMaterial 5 Administração de Recursos de HW e SW. Prof. Edson Ceroni
Material 5 Administração de Recursos de HW e SW Prof. Edson Ceroni Desafios para a Administração Centralização X Descentralização Operação interna x Outsourcing Hardware Hardware de um Computador Armazenamento
Leia maisAnálise e Projeto Orientados por Objetos
Análise e Projeto Orientados por Objetos Aula 02 Análise e Projeto OO Edirlei Soares de Lima Análise A análise modela o problema e consiste das atividades necessárias para entender
Leia maisAnálise e Projeto de Sistemas. Engenharia de Software. Análise e Projeto de Sistemas. Contextualização. Perspectiva Histórica. A Evolução do Software
Análise e Projeto de Sistemas Análise e Projeto de Sistemas Contextualização ENGENHARIA DE SOFTWARE ANÁLISE E PROJETO DE SISTEMAS ENGENHARIA DA INFORMAÇÃO Perspectiva Histórica Engenharia de Software 1940:
Leia maisCurso 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 3 Virtualização de Sistemas 1. Conceito Virtualização pode ser definida
Leia maisOrientação a Objetos
Orientação a Objetos 1. Sobrecarga (Overloading) Os clientes dos bancos costumam consultar periodicamente informações relativas às suas contas. Geralmente, essas informações são obtidas através de extratos.
Leia maisTipos 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 mais4 Um Exemplo de Implementação
4 Um Exemplo de Implementação Neste capítulo será discutida uma implementação baseada na arquitetura proposta. Para tanto, será explicado como a arquitetura proposta se casa com as necessidades da aplicação
Leia maisCapacidade = 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 maisSISTEMAS OPERACIONAIS
SISTEMAS OPERACIONAIS Turma de Redes AULA 06 www.eduardosilvestri.com.br silvestri@eduardosilvestri.com.br Estrutura do Sistema Operacional Introdução É bastante complexo a estrutura de um sistema operacional,
Leia maisNotas 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 maisApesar de existirem diversas implementações de MVC, em linhas gerais, o fluxo funciona geralmente da seguinte forma:
1 Introdução A utilização de frameworks como base para a construção de aplicativos tem sido adotada pelos desenvolvedores com três objetivos básicos. Primeiramente para adotar um padrão de projeto que
Leia maisArquiteturas RISC. (Reduced Instructions Set Computers)
Arquiteturas RISC (Reduced Instructions Set Computers) 1 INOVAÇÕES DESDE O SURGIMENTO DO COMPU- TADOR DE PROGRAMA ARMAZENADO (1950)! O conceito de família: desacoplamento da arquitetura de uma máquina
Leia maisComputação de Alta Perfomance com Software Livre (Clusters)
Computação de Alta Perfomance com Software Livre (Clusters) 3º Seminário de Tecnologia da Informação UCSal Marcelo Soares Souza (marcelo@cebacad.net) CEBACAD Centro Baiano de Computação de alto Desempenho
Leia maisSISTEMAS 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 maisArquitetura de Sistemas Operacionais Machado/Maia. Arquitetura de Sistemas
Arquitetura de Sistemas Operacionais Capítulo 4 Estrutura do Sistema Operacional Cap. 4 Estrutura do Sistema 1 Sistemas Operacionais Pitágoras Fadom Divinópolis Material Utilizado na disciplina Sistemas
Leia maisAUTOR: 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 maisProf. Marcelo Henrique dos Santos
ORIENTAÇÃO A OBJETOS COM PROTOTIPAÇÃO CAPÍTULO 02 CONCEITOS FUNDAMENTAIS OBJETIVOS Definiremos alguns conceitos fundamentais de forma a não deixar dúvidas básicas ou interpretações que nos coloquem em
Leia maishttp://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 maisProjeto Disciplinar de Infra-Estrutura de Software SISPA FACULDADE SENAC
1 Projeto Disciplinar de Infra-Estrutura de Software SISPA FACULDADE SENAC Edilberto Silva 1, André Luiz (1012545), Andreia Pereira da Silva (1012547) Carlos Alberto (1012206), Humberto César de Carvalho
Leia maisArquitetura de Rede de Computadores
TCP/IP Roteamento Arquitetura de Rede de Prof. Pedro Neto Aracaju Sergipe - 2011 Ementa da Disciplina 4. Roteamento i. Máscara de Rede ii. Sub-Redes iii. Números Binários e Máscara de Sub-Rede iv. O Roteador
Leia maisPrática da Disciplina de Sistemas Distribuídos Serviços Web IFMA DAI Professor Mauro Lopes C. Silva
1. O que são Serviços Web (Web Services)? Prática da Disciplina de Sistemas Distribuídos Serviços Web IFMA DAI Professor Mauro Lopes C. Silva A ideia central dos Web Services parte da antiga necessidade
Leia maisIW10. Rev.: 02. Especificações Técnicas
IW10 Rev.: 02 Especificações Técnicas Sumário 1. INTRODUÇÃO... 1 2. COMPOSIÇÃO DO IW10... 2 2.1 Placa Principal... 2 2.2 Módulos de Sensores... 5 3. APLICAÇÕES... 6 3.1 Monitoramento Local... 7 3.2 Monitoramento
Leia maisSistemas 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 maisPROCESSO DE DESENVOLVIMENTO DE SOFTWARE. Modelos de Processo de Desenvolvimento de Software
PROCESSO DE DESENVOLVIMENTO DE SOFTWARE Introdução Modelos de Processo de Desenvolvimento de Software Os modelos de processos de desenvolvimento de software surgiram pela necessidade de dar resposta às
Leia mais11/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 maisSISTEMAS 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 maisFigura 1 - Arquitetura multi-camadas do SIE
Um estudo sobre os aspectos de desenvolvimento e distribuição do SIE Fernando Pires Barbosa¹, Equipe Técnica do SIE¹ ¹Centro de Processamento de Dados, Universidade Federal de Santa Maria fernando.barbosa@cpd.ufsm.br
Leia maisPadrões de projeto 1
Padrões de projeto 1 Design Orientado Objeto Encapsulamento Herança Polimorfismo Design Patterns 2 Responsabilidades Booch e Rumbaugh Responsabilidade é um contrato ou obrigação de um tipo ou classe. Dois
Leia maisCluster 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 maisUNIDADE 4. Introdução à Metodologia de Desenvolvimento de Sistemas
UNIDADE 4. Introdução à Metodologia de Desenvolvimento de Sistemas 4.1 Motivação Sistemas de Informação são usados em diversos níveis dentro de uma organização, apoiando a tomada de decisão; Precisam estar
Leia maisGabriel Oliveira do Nascimento Rogério Libarino Aguilar. UFF - Universidade Federal Fluminense
Gabriel Oliveira do Nascimento Rogério Libarino Aguilar 1 Introdução Mododelo: Hardware -> Sistema Operacional -> Aplicações Aplicação desenvolvida para um SO. Capacidade de processamento aumentando bastante
Leia maisUML 01. Curso Superior de Tecnologia em Banco de Dados Disciplina: Projeto de Banco de Dados Relacional 1 Prof.: Fernando Hadad Zaidan
Faculdade INED UML 01 Curso Superior de Tecnologia em Banco de Dados Disciplina: Projeto de Banco de Dados Relacional 1 Prof.: Fernando Hadad Zaidan Referências BARBIERI, Carlos. Análise e Programação
Leia maisIMPLEMENTAÇÃ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 maisCurso 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 maisSistemas 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 maisGerenciamento de Incidentes
Gerenciamento de Incidentes Os usuários do negócio ou os usuários finais solicitam os serviços de Tecnologia da Informação para melhorar a eficiência dos seus próprios processos de negócio, de forma que
Leia maisWindows NT 4.0. Centro de Computação
Windows NT 4.0 Centro de Computação Tópicos Introdução Instalação Configuração Organização da rede Administração Usuários Servidores Domínios Segurança Tópicos È O sistema operacional Windows NT È Características:
Leia maisAgora todas as Unimeds vão falar uma só língua. Unimed do Brasil Federação São Paulo Portal Unimed
Agora todas as Unimeds vão falar uma só língua. Unimed do Brasil Federação São Paulo Portal Unimed Folheto perguntas e respostas (15X15)cm.indd 1 9/25/08 4:38:13 PM E as primeiras palavras são inovação,
Leia maisPrevayler. Perola. André Luís Sales de Moraes Juliana Keiko Yamaguchi Tatiana Yuka Takaki
Prevayler Perola André Luís Sales de Moraes Juliana Keiko Yamaguchi Tatiana Yuka Takaki Prevayler Prevayler é a implementação em Java do conceito de Prevalência. É um framework que prega uma JVM invulnerável
Leia maisVirtualização de Sistemas Operacionais
Virtualização de Sistemas Operacionais Felipe Antonio de Sousa 1, Júlio César Pereira 1 1 Universidade Paranaense (Unipar) Paranavaí PR Brasil felipeantoniodesousa@gmail.com, juliocesarp@unipar.br Resumo.
Leia maisCURSO DE PROGRAMAÇÃO EM JAVA
CURSO DE PROGRAMAÇÃO EM JAVA Introdução para Iniciantes Prof. M.Sc. Daniel Calife Índice 1 - A programação e a Linguagem Java. 1.1 1.2 1.3 1.4 Linguagens de Programação Java JDK IDE 2 - Criando o primeiro
Leia maisUNIVERSIDADE FEDERAL DE SANTA MARIA CENTRO DE TECNOLOGIA AULA 14 PROFª BRUNO CALEGARO
UNIVERSIDADE FEDERAL DE SANTA MARIA CENTRO DE TECNOLOGIA AULA 14 PROFª BRUNO CALEGARO Santa Maria, 01 de Novembro de 2013. Revisão aula passada Projeto de Arquitetura Decisões de projeto de Arquitetura
Leia maisAprenda as melhores práticas para construir um completo sistema de teste automatizado
Aprenda as melhores práticas para construir um completo sistema de teste automatizado Renan Azevedo Engenheiro de Produto de Teste e Medição -Américas Aprenda as melhores práticas para construir um completo
Leia maisProcessos 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 maisResumo. 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 maisGerenciamento de Problemas
Gerenciamento de Problemas O processo de Gerenciamento de Problemas se concentra em encontrar os erros conhecidos da infra-estrutura de TI. Tudo que é realizado neste processo está voltado a: Encontrar
Leia mais10 DICAS DE TECNOLOGIA PARA AUMENTAR SUA PRODUTIVIDADE NO TRABALHO
10 DICAS DE TECNOLOGIA PARA AUMENTAR SUA PRODUTIVIDADE NO TRABALHO UMA DAS GRANDES FUNÇÕES DA TECNOLOGIA É A DE FACILITAR A VIDA DO HOMEM, SEJA NA VIDA PESSOAL OU CORPORATIVA. ATRAVÉS DELA, ELE CONSEGUE
Leia maisProfº. Enrique Pimentel Leite de Oliveira
Profº. Enrique Pimentel Leite de Oliveira O termo orientação a objetos significa organizar o mundo real como uma coleção de objetos que incorporam estrutura de dados e um conjunto de operações que manipulam
Leia maisSISTEMAS 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 maisDesenvolvimento de aplicação web com framework JavaServer Faces e Hibernate
Desenvolvimento de aplicação web com framework JavaServer Faces e Hibernate Tiago Peres Souza 1, Jaime Willian Dias 1,2 ¹Universidade paranaense (Unipar) Paranavaí PR Brasil tiagop_ti@hotmail.com 2 Universidade
Leia maisMÓ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 maisProjeto de Sistemas Distribuídos. Prof. Andrêza Leite andreza.lba@gmail.com
Projeto de Sistemas Distribuídos Prof. Andrêza Leite andreza.lba@gmail.com Agenda Introdução Exemplos de Sistemas Distribuídos Compartilhamento de Recursos e a Web Principais Desafios para a Implementação
Leia maisArquitecturas de Software Licenciatura em Engenharia Informática e de Computadores
UNIVERSIDADE TÉCNICA DE LISBOA INSTITUTO SUPERIOR TÉCNICO Arquitecturas de Software Licenciatura em Engenharia Informática e de Computadores Primeiro Teste 21 de Outubro de 2006, 9:00H 10:30H Nome: Número:
Leia maisEngenharia de Software I
Engenharia de Software I Curso de Desenvolvimento de Software Prof. Alessandro J de Souza ajdsouza@cefetrn.br 1 Rational Unified Process RUP Fase Construção 2 VISÃO GERAL Fase Construção. Visão Geral 3
Leia maisSistemas Distribuídos Arquitetura de Sistemas Distribuídos I. Prof. MSc. Hugo Souza
Sistemas Distribuídos Arquitetura de Sistemas Distribuídos I Prof. MSc. Hugo Souza Como já vimos, os sistemas distribuídos são apresentados considerando um planejamento bem mais complexo relacionado aos
Leia mais