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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

} 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

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

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

slide 0 Algoritmos Paralelos

slide 0 Algoritmos Paralelos slide 0 Algoritmos Paralelos Slide 2 Demanda por Velocidade Computational Demanda contínua por maior rapidez computational das máquinas que as atualmente disponíveis. As áreas que exigem maior rapidez

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

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

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

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

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

Test-Module: uma ferramenta para gerenciamento de testes de software integrada ao FireScrum

Test-Module: uma ferramenta para gerenciamento de testes de software integrada ao FireScrum Test-Module: uma ferramenta para gerenciamento de testes de software integrada ao FireScrum Audrey B. Vasconcelos, Iuri Santos Souza, Ivonei F. da Silva, Keldjan Alves Centro de Informática Universidade

Leia mais

Análise da distribuição de carga em um cluster heterogêneo.

Análise da distribuição de carga em um cluster heterogêneo. Análise da distribuição de carga em um cluster heterogêneo. Josemar Souza *, D. Rexachs **, E. Luque **. ( josemar@stn.com.br, d.rexachs@cc.uab.es, e.luque@cc.uab.es,) ** * Universidade Católica do Salvador

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

CONCEITOS DE LINGUAGEM DE PROGRAMAÇÃO CARACTERÍSTICAS. João Gabriel Ganem Barbosa

CONCEITOS DE LINGUAGEM DE PROGRAMAÇÃO CARACTERÍSTICAS. João Gabriel Ganem Barbosa CONCEITOS DE LINGUAGEM DE PROGRAMAÇÃO CARACTERÍSTICAS João Gabriel Ganem Barbosa Sumário Motivação História Linha do Tempo Divisão Conceitos Paradigmas Geração Tipos de Dados Operadores Estruturada vs

Leia mais

CURSO DE SISTEMAS DE INFORMAÇÃO

CURSO DE SISTEMAS DE INFORMAÇÃO 1 CURSO DE SISTEMAS DE INFORMAÇÃO EMENTÁRIO DAS DISCIPLINAS 2011.1 BRUSQUE (SC) 2015 2 SUMÁRIO 1ª FASE... 4 01 ARQUITETURA DE COMPUTADORES... 4 02 FILOSOFIA... 4 03 FUNDAMENTOS MATEMÁTICOS PARA COMPUTAÇÃO...

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

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

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

CARACTERIZAÇÃO DO SOFTWARE LIVRE NOS PROJETOS DE INCLUSÃO DIGITAL E AS AVALIAÇÕES DE USABILIDADE

CARACTERIZAÇÃO DO SOFTWARE LIVRE NOS PROJETOS DE INCLUSÃO DIGITAL E AS AVALIAÇÕES DE USABILIDADE CARACTERIZAÇÃO DO SOFTWARE LIVRE NOS PROJETOS DE INCLUSÃO DIGITAL E AS AVALIAÇÕES DE USABILIDADE Luciara Wanglon Afonso 1 Daniele Pinto Andres 2 RESUMO Este artigo tem por objetivo apresentar algumas questões

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

Análise Comparativa do Desempenho de Comunicação em Nós Remotos Usando MPICH2 ou MPIJava

Análise Comparativa do Desempenho de Comunicação em Nós Remotos Usando MPICH2 ou MPIJava Análise Comparativa do Desempenho de Comunicação em Nós Remotos Usando MPICH2 ou MPIJava Murilo da S. Dantas 1,3, Ariovaldo de S. Junior 3, Daniel A. Cesário 3, Ricardo K. de O. Barros 3, Luis G. U. Ungur

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

Qualidade de Software

Qualidade de Software Qualidade de Software O software é algo abstrato, pois são as instruções que quando executadas atingem o propósito desejado no sistema computacional. (Algoritmo). As principais características são: Complexidade:

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

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

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

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

ESPECIFICAÇÃO DO AMBIENTE EXPSEE SEGUNDO O MÉTODO CATALYSIS

ESPECIFICAÇÃO DO AMBIENTE EXPSEE SEGUNDO O MÉTODO CATALYSIS ESPECIFICAÇÃO DO AMBIENTE EXPSEE SEGUNDO O MÉTODO CATALYSIS RESUMO Este artigo apresenta a especificação de um sistema gerenciador de workflow, o ExPSEE, de acordo com a abordagem de desenvolvimento baseado

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

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

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

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

ADAPTANDO UMA APLICAÇÃO PARA CLOUD: UMA ANÁLISE ENTRE OS ESFORÇOS UTILIZADOS

ADAPTANDO UMA APLICAÇÃO PARA CLOUD: UMA ANÁLISE ENTRE OS ESFORÇOS UTILIZADOS ADAPTANDO UMA APLICAÇÃO PARA CLOUD: UMA ANÁLISE ENTRE OS ESFORÇOS UTILIZADOS Cleverson Nascimento de Mello¹, Claudete Werner¹, Gabriel Costa Silva² ¹Universidade Paranaense (Unipar) Paranavaí PR Brasil

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

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

FERRAMENTAS PARA DESENVOLVIMENTO EM C#

FERRAMENTAS PARA DESENVOLVIMENTO EM C# FERRAMENTAS PARA DESENVOLVIMENTO EM C# Camila Sanches Navarro 1,2, Wyllian Fressatti 2 ¹Universidade paranaense (Unipar) Paranavaí PR Brasil sanchesnavarro@gmail.com wyllian@unipar.br Resumo. Este artigo

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

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

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

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

SEPLAN. Secretaria de Estado de Planejamento e Desenvolvimento Econômico. RESOLUÇÃO Nº 003/2006 - CEPINF de 15 de agosto de 2006.

SEPLAN. Secretaria de Estado de Planejamento e Desenvolvimento Econômico. RESOLUÇÃO Nº 003/2006 - CEPINF de 15 de agosto de 2006. RESOLUÇÃO Nº 003/2006 - CEPINF de 15 de agosto de 2006. DEFINE a Política de Informática do Estado do Amazonas. O PRESIDENTE DO COMITÊ ESTADUAL DE POLÍTICA DE INFORMÁTICA, no uso de suas atribuições legais,

Leia mais

PEER DATA MANAGEMENT SYSTEM

PEER DATA MANAGEMENT SYSTEM PEER DATA MANAGEMENT SYSTEM INTRODUÇÃO, INFRA-ESTRUTURA E MAPEAMENTO DE ESQUEMAS AGENDA Data Management System Peer Data Management System P2P Infra-estrutura Funcionamento do PDMS Mapeamento de Esquemas

Leia mais

O que é software? Software e Engenharia de Software. O que é software? Tipos de Sistemas de Software. A Evolução do Software

O que é software? Software e Engenharia de Software. O que é software? Tipos de Sistemas de Software. A Evolução do Software O que é software? Software e Engenharia de Software Programas de computador Entidade abstrata. Ferramentas (mecanismos) pelas quais: exploramos os recursos do hardware. executamos determinadas tarefas

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

Naomi - GT8 HARDWARE & SISTEMAS DISTRIBUÍDOS

Naomi - GT8 HARDWARE & SISTEMAS DISTRIBUÍDOS Naomi - GT8 HARDWARE & SISTEMAS DISTRIBUÍDOS INTEGRANTES Aniel Cruz Claudio Sant Anna José Eurique Ribeiro Roberto Nou HARDWARE & SISTEMAS DISTRIBUÍDOS Clusters Conceito; Desempenho, Disponibilidade, Balanceamento

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

Capítulo 8 Arquitetura de Computadores Paralelos

Capítulo 8 Arquitetura de Computadores Paralelos Capítulo 8 Arquitetura de Computadores Paralelos Necessidade de máquinas com alta capacidade de computação Aumento do clock => alta dissipação de calor Velocidade limitada dos circuitos => velocidade da

Leia mais

2 Auto-sintonia de Bancos de Dados e Agentes de Software

2 Auto-sintonia de Bancos de Dados e Agentes de Software 2 Auto-sintonia de Bancos de Dados e Agentes de Software A uso da abordagem de agentes de software 1 pode trazer benefícios a áreas de aplicação em que é necessário construir sistemas autônomos, ou seja,

Leia mais

Desempenho de um Cluster Virtualizado em Relação a um Cluster Convencional Similar

Desempenho de um Cluster Virtualizado em Relação a um Cluster Convencional Similar Desempenho de um Cluster Virtualizado em Relação a um Cluster Convencional Similar David Beserra 1, Alexandre Borba¹, Samuel Souto 1, Mariel Andrade 1, Alberto Araujo 1 1 Unidade Acadêmica de Garanhuns

Leia mais

GUIA DE FUNCIONAMENTO DA UNIDADE CURRICULAR

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

Conceitos de Linguagens de Programação

Conceitos de Linguagens de Programação Conceitos de Linguagens de Programação Aula 07 Nomes, Vinculações, Escopos e Tipos de Dados Edirlei Soares de Lima Introdução Linguagens de programação imperativas são abstrações

Leia mais

Arquitecturas Paralelas I Computação Paralela em Larga Escala. Passagem de Mensagens

Arquitecturas Paralelas I Computação Paralela em Larga Escala. Passagem de Mensagens Arquitecturas Paralelas I Computação Paralela em Larga Escala LESI/LMCC - 4º/5º Ano Passagem de Mensagens João Luís Ferreira Sobral Departamento do Informática Universidade do Minho Novembro 2004 Passagem

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

InteGrade: Middleware para Computação em Grade Oportunista

InteGrade: Middleware para Computação em Grade Oportunista InteGrade: Middleware para Computação em Grade Oportunista Fabio Kon (coordenador) Siang W. Song (vice) Universidades participantes: IME/USP, PUC-Rio, UFMS, UFG, UFMA São Paulo, Fevereiro de 2006 InteGrade

Leia mais

Virtualização de Software

Virtualização de Software UNIVERSIDADE FEDERAL DE SANTA CATARINA DEPARTAMENTO DE INFORMÁTICA E ESTATÍSTICA CURSO DE BACHARELADO DE SISTEMAS DE INFORMAÇÃO Virtualização de Software Luana Sandrini Saft Trabalho de conclusão de curso

Leia mais

Programa do Módulo 2. Processo Unificado: Visão Geral

Programa do Módulo 2. Processo Unificado: Visão Geral 9.1 Programa do Módulo 2 Orientação a Objetos Conceitos Básicos Análise Orientada a Objetos (UML) O Processo Unificado (RUP) Processo Unificado: Visão Geral 9.2 Encaixa-se na definição geral de processo:

Leia mais

Computação em cluster

Computação em cluster Computação em cluster Por Marcos Pitanga em 30 de maio de 2003 Introdução Este artigo tem por finalidade dar ao leitor uma visão mais integrada do que vem a ser a computação em cluster e como esta a cada

Leia mais

19 Congresso de Iniciação Científica CAPACITAÇÃO EM SISTEMA CAD DE GRANDE PORTE E EM SISTEMA PDM

19 Congresso de Iniciação Científica CAPACITAÇÃO EM SISTEMA CAD DE GRANDE PORTE E EM SISTEMA PDM 19 Congresso de Iniciação Científica CAPACITAÇÃO EM SISTEMA CAD DE GRANDE PORTE E EM SISTEMA PDM Autor(es) ANDRE BERTIE PIVETTA Orientador(es) KLAUS SCHÜTZER Apoio Financeiro PIBITI/CNPQ 1. Introduçã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

Planejamento Estratégico de TI. Prof.: Fernando Ascani

Planejamento Estratégico de TI. Prof.: Fernando Ascani Planejamento Estratégico de TI Prof.: Fernando Ascani Data Warehouse - Conceitos Hoje em dia uma organização precisa utilizar toda informação disponível para criar e manter vantagem competitiva. Sai na

Leia mais

Comparando Java e C#

Comparando Java e C# Por: Lincon Alexandre Marques Jonathan T. Dos Santos Ricardo Fumio Tanimoto Abril, 2009 Comparando Java e C# Introdução Escolhemos como tema deste artigo um comparativo entre as linguagens Java e C#, duas

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

Arquitetura e Sistema de Monitoramento para

Arquitetura e Sistema de Monitoramento para Arquitetura e Sistema de Monitoramento para 1 Computação em Nuvem Privada Mestranda: Shirlei A. de Chaves Orientador: Prof. Dr. Carlos Becker Westphall Colaborador: Rafael B. Uriarte Introdução Computação

Leia mais

Oracle Grid Engine. Thiago Marques Soares. Pós-Graduação em Modelagem Computacional Universidade Federal de Juiz de Fora. 8 de abril de 2015

Oracle Grid Engine. Thiago Marques Soares. Pós-Graduação em Modelagem Computacional Universidade Federal de Juiz de Fora. 8 de abril de 2015 Oracle Grid Engine Thiago Marques Soares Pós-Graduação em Modelagem Computacional Universidade Federal de Juiz de Fora 8 de abril de 2015 Thiago Marques Soares Algoritmos e E.D. 8 de abril de 2015 1 /

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

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

PROGRAMA DE DISCIPLINA

PROGRAMA DE DISCIPLINA PROGRAMA DE DISCIPLINA Disciplina: INTRODUÇÃO À PROGRAMAÇÃO Carga horária total: 60 h Carga horária teórica: 30 h Carga horária prática: 30 h Código da Disciplina: CCMP0041 Período de oferta: 2015.2 Turma:

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

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

The Eucalyptus Open- source Cloud-computing System. Janaina Siqueira Lara Wilpert Marcelo Scheidt Renata Silva

The Eucalyptus Open- source Cloud-computing System. Janaina Siqueira Lara Wilpert Marcelo Scheidt Renata Silva The Eucalyptus Open- source Cloud-computing System Janaina Siqueira Lara Wilpert Marcelo Scheidt Renata Silva Sumário Introdução Trabalhos Correlatos Eucalyptus Design Conclusões Visão Geral Introdução:

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

WebUML: Uma Ferramenta Colaborativa de Apoio ao Projeto e Análise de Sistemas Descritos em Classes UML

WebUML: Uma Ferramenta Colaborativa de Apoio ao Projeto e Análise de Sistemas Descritos em Classes UML Carlos Henrique Pereira WebUML: Uma Ferramenta Colaborativa de Apoio ao Projeto e Análise de Sistemas Descritos em Classes UML Florianópolis - SC 2007 / 2 Resumo O objetivo deste trabalho é especificar

Leia mais

Treinamento PostgreSQL Cluster de Banco de Dados - Aula 01

Treinamento PostgreSQL Cluster de Banco de Dados - Aula 01 Treinamento PostgreSQL Cluster de Banco de Dados - Aula 01 Eduardo Ferreira dos Santos SparkGroup Treinamento e Capacitação em Tecnologia eduardo.edusantos@gmail.com eduardosan.com 13 de Junho de 2013

Leia mais

Plano de Trabalho Docente 2013. Ensino Técnico

Plano de Trabalho Docente 2013. Ensino Técnico Plano de Trabalho Docente 2013 Ensino Técnico Etec Prof Massuyuki Kawano Código: 136 Município: Tupã Eixo Tecnológico: Informação e Comunicação Habilitação Profissional: Técnica de nível médio de técnico

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

Introduçãoa Engenhariade. Prof. Anderson Cavalcanti UFRN-CT-DCA

Introduçãoa Engenhariade. Prof. Anderson Cavalcanti UFRN-CT-DCA Introduçãoa Engenhariade Software Prof. Anderson Cavalcanti UFRN-CT-DCA O que é Software? O que é software? São programas de computadores, em suas diversas formas, e a documentação associada. Um programa

Leia mais

Programação em Java. Subtítulo

Programação em Java. Subtítulo Programação em Java Subtítulo Sobre a APTECH A APTECH é uma instituição global, modelo em capacitação profissional, que dispõe de diversos cursos com objetivo de preparar seus alunos para carreiras em

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