Aplicações Distribuídas Baseadas em Trabalho Cooperativo com JavaSpace
|
|
- Lídia Amaro Brezinski
- 5 Há anos
- Visualizações:
Transcrição
1 Aplicações Distribuídas Baseadas em Trabalho Cooperativo com JavaSpace Vilson L. Dalle Mole 1, Humberto M. Beneduzzi, Jefferson G. Martins 2 Resumo-- Sistemas distribuídos/paralelos permitem que diferentes equipamentos possam ser interligados para realizar uma determinada tarefa em conjunto. Este artigo aborda o desenvolvimento de aplicações distribuídas baseadas em trabalho cooperativo com a tecnologia Jini/JavaSpaces, uma extensão da linguagem Java que permite a criação de repositórios de objetos distribuídos através de redes de computadores. Também é dada uma breve descrição da implementação de um protótipo e dos resultados obtidos. O foco principal do trabalho relatado, neste artigo, foi a avaliação da tecnologia JavaSpace como mecanismo de suporte às aplicações acima mencionadas, tendo sido analisados itens como: escalabilidade, balanceamento de carga, overhead, estabilidade e complexidade de desenvolvimento. Palavras-Chave-- JINI, Javaspaces, Escalabilidade, Sistemas Paralelos/Distribuídos. I. CONSIDERAÇÕES INICIAIS m um ambiente distribuído, máquinas possuem Econfigurações diferentes, rodam sistemas operacionais diferentes e possuem arquiteturas diferentes. Estes aspectos dificultam o desenvolvimento de aplicações distribuídas. Utilizando Java, estes problemas são, quase em sua totalidade, resolvidos automaticamente, devido à independência de plataforma, o que faz com que esta linguagem possa ser usada na implementação dos mais variados tipos de aplicações. O desenvolvimento de aplicações paralelas baseadas em agentes cooperantes distribuídos em uma rede de computadores possui dois momentos distintos, mas igualmente importantes e altamente interligados: a definição da estrutura de suporte ao processamento paralelo cooperante e a estruturação dos dados e algoritmos de modo a permitir o paralelismo cooperante. O trabalho cooperante caracteriza-se como uma das formas de promover o paralelismo na execução de uma determinada tarefa. O ponto forte do processamento cooperante consiste no aumento transparente do poder computacional, uma vez que os nós podem ser adicionados e removidos sem grandes traumas ao sistema. Estas características fazem com que o processamento cooperante possa ser empregado a uma vasta gama de problemas. 1 Docente junto ao Centro Federal de Educação Tecnológica do Paraná (CEFET-PR), unidade de Medianeira, Curso Tecnologia em Informática ( vilson@md.cefetpr.br). 2 Docente junto ao Centro Federal de Educação Tecnológica do Paraná (CEFET-PR), unidade de Medianeira, Curso Tecnologia em Informática( jmartins@md.cefetpr.br). Abordando este contexto, o presente artigo está estruturado em 6 seções. Inicialmente é realizada uma introdução sobre a temática discutida. A seção II apresenta os conceitos e as principais características dos Sistemas Distribuídos. A tecnologia Jini é apresentada na seção III. As seções IV e V apresentam, respectivamente, o protótipo implementado e as considerações quanto aos resultados obtidos. Na última seção (VI) são apresentadas as considerações finais. II. SISTEMAS DISTRIBUÍDOS De acordo com [1], [3] e [9], um sistema distribuído caracteriza-se pela interconexão de vários computadores autônomos e possivelmente heterogêneos que, sob o controle de um software específico, fornece ao usuário a imagem de um sistema único e que deveria possuir, dentre outras, a seguintes características: compartilhamento de recursos, escalabilidade, tolerância a falhas e heterogeneidade. Uma característica importante de um sistema distribuído é a heterogeneidade, ou seja, a existência de computadores heterogêneos conectados no mesmo sistema. A heterogeneidade pode ser dividida em dois níveis: heterogeneidade configuracional, isto é, computadores de igual arquitetura, mas com diferentes capacidades em termos de recursos (quantidade de memória, velocidade do processador, etc.); e heterogeneidade arquitetural, isto é, computadores de diferentes arquiteturas [10]. Para [5] e [7], sistemas distribuídos podem ser utilizados em uma grande gama de aplicações, tanto em ambientes comerciais quanto acadêmicos, e podem ser implementados desde redes locais (LAN) até redes metropolitanas (MAN). Dentre estas várias possibilidades, uma abordagem bastante utilizada nos dias atuais consiste na utilização de sistemas distribuídos para a execução de aplicações paralelas, permitindo que instituições que não dispõem de um computador paralelo possam construir e executar algoritmos paralelos. Assim, estas instituições conseguem atingir o grande objetivo do processamento paralelo/distribuído, isto é, aumentar o desempenho de aplicações que necessitam de maior poder computacional e que são pouco eficientes quando executadas seqüencialmente. Para tanto, o aumento de desempenho é obtido particionando-se uma tarefa em tarefas menores e executando-as em diferentes processadores, paralelamente. Conforme exposto por [1], [3] e [9], os sistemas computacionais distribuídos apresentam uma série de características que podem torná-los atrativos quando 475
2 comparados às máquinas paralelas convencionais ou aos sistemas centralizados. Estas características, dentre as quais pode-se citar a disponibilidade, a confiabilidade, a expansibilidade, a tolerância a falhas, a transparência, a concorrência, o compartilhamento de recursos e um possível aumento de desempenho, têm levado a um crescente uso de sistemas de computação paralela e distribuída em uma vasta gama de aplicações. Sobre os sistemas distribuídos, [6] afirma que estes possuem um grande potencial de desempenho para diversos tipos de aplicações, mas trazem junto a esse potencial uma grande dificuldade para o escalonamento dos processos nos diversos (e possivelmente heterogêneos) processadores, de maneira que se consiga uma utilização eficiente do sistema computacional disponível". Desta forma, um dos fatores mais importantes na implementação de um sistema distribuído consistem no balanceamento de carga, isto é, fazer com que o servidor consiga definir de forma correta a quantidade de trabalho a ser enviada a cada nó de processamento. Esta tarefa se torna mais complexa à medida que aumenta a heterogeneidade dos equipamentos, tornando-se necessário, muitas vezes, diagnosticar a configuração de cada nó de processamento para poder realizar um balanceamento de carga mais adequado. Propiciar o bom nível de aproveitamento dos recursos de cada máquina é uma característica desejável em qualquer sistema distribuído. III. JINI Conforme definido anteriormente, um sistema distribuído caracteriza-se como uma coleção de computadores autônomos, ligados por uma rede, com software projetado para produzir uma facilidade de computação integrada [3]. Segundo [8], Jini oferece um serviço de rede distribuído robusto e também dinâmico, escalável e tolerante a falhas. Devido à independência de plataforma proporcionada pela linguagem Java, a tecnologia Jini não exige a existência de um sistema operacional, processador ou ambiente de desenvolvimento específico, sendo fundamentalmente um Sistema Distribuído, sem depender de qualquer servidor central. No Modelo de Transações Jini, a falha de um dispositivo não afeta os demais, o que ajuda a construir aplicações distribuídas que operam corretamente na presença de falhas parciais. Ainda segundo [8], Jini é um framework para construir sistemas distribuídos escaláveis e robustos. Este consiste em um conjunto de especificações descrevendo o modelo de operações para uma rede Jini 3. A. JavaSpaces JavaSpaces teve origem no início da década de 1998, na Universidade de Yale, EUA, e caracteriza-se como um repositório de objetos com um número reduzido de operações simples, podendo ser facilmente empregado na construção de aplicações distribuídas e evitando muitas das armadilhas que podem surgir na construção de sistemas distribuídos [2]. Neste modelo, os dados são desacoplados de um processo particular, conforme ilustrado na Figura 1. Os dados são representados como uma coleção de objetos que podem ser acessados e alterados remotamente por processos concorrentes, como mostra a Figura 2, não existindo um processo central responsável pelo gerenciamento do acesso aos objetos. JavaSpaces é um serviço da tecnologia Jini, baseado em um simples conceito de compartilhamento: locais acessíveis através da rede, que servem como áreas de armazenamento e troca de objetos. Em uma aplicação distribuída, JavaSpace atua como um espaço virtual entre provedores e requisitantes de recursos de rede ou objetos, o que permite que participantes em soluções distribuídas troquem tarefas, requisições e informações na forma de objetos Java. Figura 1. Modelo baseado em espaços.([2]) A construção de aplicações distribuídas geralmente envolve a troca de mensagens entre processos ou invocação de métodos em objetos remotos. Nas aplicações baseadas em JavaSpaces, os processos não se comunicam diretamente entre si. Ao invés disso, coordenam suas atividades pelo intercâmbio de objetos através dos JavaSpaces com operações de escrita (write), leitura (read) e pegar (take). Conforme exposto anteriormente, estas operações de leitura e escrita são realizadas de forma concorrente, sendo que a sincronização do acesso aos objetos do espaço é garantida pela própria API JavaSpace. Em uma aplicação baseada em JavaSpaces, cada computador participante procura uma tarefa no espaço, remove-a, realiza o trabalho computacional necessário e devolve o resultado ao espaço. Depois disso, a máquina volta a procurar por mais tarefas no espaço e pode ficar aguardando até que estas cheguem. A Figura 2 representa 2 JavaSpaces e um conjunto de processos realizando trabalho cooperativo. 3 Uma rede Jini é uma rede de muitas federações. (Sing Li et al., 2000) 476
3 Figura 2. Processos usam os JavaSpaces para Coordenar suas Atividades (Sun Microsystems, Inc.) Com a aplicação de JavaSpaces, a escalabilidade também é totalmente transparente e natural, pois pode-se adicionar ou remover os TRABALHADORES a qualquer momento. Deste modo, os procedimentos executados serão os mesmos, independente de existirem 5 ou 500 computadores atuando como nós de processamento. IV. O PROTÓTIPO IMPLEMENTADO O protótipo implementado constitui-se de um sistema distribuído de quebra de senhas pelo método de força bruta. As senhas foram geradas através do baseia-se no Standard Hash Algorithm N o 1 (SHA1), desenvolvido pela NIST 4 em cooperação com a NSA 5. O SHA1 é um algoritmo baseado em hash unidirecional, assim o método de força bruta é aplicado gerando-se um hash de cada possibilidade e comparando este com o hash posto para quebra. A arquitetura do sistema é mostrada na Figura 3, a seguir. O processo SUPERVISOR coordena o trabalho e reside na máquina onde está implementado o serviço JavaSpace. Inicialmente o SUPERVISOR gera um lote de tarefas, as escreve no espaço e, posteriormente, prossegue gerando novas tarefas, à medida que os TRABALHADORES as consomem, obedecendo ao critério de produtor/consumidor. Cada tarefa contém informações fracionadas sobre a faixa de pesquisa a ser realizada por um nó naquele momento. Uma segunda classe chamada ListenerSupervisor efetiva a vigilância pelo retorno das tarefas já processadas. Estas possuem um atributo específico que identifica se a senha foi ou não encontrada. Os TRABALHADORES monitoram o espaço à espera de tarefas, quando estas se tornam disponíveis, cada TRABALHADOR assume uma tarefa, processa e devolve ao espaço na forma de tarefa processada. Uma tarefa com o atributo finalizar com valor true indica ao TRABALHADOR que o mesmo pode encerrar suas atividades. Figura 3. Interação entre o Processo SUPERVISOR e os TRABALHADORES (Sun Microsystems, Inc.) Essa arquitetura notadamente promove o desacoplamento entre os elementos de processamento, pois a falha de um nó não interfere no processo como um todo. No entanto, uma falha no SUPERVISOR causa uma falha geral. Por outro lado, a entrada ou saída de um nó de processamento é transparente ao SUPERVISOR que não toma conhecimento de quantos nós estão ativos no momento. V. RESULTADOS Os testes foram realizados sobre senhas com 5 caracteres de comprimento, sendo que o conjunto de caracteres aceitos varia de 097 ( a ) à 122 ( z ) na tabela ASCII. Para esse conjunto o número de arranjos possíveis é de Os tempos foram contabilizados através do relógio da máquina servidora. No momento anterior à inserção do primeiro objeto no espaço, marca-se o instante de início e no momento que o listenersupervisor sinaliza a chegada de uma tarefa processada com a indicação de quebra da senha marcase o instante de término. O tempo total de processamento foi calculado multiplicando-se o tempo de quebra da senha pelo número de TRABALHADORES instanciados. Assumiu-se como overhead a diferença resultante entre o tempo total de processamento distribuído e o tempo total de processamento local. Os tempos obtidos são apresentados na Tabela 1 e na Figura 4, a seguir. TABELA 1 TEMPOS DE PROCESSAMENTO OBTIDOS 4 NIST National Institute of Standards and Technology (EUA). 5 NSA National Security Agency (EUA). 477
4 Tempo (s) Comparativo do Tempo de Execução local Tempo Figura 4. Tempos Totais de Processamento Obtidos Tempo Total A análise dos resultados demonstra que o overhead gerado pela distribuição das tarefas através do espaço não é significativo, se comparado ao ganho de desempenho proporcionado pelo processamento paralelo. Os testes realizados apresentaram a curva de overhead apresentada na Figura 5. Overhead 12% 10% 8% 6% 4% 2% 0% 1,01% Curva de Overhead 3,07% 5,13% 7,76% 10,99% Figura 5. Curva de Overhead No entanto, pode-se observar, na Figura 6, que o ganho de performance é diretamente proporcional ao número de nós. Performance Ganho de Performance 1,0 1,0 1,9 4,8 9,3 18,1 local Figura 6. Ganhos de Performance Considerando o tempo ( t l ) necessário para a quebra de uma senha com processamento local, o tempo ( t d ) no ambiente distribuído é dado por: onde: t d o = t 1+ l n o d é o overhead de distribuição; n t é o número de trabalhadores. Tomando a expressão acima para o cálculo do tempo no ambiente distribuído, pode-se inferir que uma senha que levaria 70 horas para ser quebrada com processamento local, poderia ser encontrada em aproximadamente 3h:53min em um ambiente com 20 TRABALHADORES. VI. CONSIDERAÇÕES FINAIS A utilização de JavaSpaces elimina a complexidade de construir mecanismos de controle, bem como de balanceamento de carga. Este último é realizado naturalmente, à medida que o TRABALHADOR, e não o SUPERVISOR, é o responsável por determinar qual é o momento de adquirir nova tarefa. A escalabilidade é transparente, sendo possível adicionar ou remover um ou mais nós a qualquer momento, mesmo com o processamento em andamento. O overhead gerado pelo fluxo de objetos através da rede varia de acordo com o tamanho de cada objeto, a freqüência com que cada nó lê e escreve objetos no espaço e o número de nós ativos na rede. Com os testes realizados é possível afirmar que JavaSpaces apresenta-se como uma ótima opção de suporte à comunicação em aplicações distribuídas baseadas em trabalho cooperativo, reduzindo o tempo de desenvolvimento e proporcionando boa performance. VII. REFERÊNCIAS [1] A. S. Tanembaum, Sistemas Operacionais Modernos. São Paulo: LTC, [2] E. Freeman, S. Hupeer, K. Arnold. JavaSpaces Principles, Patterns and Practice. Addison-Wesley, [3] G. Coulouris, J. Dollimore, T. Kindberg. Distributed Systems Concepts and Design. 2 nd. Ed. Addison-Wesley, [4] H. M. Deitel, P. J. Deitel. Java Como Programar. 3th Ed. Bookman, [5] M. A. Souza, Avaliação das Rotinas de Comunicação Ponto-a-Ponto do MPI. Dissertação de Mestrado Instituto de Ciências Matemáticas e de Computação, USP, São Carlos, [6] M. A. Souza, Análise de Técnicas de Monitoração e Métricas de Desempenho para a Avaliação do Escalonamento de Processos. Tese de Doutorado Instituto de Ciências Matemáticas e de Computação, USP, São Carlos, [7] O. A. McBryan. (1994) Technological Report: An overview of message passing Environments. Dept. of Computer Science, University of Colorado. [Online] Disponível: [8] S. Ling. Professional Jini. Wrox Press, Inc., [9] S. Mullender, Distributed Systems. 2nd Ed.: Addison-Wesley, t d 478
5 [10] S. Zhou, X. Zheng, J. Wang, P. Delisle. Technical Report: Utopia a Load Sharing Facility for Large, Heterogeneous Distributed Computer Systems. Computer Systems Research Institute, University of Toronto, [Online] Diponível [11] W. K. Edwards. Core Jini. 2 nd Ed. Book News, Inc.,
Características de Sistemas de Arquivos Distribuídos Serviços de nomes e diretórios
Características de Sistemas de Arquivos Distribuídos Serviços de nomes e diretórios Prof. Dr. Norian Marranghello Grupo 13 Guilherme Eberhart Jorge Marcelo Lima Macedo 1 - Sistema de arquivos distribuídos
Leia maisIntrodução aos Sistemas Distribuídos
Introdução aos Sistemas Distribuídos Prof. Leonardo Barreto Campos http://sites.google.com/sitew/leonardobcampos 1/29 Sumário Ementa; Bibliografia Calendário Site Introdução Características http://sites.google.com/sitew/leonardobcampos
Leia maisComputação Distribuída
Aula 1 Introdução aos Sistemas Distribuídos Anos 50 - Sistemas Operacionais tipo Lote Aumentar a capacidade de processamento de programas Usuário ia ao computador Processamento Seqüencial Leitoras de cartões
Leia maisSistemas de arquivos distribuídos. ECO036 - Sistemas Paralelos e Distribuídos
Sistemas de arquivos distribuídos ECO036 - Sistemas Paralelos e Distribuídos Sistemas de arquivos distribuídos - Daniel Nogueira 20938 - Felipe Castro Simões 21525 Sumário 1. Introdução 2. Sistemas de
Leia maisSistemas Distribuídos. Ricardo Ribeiro dos Santos
Sistemas Distribuídos Ricardo Ribeiro dos Santos ricrs@ec.ucdb.br Curso de Engenharia de Computação UCDB Julho/2003 Tópicos Objetivos Pré-requisitos Ementa/Conteúdo Programático Relacionamento com outras
Leia maisSistemas Distribuídos
Faculdades SENAC Análise e Desenvolvimento de Sistemas 23 de fevereiro de 2011 Histórico Anos 50 - Sistemas Operacionais tipo Lote Aumentar a capacidade de processamento de programas Usuário ia ao computador
Leia maisSistemas Distribuídos
Caracterização de Faculdades SENAC Análise e Desenvolvimento de Sistemas 24 de fevereiro de 2010 Caracterização de Histórico Anos 50 - Sistemas Operacionais tipo Lote Aumentar a capacidade de processamento
Leia maisSistemas Distribuídos
Sistemas Distribuídos Motivação Aplicações Motivam Possibilita Engenharia Motivação! Aplicações cada vez mais complexas! Qual a técnica mais comum para redução de complexidade? " Modularização Dividir
Leia maisSistema de Software Distribuído
Sistema de Software Distribuído É composto por uma sequência de instruções, que é interpretada e executada por um processador É composto por instruções concorrentes ou paralelas, que são interpretadas
Leia maisSISTEMAS DISTRIBUÍDOS
SISTEMAS DISTRIBUÍDOS CUP Disk Memoey CUP Memoey Disk Network CUP Memoey Disk Introdução aos Sistemas Distribuídos 1 Sumário Evolução Problema/Contexto O que é um Sistema Distribuído? Vantagens e Desvantagens
Leia maisCliente-servidor Código móvel Agentes de software Processos pares. Prof a Ana Cristina B. Kochem Vendramin DAINF / UTFPR
n n n n Cliente-servidor Código móvel Agentes de software Processos pares Prof a Ana Cristina B. Kochem Vendramin DAINF / UTFPR Arquiteturas em Sistemas Distribuídos Cliente- Servidor Client invocation
Leia maisConceitos de Sistemas Distribuídos
Conceitos de Sistemas Distribuídos Roteiro Definição de Sistemas Distribuídos (SD) Evolução Histórica Exemplos (SD) Modelos (Vantagens x Desvantagens) 2 O que é um Sistema Distribuído? Definição Coleção
Leia maisCaracterísticas de Sistemas Distribuídos
Características de Sistemas Distribuídos Carlos Ferraz cagf@cin.ufpe.br 2002-2003 Carlos A. G. Ferraz 2 Tópicos O conceito de Sistemas Distribuídos Infra-estrutura básica Exemplos Vantagens e desvantagens
Leia maisSistemas Distribuídos. Plano de Curso. Plano de Curso 04/03/12 ! EMENTA:
Sistemas Distribuídos Prof. Msc. André Luiz Nasserala Pires nassserala@gmail.com! EMENTA: Plano de Curso! Conceitos. Comunicação entre processos (IPC). Programação de aplicações cliente- servidor. Sincronização
Leia maisSistemas Distribuídos
Sistemas Distribuídos Definição Sistema Distribuído é aquele onde os componentes de software e hardware localizados em redes de computadores comunicam-se e coordenam suas ações apenas por passagem de mensagens.
Leia maisProgramação Concorrente
INE 5410 Programação Concorrente Professor: Lau Cheuk Lung (turma A) INE UFSC lau.lung@inf.ufsc.br Conteúdo Programático 1. 2. Programação Concorrente 3. Sincronização 1. Condição de corrida, região critica
Leia maisAULA 03: PROCESSAMENTO PARALELO: MULTIPROCESSADORES
ORGANIZAÇÃO E ARQUITETURA DE COMPUTADORES II AULA 03: PROCESSAMENTO PARALELO: MULTIPROCESSADORES Prof. Max Santana Rolemberg Farias max.santana@univasf.edu.br Colegiado de Engenharia de Computação MULTIPROCESSADORES
Leia maisCaracterísticas de Sistemas Distribuídos
Tópicos O conceito de Características de Carlos Ferraz cagf@cin.ufpe.br Infra-estrutura básica Exemplos Vantagens e desvantagens Convergência digital Características 2002-2003 Carlos A. G. Ferraz 2 O Conceito
Leia maisArquitetura de sistemas distribuídos
Arquitetura de sistemas distribuídos 2. Introdução aos Sistemas Distribuídos 2.1.Características de sistemas distribuídos 2.2 Aplicações distribuídas e TI Verde 2.3 Tratamento de Falhas 2.4 Classificação
Leia maisSistemas distribuídos. Prof. Emiliano Monteiro
Sistemas distribuídos Prof. Emiliano Monteiro Múltiplos processadores São arquiteturas que possuem duas ou mais CPU interligadas e que funcionam em conjunto na execução de tarefas independentes ou no processamento
Leia maisSistemas Distribuídos
Sistemas Distribuídos Thaís Vasconcelos Batista UFRN DIMAp http://www.dimap.ufrn.br/~thais thais@ufrnet.br Programa do Curso INTRODUÇÃO Conceitos Básicos Sistemas em Rede X Sistemas Distribuídos Necessidade
Leia maisComponente de aplicação. Figura 1 - Elementos funcionais de uma aplicação sendo executados de forma distribuída
11 1 Introdução Recentes avanços em redes de computadores impulsionaram a busca e o desenvolvimento de meios para facilitar e acelerar o desenvolvimento de aplicações em sistemas distribuídos, tornando
Leia maisPesquisa de Iniciação Científica desenvolvida no Grupo de Pesquisa em Computação Aplicada (GCA) da UNIJUI 2
AMBIENTE DE EXPERIMENTAÇÃO PARA PLATAFORMAS DE INTEGRAÇÃO DE APLICAÇÕES EMPRESARIAIS 1 AN EXPERIMENTAL ENVIRONMENT FOR ENTERPRISE APPLICATIONS INTEGRATION PLATFORMS Matheus Henrique Rehbein 2, Rafael Z.
Leia maisCaracterização de Sistemas Distribuídos
Caracterização de Sistemas Distribuídos Roteiro Conceitos de Hardware Conceitos de Software Classificação de Flynn Classificação baseada no acesso a memória 2 Conceitos de HW Múltiplas CPUs Diferentes
Leia maisArquitetura Cliente-Servidor Generalizada com identificação de tiers. Arquitetura Cliente-Servidor Generalizada com identificação de tiers
Projeto de Sistemas Distribuídos Prof João Paulo A Almeida (@infufesbr) Projeto de Sistemas Distribuídos Até agora consideramos apenas a infraestrutura para a construção de aplicações distribuídas (middleware)
Leia maisData Warehouse ETL. Rodrigo Leite Durães.
Data Warehouse ETL Rodrigo Leite Durães rodrigo_l_d@yahoo.com.br Introdução Um dos desafios da implantação de um DW é a integração dos dados de fontes heterogêneas e complexas, padronizando informações,
Leia maisDesenvolvimento de Aplicações Distribuídas
Desafios e Características Pontifícia Universidade Católica de Minas Gerais Instituto de Ciências Exatas e Informática DAD (2019/01) Tópicos Apresentação da disciplina Introdução Desafios e características
Leia maisCaracterização de Sistemas Distribuídos
Caracterização de Sistemas Distribuídos Prof. Leonardo Barreto Campos http://sites.google.com/sitew/leonardobcampos 1/29 Sumário Introdução Exemplos de Sistemas Distribuídos Tendências em Sistemas Distribuídos
Leia maisUniversidade Estadual de Mato Grosso do Sul UEMS Curso de Ciência da Computação Disciplina de Algoritmos Paralelos e Distribuídos
Universidade Estadual de Mato Grosso do Sul UEMS Curso de Ciência da Computação Disciplina de Algoritmos Paralelos e Distribuídos Pensando em Paralelo Pensar em paralelo é uma tarefa que exige disciplina
Leia maisSO: SISTEMAS OPERACIONAIS Curso: Sistemas de Informação
SO: SISTEMAS OPERACIONAIS Curso: Sistemas de Informação - Definições - Ementa - Objetivos - Unidades de Ensino - Bibliografia - Processo de Avaliação Paulo César do Amaral Pereira SISTEMA COMPUTACIONAL
Leia maisARQUITETURA DE SISTEMAS DISTRIBUÍDOS
ARQUITETURA DE SISTEMAS DISTRIBUÍDOS AULA 02 Evolução do Processamento Paulo Franco Paulo.franco@outlook.com Evolução do Processamento A evolução do processamento de informações ocorreu basicamente de
Leia maisSistema Distribuído. Sistema Distribuído. Aplicações Distribuídas. Conceitos Básicos
Sistema Distribuído Conjunto de máquinas (CPU + memória) interligadas em rede. Sistema Distribuído Sistema operacional distribuído trata este conjunto como um único sistema computacional. Estação 1 Estação
Leia maisSistemas Operacionais Distribuídos
Sistemas Operacionais Distribuídos Introdução O uso de redes locais e da Internet está amplamente difundido mesmo para uso doméstico. Mas para que tais recursos físicos sejam aproveitados da melhor forma
Leia maisSSC0611 Arquitetura de Computadores
SSC0611 Arquitetura de Computadores 20ª Aula Arquiteturas Paralelas Arquitetura MIMD com Memória Compartilhada Profa. Sarita Mazzini Bruschi sarita@icmc.usp.br Arquiteturas MIMD As arquiteturas MIMD dividem-se
Leia maisProgramação Paralela e Distribuída
INE 5645 Programação Paralela e Distribuída Professor: Lau Cheuk Lung (turma A) INE UFSC lau.lung@inf.ufsc.br Conteúdo Programático 1. Introdução 2. Programação Paralela 3. Controle de Concorrência 4.
Leia maisArquiteturas Paralelas
ORGANIZAÇÃO E ARQUITETURA DE COMPUTADORES Arquiteturas Paralelas Medidas de desempenho Alexandre Amory Edson Moreno Índice 2 1. Introdução 2. Medidas de Desempenho Introdução 3 Aumento de desempenho dos
Leia maisArquitetura de Computadores Paralelos. Introdução Conceitos Básicos Ambientes de Programação Modelos de Programação Paralela
Arquitetura de Computadores Paralelos Introdução Conceitos Básicos Ambientes de Programação Modelos de Programação Paralela Por que estudar Computação Paralela e Distribuída? Os computadores sequenciais
Leia maisAULA 06: PROGRAMAÇÃO EM MÁQUINAS PARALELAS
ORGANIZAÇÃO E ARQUITETURA DE COMPUTADORES II AULA 06: PROGRAMAÇÃO EM MÁQUINAS PARALELAS Prof. Max Santana Rolemberg Farias max.santana@univasf.edu.br Colegiado de Engenharia de Computação PROGRAMAÇÃO PARALELA
Leia maisINE 5645 PROGRAMAÇÃO PARALELA E DISTRIBUÍDA
INE 5645 PROGRAMAÇÃO PARALELA E DISTRIBUÍDA Identificação: Disciplina: INE5645 - Programação Paralela e Distribuída Carga horária: 72 horas-aula Teóricas: 36 Práticas: 36 Período: 2º semestre de 2014 (em
Leia maisPROGRAMA DE DISCIPLINA
DIVISÃO DE ASSUNTOS ACADÊMICOS Secretaria Geral de Cursos PROGRAMA DE DISCIPLINA DEPARTAMENTO DE CIÊNCIAS EXATAS CÓDIGO: EXA832 DISCIPLINA: SISTEMAS DISTRIBUÍDOS CARGA HORÁRIA: 60h EMENTA: Conceitos e
Leia maisFormação de DBAs SQL Server 2008
Formação de DBAs SQL Server 2008 Parte 8: Banco de Dados Distribuído Computação Distribuída Um grupo de elementos autônomos de processamento (não necessariamente homogêneos) que estão interconectados por
Leia maisAluno de Pós-Graduação em Engenharia de Software para Dispositivos Móveis pela UNINTER
COMPARAÇÃO DE DESEMPENHO NA PROGRAMAÇÃO PARALELA HÍBRIDA (MPI + OPENMP) NA BUSCA DE TEXTO EM ARQUIVOS 1 COMPARISON OF PERFORMANCE IN HYBRID PARALLEL PROGRAMMING (MPI + OPENMP) IN SEARCH OF TEXT IN FILES
Leia maisAdaptação Dinâmica desistemas Distribuídos p.1/54
Adaptação Dinâmica de Sistemas Distribuídos Francisco José da Silva e Silva Orientadores: Prof. Dr. Markus Endler Prof. Dr. Fabio Kon Instituto de Matemática e Estatística da Universidade de São Paulo
Leia maisProf. Me. Sérgio Carlos Portari Júnior
Prof. Me. Sérgio Carlos Portari Júnior Ambientes que visam desenvolver aplicações que precisam de um processamento paralelo e distribuído deverão saber lidar com algumas dificuldades. Isto decorre da heterogeneidade
Leia maisIntrodução à Computação
Introdução à Computação Jordana Sarmenghi Salamon jssalamon@inf.ufes.br jordanasalamon@gmail.com http://inf.ufes.br/~jssalamon Departamento de Informática Universidade Federal do Espírito Santo Agenda
Leia maisEstilos Arquiteturais
Estilos Arquiteturais Estilos Arquiteturais A arquitetura de um sistema pode aderir a um ou mais estilos arquiteturais Um estilo define os tipos de elementos que podem aparecer em uma arquitetura e as
Leia maisJini - Introdução. Alexandre Freire MAC 5755
Jini - Introdução Alexandre Freire MAC 5755 Motivações Jini surgiu para fazer computação distribuida ser fácil Network plug and play A tecnologia Jini permite que dispositivos criem uma rede de comunicação
Leia maisArquitetura de Software Parte 2/3-Estilos Arquiteturais. Jorge H. C. Fernandes Junho de 1999
Arquitetura de Software Parte 2/3-Estilos Arquiteturais Jorge H. C. Fernandes Junho de 1999 Estilos Arquiteturais mais Comuns (Mary Shaw, 96) Data flow Batch Pipes e filtros Chamada e retorno Programa
Leia maisSISTEMAS OPERACIONAIS
SISTEMAS OPERACIONAIS Introdução a Sistemas Operacionais Andreza Leite andreza.leite@univasf.edu.br Plano de Aula Introdução aos Sistemas Operacionais Fundamentação Teórica Evolução Histórica Características
Leia maisIntrodução a Computação em Nuvem
Introdução a Computação em Nuvem Sistemas Distribuídos Mauro Lopes Carvalho Silva Professor EBTT DAI Departamento de Informática Campus Monte Castelo Instituto Federal de Educação Ciência e Tecnologia
Leia maisSistemas Distribuídos. Ricardo Ribeiro dos Santos
Sistemas Distribuídos Ricardo Ribeiro dos Santos ricrs@ec.ucdb.br Curso de Engenharia de Computação UCDB Julho/2003 Tópicos Características de um SD Modelos arquiteturais para implementação de SD Características
Leia maisRedes de Computadores. Fundamentos de Sistemas Operacionais - 2º Período
Redes de Computadores Fundamentos de Sistemas Operacionais - 2º Período PARTE I: CONCEITOS BÁSICOS SUMÁRIO 1. VISÃO GERAL: 1.1 Introdução; 1.2 Funções Básicas; 1.3 Máquina de Camadas; 1.5 Tipos de Sistemas
Leia maisSistemas Operacionais II
Modelo orientado a objetos: uma pequena revisão Instituto de Informátic ca - UFRGS Sistemas Operacionais II Modelos para programação distribuída (Remote Method Invocation) Aula 14 Programa é visto como
Leia maisCurso: Redes de Computadores
Curso: Redes de Computadores Cadeira de Introdução a Sistemas Operacionais. Bibliografia Sistemas Operacionais Modernos Andew S. Tanembaum Sistema Operacionais Abraham Silberchatz, Peter Galvin e Greg
Leia maisMatéria: Sistema Computacional - SC. Prof.: Esp.: Patrícia Dias da Silva Peixoto
Matéria: Sistema Computacional - SC Prof.: Esp.: Patrícia Dias da Silva Peixoto SISTEMA OPERACIONAL E TIPOS DE SISTEMAS OPERACIONAIS O QUE É UM SISTEMA OPERACIONAL (S.O.). Por mais complexo que possa parecer,
Leia maisIntrodução a Sistemas Distribuídos
Sistemas Distribuídos Mauro Lopes Carvalho Silva Professor EBTT DAI Departamento de Informática Campus Monte Castelo Instituto Federal de Educação Ciência e Tecnologia do Maranhão Objetivos Nesta aula
Leia maisSis i te t mas a O perac a i c o i nai a s um p ouco c d a a h is i tó t ria i. a... SO His i t s ó t r ó ic i o
Sistemas Operacionais um pouco da história... - Evolução dos SO s através do tempo - Novas técnicas não são assimiladas simultaneamente por todos - Década de 40, não existia SO - O programador é o faz
Leia maisImplementação da Especificação de Tempo Real Java para o EPOS
UNIVERSIDADE FEDERAL DE SANTA CATARINA Curso de Ciências da Computação Implementação da Especificação de Tempo Real Java para o EPOS ANDERSON LUIS ZAPELLO Florianópolis, julho de 2005 ANDERSON LUIS ZAPELLO
Leia maisTipos de Clusters. Introdução. Introdução 21/03/12
Tipos de Clusters Prof. Msc. André Luiz Nasserala Pires nassserala@gmail.com! Cluster pode ser definido como um sistema onde dois ou mais computadores trabalham de maneira conjunta para realizar processamento
Leia maisSistemas Distribuidos. Prof. Walter Gima
Sistemas Distribuidos Prof. Walter Gima 1 Apresentação da Disciplina Disciplina: Sistemas Distribuídos Carga Horária: 20 horas/aula Horário: 9:10 Até 22:00 2 Objetivos Reconhecer os diversos tipos de sistemas
Leia maisBancos de Dados Distribuídos. Bancos de Dados Distribuídos. Conteúdo. Motivação. Motivação. Introdução aos BDs Distribuídos.
Bancos de Dados Distribuídos Prof. Frank Siqueira Departamento de Informática e Estatística Universidade Federal de Santa Catarina Conteúdo Introdução aos BDs Distribuídos Processamento de Consultas Distribuídas
Leia maisPalavras-chave: (banco de dados; prontuário médico; paciente); deve vir logo abaixo do resumo
BANCO DE DADOS PARA UM PRONTUÁRIO MÉDICO ELETRÔNICO Nome dos autores: Igor Barreto Rodrigues¹; Patrick Letouze Moreira² 1 Aluno do Curso de Ciência da Computação; Campus de Palmas; e-mail: igor.cientista@uft.edu.br
Leia maisIntrodução. Conceitos Básicos. Conceitos Básicos. Conceitos Básicos
Introdução Laboratório de Computação para Ciências Módulo II Prof. Guilherme Tavares de Assis Universidade Federal de Ouro Preto UFOP Instituto de Ciências Exatas e Biológicas ICEB Mestrado Profissional
Leia maisTipos de Sistemas Operacionais
Tipos de Sistemas Operacionais Prof. Edwar Saliba Júnior Março de 2007 1 TIPOS DE S.O. Monoprogramáveis / monotarefas; Multiprogramáveis / multitarefas: Batch; Tempo compartilhado; Tempo real; Sistemas
Leia maisA IMPORTÂNCIA DE THREADS NO DESEMPENHO DE APLICAÇÕES
A IMPORTÂNCIA DE THREADS NO DESEMPENHO DE APLICAÇÕES Euzébio da Costa Silva 1, Victor Pereira Ribeiro 2, Susana Brunoro Costa de Oliveira 3 1 29520-000, euzebioprogramacao@gmail.com 2 29520-000, victor3ifes@gmail.com
Leia maisO que é um sistema distribuído?
Disciplina: Engenharia de Software 4 Bimestre Aula 1: ENGENHARIA DE SOFTWARE DISTRIBUÍDO O que é um sistema distribuído? Segundo Tanenbaum e Steen (2007) um sistema distribuído é uma coleção de computadores
Leia maisSistema Operacional. Prof. Leonardo Barreto Campos. 1/30
Sistema Operacional Prof. Leonardo Barreto Campos 1/30 Sumário Introdução Middleware e SO de Rede SO de Rede Processos e Threads Leitura Complementar Bibliografia 2/30 Introdução A tarefa de qualquer sistema
Leia maisUniversidade Federal do Maranhão
Universidade Federal do Maranhão Banco de Dados II Banco de Dados Distribuídos Carlos Eduardo Portela Serra de Castro * Sumário Introdução Vantagens Projeto de Bases de Dados Distribuídas Classificação
Leia maisProcessos ca 3 pítulo
Processos capítulo 3 Introdução: Threads Para executar um programa, o sistema operacional cria um determinado números de processos virtuais. O sistema operacional mantém uma tabela de processos que contém
Leia maisIntrodução aos Sistemas Operacionais
1 Introdução aos Sistemas Operacionais 1.1 O que é um sistema operacional 1.2 História dos sistemas operacionais 1.3 O zoológico de sistemas operacionais 1.4 Conceitos sobre sistemas operacionais 1.5 Chamadas
Leia maisSistemas Distribuídos
Sistemas Distribuídos Introdução Aplicações em rede de computadores As redes de computadores atualmente estão em todos os lugares. Ex.: Internet, redes de telefones móveis, redes corporativas, em fábricas,
Leia maisSSC510 Arquitetura de Computadores. 6ª aula
SSC510 Arquitetura de Computadores 6ª aula PARALELISMO EM NÍVEL DE PROCESSOS PROFA. SARITA MAZZINI BRUSCHI Tipos de Paralelismo Instrução (granulosidade fina) Paralelismo entre as instruções Arquiteturas
Leia maisAlcides Pamplona
Alcides Pamplona alcides.pamplona@gmail.com Objetivos Gerais Capacitar o aluno a compreender os paradigmas dos Bancos de Dados Distribuídos, visando sua aplicação na análise e projeto de bancos de dados
Leia maisDesenvolvimento de Aplicações Distribuídas
Nomeação Pontifícia Universidade Católica de Minas Gerais Instituto de Ciências Exatas e Informática DAD (2019/01) Tópicos Apresentação da disciplina Introdução Desafios e características Arquitetura Comunicação
Leia maisO Modelo Síncrono BSP para Computação Paralela
O Modelo Síncrono BSP para Computação Paralela Raphael Y. de Camargo Ricardo Andrade Departamento de Ciência da Computação Instituto de Matemática e Estatística Universidade de São Paulo, Brasil São Paulo,
Leia maisSISTEMAS DISTRIBUÍDOS
INTRODUÇÃO SISTEMAS DISTRIBUÍDOS Até meados dos anos 80 as máquinas eram grandes e caras; A maioria das empresas tinham equipamentos que operavam de forma independente por falta de uma forma confiável
Leia maisAULA 1 INTRODUÇÃO AO JAVA
AULA 1 INTRODUÇÃO AO JAVA Ao término dessa aula você terá aprendido: História e características do Java Ambientes e plataformas Java O Java é a base para praticamente todos os tipos de aplicações em rede
Leia maisARQUITETURA DE SISTEMAS DISTRIBUÍDOS EVOLUÇÃO DA COMPUTAÇÃO
ARQUITETURA DE SISTEMAS DISTRIBUÍDOS EVOLUÇÃO DA COMPUTAÇÃO 1 CONTEÚDO Motivação Computação centralizada Microcomputadores e redes de computadores Sistemas distribuídos Características dos serviços em
Leia maisVisão do Usuário da DSM
Memória Compartilhada Distribuída Visão Geral Mecanismos tradicionais de comunicação via RPC/RMI ou mensagens deixam explícitas as interações entre processos Processos interagem para trocar dados de modo
Leia maisUniversidade Federal do Rio de Janeiro Pós-Graduação em Informática. Introdução. Gabriel P. Silva. Gabriel P. Silva
Universidade Federal do Rio de Janeiro Pós-Graduação em Informática Microarquiteturas de Alto Desempenho Introdução Introdução Bibliografia: Computer Architecture: A Quantitative Approach. John L. Hennesy,
Leia maisSistemas Distribuídos
Sistemas Distribuídos Classificação de Flynn Fonte: Professoras. Sarita UFRJ e Thais V. Batista - UFRN Arquiteturas Paralelas Computação Paralela Conceitos Permite a execução das tarefas em menor tempo,
Leia maisProtótipo de uma ferramenta de apoio para desenvolvimento de sistemas web para WebIntegrator
Protótipo de uma ferramenta de apoio para desenvolvimento de sistemas web para WebIntegrator Ederson Evaristo Jantsch Orientador: Marcel Hugo 09/07/2002 Roteiro Introdução Aplicação multicamadas Tecnologias
Leia maisIntrodução a Computação em Nuvem
Introdução a Computação em Nuvem Sistemas Distribuídos Mauro Lopes Carvalho Silva Professor EBTT DAI Departamento de Informática Campus Monte Castelo Instituto Federal de Educação Ciência e Tecnologia
Leia maisCarlos Eduardo Batista Centro de Informática - UFPB
Carlos Eduardo Batista Centro de Informática - UFPB bidu@ci.ufpb.br Motivação Arquitetura de computadores modernos Desafios da programação concorrente Definição de concorrência Correr junto Disputa por
Leia maisInfra-Estrutura de Software
Infra-Estrutura de Software Entrada / Saída 2º. EE: 21/06 Próximas Datas http://www.cin.ufpe.br/~cagf/if677/2016-1/ slides/ Revisão de notas: 28/06 FINAL: 30/06 Diversidade de dispositivos Hardware de
Leia maisSistemas Distribuídos
UERN Sistemas Distribuídos Prof. André Gustavo andregustavo@uern.br Sistemas Distribuídos Ementa: Conceitos relacionados com Sistemas Distribuídos. Mecanismos dos Sistemas Operacionais para suporte a distribuição.
Leia maisSIST706 Sistemas Distribuídos
Slide01 Introdução e Conceitos de Sistemas Distribuídos SIST706 Sistemas Distribuídos 2013/1 Prof. Jéfer Benedett Dörr @: prof.jefer@gmail.com profjefer.wordpress.com Sistema Distribuído Definição de Andrew
Leia maisInformática UFRGS. Programação com Objetos Distribuídos (C. Geyer) Java Comunicação 1
Programação com Objetos Distribuídos (C. Geyer) Java Comunicação 1 Autor Autor Local Cláudio Geyer Instituto de Informática disciplinas: POD e PDP Versão v4 2010-1 Programação com Objetos Distribuídos
Leia maisCOMPUTAÇÃO PARALELA E DISTRIBUÍDA
COMPUTAÇÃO PARALELA E DISTRIBUÍDA Aluno: Alessandro Faletti Orientadora: Noemi Rodriguez Introdução O objetivo inicial no projeto era aplicar a possibilidade de processamento em paralelo no sistema CSBase
Leia maisORGANIZAÇÃO E ARQUITETURA DE COMPUTADORES II AULA 04: PROCESSAMENTO PARALELO: MULTICOMPUTADOR
ORGANIZAÇÃO E ARQUITETURA DE COMPUTADORES II AULA 04: PROCESSAMENTO PARALELO: MULTICOMPUTADOR Prof. Max Santana Rolemberg Farias max.santana@univasf.edu.br Colegiado de Engenharia de Computação MULTICOMPUTADORES
Leia maisSISTEMAS DISTRIBUÍDOS
SISTEMAS DISTRIBUÍDOS Sérgio Duarte (smd@fct.unl.pt) http://asc.di.fct.unl.pt/~smd/isctem Material de suporte às aulas de Sistemas Distribuídos de Nuno Preguiça Copyright DI FCT/ UNL / 1 OBJETIVOS DA CADEIRA
Leia maisUniversidade Federal do Rio de Janeiro Informática DCC/IM. Arquitetura de Computadores II. Arquiteturas MIMD. Arquiteturas MIMD
Universidade Federal do Rio de Janeiro Informática DCC/IM Arquitetura de Computadores II Arquiteturas MIMD Arquiteturas MIMD As arquiteturas MIMD dividem-se em dois grandes modelos: Arquiteturas MIMD de
Leia maisSISTEMA DISTRIBUÍDO PARA GERENCIAMENTO DE LIBERAÇÃO DE RELEASES DE SOFTWARE
SISTEMA DISTRIBUÍDO PARA GERENCIAMENTO DE LIBERAÇÃO DE RELEASES DE SOFTWARE 12/2013 Acadêmico: Rogério Mello Vanti Orientador: Paulo Fernando da Silva Roteiro Introdução Fundamentação teórica Resultados
Leia maisARQUITETURA DE SISTEMAS DISTRIBUÍDOS. Aula 1- Introdução aos Sistemas Distribuídos
Aula 1- Introdução aos Sistemas Distribuídos OBJETIVOS DA DISCIPLINA: Compreender os conceitos de Sistemas Distribuídos; Conhecer os principais modelos de arquitetura; Entender a importância dos conceitos
Leia maisTop. Esp em Banco de Dados
Top. Esp em Banco de Dados Profa. Marta Mattoso marta@cos.ufrj.br http://www.cos.ufrj.br/~marta COPPE- Sistemas / UFRJ Introdução a Bancos de Dados Distribuídos Roteiro Introdução Caracterização de BDD
Leia maisSistemas de Bancos de Dados Distribuídos
Top. Esp em Banco de Dados Profa. Marta Mattoso marta@cos.ufrj.br http://www.cos.ufrj.br/~marta COPPE- Sistemas / UFRJ Introdução a Bancos de Dados Distribuídos Roteiro Introdução Caracterização de BDD
Leia maisSistemas de Bancos de Dados Distribuídos
Sistema de Arquivos Top. Esp em Banco de Dados Profa. Marta Mattoso marta@cos.ufrj.br http://www.cos.ufrj.br/~marta COPPE- Sistemas / UFRJ Introdução a Bancos de Dados Distribuídos 4 Roteiro Sistema de
Leia maisThread. Thread. Sistemas Operacionais. Leonard B. Moreira. UNIVERSIDADE ESTÁCIO DE SÁ fevereiro, / 41
Thread Sistemas Operacionais Leonard B. Moreira UNIVERSIDADE ESTÁCIO DE SÁ e-mail: leonardbarreto@gmail.com.br fevereiro, 2013 1 / 41 Sumário 1 Introdução 2 Ambientes Monothread 3 Ambientes Multithread
Leia mais