NeoFW - Um Framework para criação de aplicações em ambientes de Clusters baseado em Software Livre.

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

Download "NeoFW - Um Framework para criação de aplicações em ambientes de Clusters baseado em Software Livre."

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.

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

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

Leia mais

Computação de Alta Perfomance com Software Livre (Clusters)

Computaçã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 mais

Desenvolvimento de um Cluster de Alto Desempenho com PVM

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

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

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

Leia mais

Cluster HPC High Performance Computing.

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

Leia mais

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

Introdução a Computação Paralela e a Montagem de Clusters.

Introdução a Computação Paralela e a Montagem de Clusters. Introdução a Computação Paralela e a Montagem de Clusters. Marcelo Souza (marcelo@cebacad.net) Granduando em Sistema da Informação CEBACAD Centro Baiano de Computação de alto Desempenho Introdução a Computação

Leia mais

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

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

Leia mais

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

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

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

Leia mais

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 3 Virtualização de Sistemas 1. Conceito Virtualização pode ser definida

Leia mais

ARQUITETURA DE SISTEMAS. Cleviton Monteiro (cleviton@gmail.com)

ARQUITETURA DE SISTEMAS. Cleviton Monteiro (cleviton@gmail.com) ARQUITETURA DE SISTEMAS Cleviton Monteiro (cleviton@gmail.com) Roteiro Definição Documento de arquitetura Modelos de representação da arquitetura Estilos arquiteturais Arquitetura de sistemas web Arquitetura

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

CLOUD COMPUTING: COMPARANDO COMO O MUNDO ONLINE PODE SUBSTITUIR OS SERVIÇOS TRADICIONAIS

CLOUD COMPUTING: COMPARANDO COMO O MUNDO ONLINE PODE SUBSTITUIR OS SERVIÇOS TRADICIONAIS CLOUD COMPUTING: COMPARANDO COMO O MUNDO ONLINE PODE SUBSTITUIR OS SERVIÇOS TRADICIONAIS João Antônio Bezerra Rodrigues¹, Claudete Werner¹, Gabriel Costa Silva² ¹Universidade Paranaense (Unipar) Paranavaí

Leia mais

4 Estrutura do Sistema Operacional. 4.1 - Kernel

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

Desenvolvimento de Sistemas Orientados a Objetos com UML UP/RUP: Projeto

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

Sistemas Operacionais Carlos Eduardo Portela Serra de Castro

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

Leia mais

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

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

Leia mais

SISTEMA GERENCIAL TRATORPLAN

SISTEMA GERENCIAL TRATORPLAN SISTEMA GERENCIAL TRATORPLAN SIGET Fabrício Pereira Santana¹, Jaime William Dias¹, ², Ricardo de Melo Germano¹ ¹Universidade Paranaense (Unipar) Paranavaí PR Brasil fabricioblack@gmail.com germano@unipar.br

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

ATIVIDADE 1 MÁQUINAS VIRTUAIS. 1.1 Arquiteturas não virtualizadas

ATIVIDADE 1 MÁQUINAS VIRTUAIS. 1.1 Arquiteturas não virtualizadas ATIVIDADE 1 MÁQUINAS VIRTUAIS Existem hoje diversas tecnologias e produtos para virtualização de computadores e ambientes de execução, o que pode gerar uma certa confusão de conceitos. Apesar disso, cada

Leia mais

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

Arquitetura de Sistemas Operacionais Machado/Maia. Arquitetura de Sistemas

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

Java. Marcio de Carvalho Victorino www.dominandoti.eng.br

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

Um Modelo Computacional Tolerante a Falhas para Aplicações Paralelas Utilizando MPI

Um Modelo Computacional Tolerante a Falhas para Aplicações Paralelas Utilizando MPI Um Modelo Computacional Tolerante a Falhas para Aplicações Paralelas Utilizando MPI Oberdan R. Pinheiro 1, Josemar R. de Souza 1,2 1 Centro Integrado de Manufatura e Tecnologia (SENAI-CIMATEC) Salvador,

Leia mais

Sistemas Operacionais

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

Leia mais

SISTEMAS OPERACIONAIS. Apostila 03 Estrutura do Sistema Operacional UNIBAN

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

Leia mais

Parte da Tarefa. Parte da Tarefa. Parte da Tarefa SEND RECEIVE SEND RECEIVE

Parte da Tarefa. Parte da Tarefa. Parte da Tarefa SEND RECEIVE SEND RECEIVE Produto Escalar com MPI-2 (C++) Aula Sistemas Distribuídos Prof. Dr. Marcelo Facio Palin profpalin@gmail.com 1 1 O que é Paralelismo? Conceitos Paralelismo é uma técnica usada em tarefas grandes e complexas

Leia mais

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

APLICAÇÕES EM SISTEMAS DISTRIBUÍDOS Prof. Ricardo Rodrigues Barcelar http://www.ricardobarcelar.com - Aula 4 - CLUSTER DE COMPUTADORES 1. INTRODUÇÃO Grande parte do tempo, os computadores que utilizamos encontram-se ociosos, ou seja, sem nada para processar. Isso se deve, em grande parte, pelas aplicações

Leia mais

libcomuna Um framework para o desenvolvimento de aplicações paralelas tolerante a falhas baseado em troca de mensagem.

libcomuna Um framework para o desenvolvimento de aplicações paralelas tolerante a falhas baseado em troca de mensagem. libcomuna Um framework para o desenvolvimento de aplicações paralelas tolerante a falhas baseado em troca de mensagem. Marco Yudi de C. Hirata, Marcelo Soares Souza, Anderson F. V. Boa Morte, Saulo Andrade,

Leia mais

Aplicações. Sistema Operacional Hardware. Os sistemas de computadores são projetados com basicamente 3 componentes: Máquinas Virtuais e Emuladores

Aplicações. Sistema Operacional Hardware. Os sistemas de computadores são projetados com basicamente 3 componentes: Máquinas Virtuais e Emuladores Máquinas Virtuais e Emuladores Marcos Aurelio Pchek Laureano Sistemas de Computadores Os sistemas de computadores são projetados com basicamente 3 componentes: hardware sistema operacional aplicações Sistemas

Leia mais

Arquitetura e Organização de Computadores

Arquitetura e Organização de Computadores Arquitetura e Organização de Computadores Fernando Fonseca Ramos Faculdade de Ciência e Tecnologia de Montes Claros Fundação Educacional Montes Claros 1 Metodologia da Disciplina 1-Objetivo 2-Competências

Leia mais

Pós Graduação Engenharia de Software

Pós Graduação Engenharia de Software Pós Graduação Engenharia de Software Ana Candida Natali COPPE/UFRJ Programa de Engenharia de Sistemas e Computação FAPEC / FAT Estrutura do Módulo Parte 1 QUALIDADE DE SOFTWARE PROCESSO Introdução: desenvolvimento

Leia mais

Bibliografia. Desenvolvimento Orientado a Objetos. Introdução. Bibliografia. O que você vê?

Bibliografia. Desenvolvimento Orientado a Objetos. Introdução. Bibliografia. O que você vê? Bibliografia Desenvolvimento Orientado a Objetos Prof.: Edson dos Santos Cordeiro LARMAN, Graig. Utilizando UML e padrões. Porto Alegre: Bookman, 2000. STAA, Arndt von. Programação modular. Rio de Janeiro:

Leia mais

REVISÃO ENGENHARIA DO SOFTWARE. Isac Aguiar isacaguiar.com.br isacaguiar@gmail.com

REVISÃO ENGENHARIA DO SOFTWARE. Isac Aguiar isacaguiar.com.br isacaguiar@gmail.com REVISÃO ENGENHARIA DO SOFTWARE Isac Aguiar isacaguiar.com.br isacaguiar@gmail.com Software Sequencia de Instruções a serem seguidas ou executadas Dados e rotinas desenvolvidos por computadores Programas

Leia mais

Softwares de Sistemas e de Aplicação

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

Leia mais

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

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

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

Leia mais

1/26/2009. Baseadas em http://www.voelter.de/services/mdsdtutorial.html. Experiência pessoal/profissional/acadêmica

1/26/2009. Baseadas em http://www.voelter.de/services/mdsdtutorial.html. Experiência pessoal/profissional/acadêmica Baseadas em http://www.voelter.de/services/mdsdtutorial.html Experiência pessoal/profissional/acadêmica 1 Metamodelo UML Meu Metamodelo Meu processo de negócios Meu processo de negócios Stereotypes Perfis

Leia mais

Modelagemde Software Orientadaa Objetos com UML

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

Programação Orientada a Objetos

Programação Orientada a Objetos Programação Orientada a Objetos Universidade Católica de Pernambuco Ciência da Computação Prof. Márcio Bueno poonoite@marciobueno.com Fonte: Material da Profª Karina Oliveira Introdução ao Paradigma OO

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

Apresentação do Artigo

Apresentação do Artigo Apresentação do Artigo Web Search for a Planet: The Google Cluster Architecture Publicado em IEEE Micro Março 2003, pg.22-28 Luiz A.Barroso, Jeffrey Dean, Urs Hölze Frank Juergen Knaesel fknaesel@inf.ufsc.br

Leia mais

Análise e Projeto Orientados por Objetos

Aná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 mais

Engenharia de software para desenvolvimento com LabVIEW: Validação

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

Programação de Computadores

Programação de Computadores Programação de Computadores INTRODUÇÃO AOS ALGORITMOS E À PROGRAMAÇÃO DE COMPUTADORES PARTE 1 Renato Dourado Maia Instituto de Ciências Agrárias Universidade Federal de Minas Gerais Programas e Programação

Leia mais

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

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

Leia mais

Sistemas Distribuídos

Sistemas Distribuídos Sistemas Distribuídos Software em Sistemas Distribuídos Aplicativo ou Sistema Operacional Sincronismo Interação Controles Um sistema operacional moderno provê dois serviços fundamentais para o usuário

Leia mais

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

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

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

Leia mais

UNIVERSIDADE FEDERAL DO PARANÁ UFPR Bacharelado em Ciência da Computação

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

Ferramenta para Geração de Código a partir da Especialização do Diagrama de Classes

Ferramenta para Geração de Código a partir da Especialização do Diagrama de Classes Ferramenta para Geração de Código a partir da Especialização do Diagrama de Classes Alexandro Deschamps (Ápice) alexandro@apicesoft.com Everaldo Artur Grahl (FURB/DSC) egrahl@furb.br Resumo. Uma das grandes

Leia mais

hvbacellar@gmail.com Palavras-chave Cluster; Beowulf; OpenMosix; MPI; PVM.

hvbacellar@gmail.com Palavras-chave Cluster; Beowulf; OpenMosix; MPI; PVM. Cluster: Computação de Alto Desempenho Hilário Viana Bacellar Instituto de Computação, Universidade Estadual de Campinas Av. Albert Einstein 1251, Cidade Universitária, CEP 13083-970 Campinas, SP, Brasil

Leia mais

CAPITULO 4 A ARQUITETURA LÓGICA PARA O AMBIENTE

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

Leia mais

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 5 Servidores de Aplicação

Leia mais

Um Arcabouço open source em Python para DBC com

Um Arcabouço open source em Python para DBC com Um Arcabouço open source em Python para DBC com Suporte à Evolução Dinâmica não Antecipada Yguaratã C. Cavacanti 1, Hyggo Oliveira de Almeida 1, Evandro Costa 2 1 Instituto de Computação Universidade Federal

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

Prof. Vitório Bruno Mazzola INE/CTC/UFSC 1. INTRODUÇÃO

Prof. Vitório Bruno Mazzola INE/CTC/UFSC 1. INTRODUÇÃO Capítulo 6 ENGENHARIA DE SOFTWARE CONCEITOS BÁSICOS Prof. Vitório Bruno Mazzola INE/CTC/UFSC 1. INTRODUÇÃO Nos anos 40, quando se iniciou a evolução dos sistemas computadorizados, grande parte dos esforços,

Leia mais

Windows NT 4.0. Centro de Computação

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

Leia mais

Frameworks. Pasteur Ottoni de Miranda Junior

Frameworks. Pasteur Ottoni de Miranda Junior Frameworks Pasteur Ottoni de Miranda Junior 1-Definição Apesar do avanço das técnicas de desenvolvimento de software, a construção de software ainda é um processo extremamente complexo.a reutilização tem

Leia mais

Análise de Desempenho de um SGBD para Aglomerado de Computadores

Análise de Desempenho de um SGBD para Aglomerado de Computadores Análise de Desempenho de um SGBD para Aglomerado de Computadores Diego Luís Kreutz, Gabriela Jacques da Silva, Hélio Antônio Miranda da Silva, João Carlos Damasceno Lima Curso de Ciência da Computação

Leia mais

UMA ABORDAGEM COMPARATIVA ENTRE AS LINGUAGENS DE PROGRAMAÇÃO JAVA E C#

UMA ABORDAGEM COMPARATIVA ENTRE AS LINGUAGENS DE PROGRAMAÇÃO JAVA E C# UMA ABORDAGEM COMPARATIVA ENTRE AS LINGUAGENS DE PROGRAMAÇÃO JAVA E C# Robson Bartelli¹, Wyllian Fressatti¹. ¹Universidade Paranaense (Unipar) Paranavaí PR Brasil robson_lpbartelli@yahoo.com.br,wyllian@unipar.br

Leia mais

Introdução às arquiteturas paralelas e taxonomia de Flynn

Introdução às arquiteturas paralelas e taxonomia de Flynn Introdução às arquiteturas paralelas e taxonomia de Flynn OBJETIVO: definir computação paralela; o modelo de computação paralela desempenhada por computadores paralelos; e exemplos de uso da arquitetura

Leia mais

PROGRAMA DE DISCIPLINA

PROGRAMA DE DISCIPLINA PROGRAMA DE DISCIPLINA Disciplina: Introdução à Programação Carga horária total: 60 Carga horária teórica: 0 Carga horária prática: 60 Código da Disciplina: CCMP0041 Período de oferta: 2010.2 Turma: CA

Leia mais

7 Processamento Paralelo

7 Processamento Paralelo 7 Processamento Paralelo Yes, of course, who has time? Who has time? But then if we do not ever take time, how can we ever have time? (The Matrix) 7.1 Introdução Classificação de Sistemas Paralelos Diversas

Leia mais

LCAD. ALGORÍTMOS PARALELOS (Aula 6) Neyval C. Reis Jr. OUTUBRO/2004. Laboratório de Computação de Alto Desempenho DI/UFES.

LCAD. ALGORÍTMOS PARALELOS (Aula 6) Neyval C. Reis Jr. OUTUBRO/2004. Laboratório de Computação de Alto Desempenho DI/UFES. ALGORÍTMOS PARALELOS (Aula 6) Neyval C. Reis Jr. OUTUBRO/2004 LCAD Laboratório de Computação de Alto Desempenho DI/UFES Tópico 20 janeiro 27 janeiro 3 fev 10 fev 17 fev 24 fev 3 março Paradigma de Paralelismo

Leia mais

DESENVOLVIMENTO WEB UTILIZANDO FRAMEWORK PRIMEFACES E OUTRAS TECNOLOGIAS ATUAIS

DESENVOLVIMENTO WEB UTILIZANDO FRAMEWORK PRIMEFACES E OUTRAS TECNOLOGIAS ATUAIS DESENVOLVIMENTO WEB UTILIZANDO FRAMEWORK PRIMEFACES E OUTRAS TECNOLOGIAS ATUAIS Emanuel M. Godoy 1, Ricardo Ribeiro Rufino 1 1 Universidade Paranaense (Unipar) Paranavaí PR Brasil godoymanel@gmail.com,

Leia mais

SISTEMAS DISTRIBUÍDOS

SISTEMAS DISTRIBUÍDOS SISTEMAS DISTRIBUÍDOS 1. Histórico Primeiros computadores Computadores dos anos 50 e 60 Primeiros computadores com sistemas operacionais Surgimento das redes de computadores Nos anos 70 início das pesquisas

Leia mais

Gabriel Oliveira do Nascimento Rogério Libarino Aguilar. UFF - Universidade Federal Fluminense

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

Características Básicas de Sistemas Distribuídos

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

Leia mais

Para construção dos modelos físicos, será estudado o modelo Relacional como originalmente proposto por Codd.

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

Influência da comunicação no rendimento de uma renderização de imagem utilizando uma máquina paralela virtual baseada em redes ATM e Ethernet

Influência da comunicação no rendimento de uma renderização de imagem utilizando uma máquina paralela virtual baseada em redes ATM e Ethernet Influência da comunicação no rendimento de uma renderização de imagem utilizando uma máquina paralela virtual baseada em redes ATM e Ethernet Marcelo Souza, Josemar Souza. (marcelo@cebacad.net, josemar@cebacad.net

Leia mais

FERRAMENTA PARA CONSTRUÇÃO DE INTERFACES DE SOFTWARE A PARTIR DE DIAGRAMA DE CLASSES

FERRAMENTA PARA CONSTRUÇÃO DE INTERFACES DE SOFTWARE A PARTIR DE DIAGRAMA DE CLASSES FERRAMENTA PARA CONSTRUÇÃO DE INTERFACES DE SOFTWARE A PARTIR DE DIAGRAMA DE CLASSES Aluno: André Luis Becker Orientador: Prof. Everaldo Artur Grahl. Mestre Orientador, FURB Roteiro da Apresentação Introdução;

Leia mais

Desenvolvimento para Sistemas Embarcados (CEA 513) Conceitos Gerais

Desenvolvimento para Sistemas Embarcados (CEA 513) Conceitos Gerais Universidade Federal de Ouro Preto Departamento de Computação e Sistemas - DECSI Desenvolvimento para Sistemas Embarcados (CEA 513) Conceitos Gerais Vicente Amorim vicente.amorim.ufop@gmail.com Sumário

Leia mais

SISTEMAS DISTRIBUIDOS. Prof. Marcelo de Sá Barbosa

SISTEMAS DISTRIBUIDOS. Prof. Marcelo de Sá Barbosa Prof. Marcelo de Sá Barbosa CLUSTER: Um cluster é um conjunto de computadores independentes conectados por rede que formam um sistema único através do uso de software. Um cluster, ou aglomerado de computadores,

Leia mais

Figura 1 - Arquitetura multi-camadas do SIE

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

SISTEMAS OPERACIONAIS. Maquinas Virtuais e Emuladores

SISTEMAS OPERACIONAIS. Maquinas Virtuais e Emuladores SISTEMAS OPERACIONAIS Maquinas Virtuais e Emuladores Plano de Aula Máquinas virtuais Emuladores Propriedades Benefícios Futuro Sistemas de Computadores Os sistemas de computadores são projetados com basicamente

Leia mais

Um Visualizador de Carga de Rede para um Cluster que utiliza a biblioteca MPI

Um Visualizador de Carga de Rede para um Cluster que utiliza a biblioteca MPI Universidade Federal do Espírito Santo Centro Tecnológico Curso de Ciência da Computação Projeto de Graduação Um Visualizador de Carga de Rede para um Cluster que utiliza a biblioteca MPI Ricardo de Magalhães

Leia mais

ENGENHARIAS E TECNOLOGIAS - Computação e Informática ESTUDO DE APLICABILIDADE DE SISTEMAS FRACAMENTE ACOPLADOS UTILIZANDO HARDWARE DE BAIXO CUSTO

ENGENHARIAS E TECNOLOGIAS - Computação e Informática ESTUDO DE APLICABILIDADE DE SISTEMAS FRACAMENTE ACOPLADOS UTILIZANDO HARDWARE DE BAIXO CUSTO ENGENHARIAS E TECNOLOGIAS - Computação e Informática ESTUDO DE APLICABILIDADE DE SISTEMAS FRACAMENTE ACOPLADOS UTILIZANDO HARDWARE DE BAIXO CUSTO Autor: HILÁRIO VIANA BACELLAR Co-autor: Matheus de Paula

Leia mais

Table 1. Dados do trabalho

Table 1. Dados do trabalho Título: Desenvolvimento de geradores de aplicação configuráveis por linguagens de padrões Aluno: Edison Kicho Shimabukuro Junior Orientador: Prof. Dr. Paulo Cesar Masiero Co-Orientadora: Prof a. Dr. Rosana

Leia mais

Aná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. 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 mais

Arquitetura de Computadores. Introdução aos Sistemas Operacionais

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

Leia mais

MAPEAMENTO OBJETO RELACIONAL: UM ESTUDO DE CASO

MAPEAMENTO OBJETO RELACIONAL: UM ESTUDO DE CASO MAPEAMENTO OBJETO RELACIONAL: UM ESTUDO DE CASO UTILIZANDO O HIBERNATE Rafael Laurino GUERRA, Dra. Luciana Aparecida Martinez ZAINA Faculdade de Tecnologia de Indaiatuba FATEC-ID 1 RESUMO Este artigo apresenta

Leia mais

TESTE DE SOFTWARE COM XP. Isac Aguiar isacaguiar.com.br isacaguiar@gmail.com

TESTE DE SOFTWARE COM XP. Isac Aguiar isacaguiar.com.br isacaguiar@gmail.com TESTE DE SOFTWARE COM XP Isac Aguiar isacaguiar.com.br isacaguiar@gmail.com Contexto Inúmeros processos de software Evolução das formas/metodologias de desenvolvimento de software Dificuldades encontradas

Leia mais

Sistemas distribuídos:comunicação

Sistemas distribuídos:comunicação M. G. Santos marcela@estacio.edu.br Faculdade Câmara Cascudo - Estácio de Sá 16 de abril de 2010 Formas de comunicação Produtor-consumidor: comunicação uni-direccional, com o produtor entregando ao consumidor.

Leia mais

Arquitetura de Sistemas Distribuídos. Introdução a Sistemas Distribuídos

Arquitetura de Sistemas Distribuídos. Introdução a Sistemas Distribuídos Introdução a Sistemas Distribuídos Definição: "Um sistema distribuído é uma coleção de computadores autônomos conectados por uma rede e equipados com um sistema de software distribuído." "Um sistema distribuído

Leia mais

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

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

Leia mais

Tolerância a Falhas em Clusters Geograficamente Distribuídos Baseados em Passagem de Messagens.

Tolerância a Falhas em Clusters Geograficamente Distribuídos Baseados em Passagem de Messagens. Tolerância a Falhas em Clusters Geograficamente Distribuídos Baseados em Passagem de Messagens. Marcelo Soares Souza, Josemar R. de Souza, Anderson, F. V. Boa Morte,, Marco Yudi de C. Hirata CEBACAD Centro

Leia mais

Sistemas Operacionais. Prof. M.Sc. Sérgio Teixeira. Aula 05 Estrutura e arquitetura do SO Parte 2. Cursos de Computação

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

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

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

Leia mais

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

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

Leia mais

UML - Unified Modeling Language

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

Padrões Arquiteturais e de Integração - Parte 1

Padrões Arquiteturais e de Integração - Parte 1 1 / 58 - Parte 1 Erick Nilsen Pereira de Souza T017 - Arquitetura e Design de Aplicações Análise e Desenvolvimento de Sistemas Universidade de Fortaleza - UNIFOR 11 de fevereiro de 2015 2 / 58 Agenda Tópicos

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

Prof. Marcos Ribeiro Quinet de Andrade Universidade Federal Fluminense - UFF Pólo Universitário de Rio das Ostras - PURO

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

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

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

Orientação a Objetos

Orientaçã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 mais

11 Conclusão. 11.1 Descobertas

11 Conclusão. 11.1 Descobertas 97 11 Conclusão 11.1 Descobertas Nesse trabalho apresentamos o McCloud Service Framework, um arcabouço para implementação de serviços baseados na Simulação de Monte Carlo na nuvem, disponibilizamos duas

Leia mais