ebook img

Uma Ferramenta para Processamento Distribuído de Alto Desempenho na Web PDF

197 Pages·2012·6.71 MB·Portuguese
by  
Save to my drive
Quick download
Download
Most books are stored in the elastic cloud where traffic is expensive. For this reason, we have a limit on daily download.

Preview Uma Ferramenta para Processamento Distribuído de Alto Desempenho na Web

Universidade Federal do Ceará Mestrado em Ciência da Computação Dissertação de Mestrado WVM: Uma Ferramenta para Processamento Distribuído de Alto Desempenho na Web Paulo Benício Melo de Sousa Orientador: Prof. Dr. Mário Fiallos Aguilar Fortaleza Outubro, 2001 Universidade Federal do Ceará Mestrado em Ciência da Computação Informações Gerais Título: WVM: Uma Ferramenta para Processamento Distribuído de Alto Desempenho na Web Autor: Paulo Benício Melo de Sousa Orientador: Mário Fiallos Aguilar Departamento: Ciência da Computação Grau: Mestrado Local e Data: Fortaleza, Ceará – Outubro de 2001 WVM: Uma Ferramenta para PAD na Web i i Universidade Federal do Ceará Mestrado em Ciência da Computação Agradecimentos Primeiramente, agradeço ao Deus Eucarístico, verdadeira fonte de vida e sabedoria, pelo maior dom que recebi: a vida e por ter me concedido a graça de ter chegado até aqui. Não posso começar sem reconhecer a meu orientador, o prof. Mário Fiallos, pelo seu empenho e paciência: apesar de suas ocupações e os enormes desafios de sua lenta recuperação, sempre estava pronto a atender meus questionamentos, sugerir propostas e avaliar o andamento de meu trabalho. Devo ainda agradecer a todo o corpo técnico do Centro Nacional de Processamento de Alto Desempenho no Nordeste (CENAPAD-NE), em especial à Sra. Silvia Lustosa e ao meu amigo Wagner Melcíades, que me estimularam nos momentos em que precisava dispor de mais tempo para a redação desta dissertação. Um carinho especial às duas mulheres da minha vida: Regina e Lília, que souberam entender minhas ausências, aceitando as dificuldades surgidas e me apoiando nos problemas do percurso. Não posso esquecer ainda o Orley da Secretaria do Mestrado que, por várias vezes, soube me ajudar com os vários problemas enfrentados perante a Pró-Reitoria de Pós-Graduação. Agradeço, enfim, a todos os que, direta ou indiretamente, me auxiliaram nos trabalhos. WVM: Uma Ferramenta para PAD na Web i i i Universidade Federal do Ceará Mestrado em Ciência da Computação AD ASTRA PER ASPERA (Uma estrada tortuosa leva às estrelas) WVM: Uma Ferramenta para PAD na Web i v Universidade Federal do Ceará Mestrado em Ciência da Computação A PRESENTAÇÃO WVM: Uma Ferramenta para PAD na Web v Universidade Federal do Ceará Mestrado em Ciência da Computação Resumo Este trabalho apresenta uma alternativa para programação de aplicações paralelas- distribuídas que utilizam PVM, MPI ou Java. A ferramenta, que se utiliza de conceitos extremamente simples, é chamada WVM (Web Virtual Machine), numa alusão à possibilidade de se utilizar a World-Wide-Web como alternativa para configurar e utilizar aglomerados (clusters) remotos para processamento. WVM dá suporte às várias fases de desenvolvimento de aplicações, tais como conexão remota, edição de códigos, compilação, execução e monitoramento básico de programas. Além disso, WVM permite que usuários ligados à WWW através de browser, acessem os aplicativos (bibliotecas) de um sistema de PAD (Processamento de Alto Desempenho) específico. O objetivo final é apresentar um modelo simples e expansível e fornecer uma ferramenta que possa auxiliar no desenvolvimento de programas distribuídos em diferentes plataformas, tais como clusters de PCs, estações de trabalho e computadores de grande porte, como o existente no campo piloto do protótipo, em execução no Centro Nacional de Processamento de Alto Desempenho (CENAPAD-NE). Palavras-Chaves Processamento paralelo e distribuído, PVM, MPI, Java, WWW. WVM: Uma Ferramenta para PAD na Web v i Universidade Federal do Ceará Mestrado em Ciência da Computação Abstract This work presents an alternative for programming of parallel and distributed applications that use PVM, MPI or Java. The tool is called WVM (Web Virtual Machine), alluding to the possibility for using the World-Wide-Web as an alternative to configure and to utilize specific remote clusters for processing. WVM supports the different phases of application development: remote connection, code editing, compiling, execution and programming monitoring. WVM also allows that users interconnected to the WWW access applications (libraries) from a High Performance Computing Center. The tool, which is experimentally running at the National High Performance Computing Center in the Northeast of Brazil (CENAPAD-NE) has been aiding in the development of programs distributed in different platforms, such as clusters of PCs, of work stations and computers of great load. Keywords Distributed and parallel processing, PVM, MPI, Java, WWW. WVM: Uma Ferramenta para PAD na Web v i i Universidade Federal do Ceará Mestrado em Ciência da Computação Sumário INFORMAÇÕES GERAIS...........................................................................................................II AGRADECIMENTOS...............................................................................................................III APRESENTAÇÃO.................................................................................................................V RESUMO...............................................................................................................................VI PALAVRAS-CHAVES..............................................................................................................VI ABSTRACT...........................................................................................................................VII KEYWORDS.........................................................................................................................VII SUMÁRIO............................................................................................................................VIII ÍNDICE DAS FIGURAS...........................................................................................................XV ÍNDICE DAS TABELAS........................................................................................................XVIII INTRODUÇÃO......................................................................................................................XIX i. Considerações Iniciais.............................................................................................xix ii. Objetivo da Dissertação............................................................................................xx iii. Notação Utilizada.......................................................................................................xx iv. Organização do Trabalho...........................................................................................xxi PARTE I..................................................................................................................................1 CAPÍTULO 1 - CONCEITOS BÁSICOS.......................................................................................2 Introdução.........................................................................................................................2 1.1. Considerações de Hardware: Sistemas Computacionais..........................................2 1.1.1 – Evolução e Desafios...........................................................................................2 A. Breve Histórico......................................................................................................2 (i). Necessidades dos usuários.................................................................................5 (ii). Hardware versus Software................................................................................5 B. O Problema do Processamento...............................................................................5 C. Desafios para o Processamento..............................................................................8 1.1.2 – Classificações das Arquiteturas..........................................................................8 A. Considerações Históricas ......................................................................................8 B. Sistemas MIMD ..................................................................................................11 (i). Quanto ao Acoplamento...................................................................................11 (ii). Quanto à Dep. dos Processadores e Granulosidade das Tarefas .....................13 WVM: Uma Ferramenta para PAD na Web v i i i Universidade Federal do Ceará Mestrado em Ciência da Computação (iii). Quanto à Sincronização ................................................................................14 C. Sistemas Distribuído e Redes de Computadores ..................................................14 1.2. Considerações de Software: Sistemas e Aplicações Distribuídas...........................15 1.2.1 – Breve Histórico................................................................................................15 1.2.2 – Classificação dos Sistemas...............................................................................16 1.2.3 – O Modelo C/S..................................................................................................18 1.2.4 – Aplicações Distribuídas....................................................................................18 A. Definição..............................................................................................................18 B. Desafios................................................................................................................19 C. Componentes de Aplicações Distribuídas.............................................................20 D. Requisitos para Aplicações Distribuídas..............................................................21 E. Alternativas de Implementação ............................................................................24 Resumo........................................................................................................................26 CAPÍTULO 2 - PROGRAMAÇÃO PARALELA - DISTRIBUÍDA....................................................27 Introdução.......................................................................................................................27 2.1. Processamento de Alto Desempenho.....................................................................28 2.1.1 – Definição..........................................................................................................28 2.1.2 –Alternativas Atuais............................................................................................28 A. Em nível de hardware..........................................................................................30 B. Em nível de software............................................................................................31 2.2. Processamento Paralelo.........................................................................................30 2.2.1 – Definição..........................................................................................................30 2.2.2 – Tipos de Paralelismo........................................................................................31 A. Quanto à Programação.........................................................................................31 B. Quanto ao Particionamento..................................................................................33 C. Quanto ao Programa (homogeneidade dos processos) .........................................34 2.2.3 – Paradigmas de Programação.............................................................................33 2.2.4 – Aspectos Funcionais.........................................................................................36 A. Fatores Determinantes para o Desempenho..........................................................34 (i). Granulosidade..................................................................................................35 (ii). Balanceamento de Carga / Sincronização.......................................................37 (iii). Escalabilidade................................................................................................38 B. Dificuldades no Paralelismo.................................................................................37 C. Justificando o Paralelismo....................................................................................38 2.3. Passagem de Mensagem........................................................................................39 2.3.1 – Definição e Características...............................................................................39 A. Vantagens.............................................................................................................39 B. Limitações............................................................................................................41 WVM: Uma Ferramenta para PAD na Web i x Universidade Federal do Ceará Mestrado em Ciência da Computação 2.3.2 – Tipos de Rotinas...............................................................................................42 2.3.3 – Tipos de Comunicação.....................................................................................42 A. Quanto ao Bloqueio..............................................................................................42 B. Quanto à Sincronização........................................................................................43 C. Quanto ao Armazenamento da Mensagem...........................................................44 2.3.4 – Principais Bibliotecas de Passagem de Mensagem...........................................43 A. Características Comuns........................................................................................44 B. PVM (Parallel Virtual Machine)...........................................................................45 (i). Introdução........................................................................................................46 (ii). Funcionamento...............................................................................................46 (iii). Principais Rotinas..........................................................................................49 C. MPI (Message Passing Interface)........................................................................50 (i). Introdução........................................................................................................50 (ii). Funcionamento...............................................................................................50 (iii). Principais Rotinas..........................................................................................52 2.3.5 – Características da Programação Distribuída de Alto Desempenho...................53 Resumo........................................................................................................................54 CAPÍTULO 3 - PROCESSAMENTO NA INTERNET.....................................................................54 Introdução.......................................................................................................................54 3.1. Internet e Computação Distribuída........................................................................54 3.1.1 – Histórico...........................................................................................................54 3.1.2 - Java...................................................................................................................56 A. Considerações Iniciais..........................................................................................56 B. Computação Distribuída com Java.......................................................................57 C. Usando Java para Comunicar Processos...............................................................58 D. Tendências Futuras..............................................................................................59 E. Outras Tecnologias...............................................................................................61 (i). Aplicações proprietárias...................................................................................61 (ii). Novas linguagens de programação..................................................................62 3.1.3 – Características da Programação Internet...........................................................62 3.2. Metacomputação....................................................................................................64 3.2.1 – Definições e Características..............................................................................62 A. O que significa Metacomputação.........................................................................62 B. Características......................................................................................................63 C. Componentes........................................................................................................64 3.2.2 – Modelos de Metacomputação...........................................................................66 A. Classes de Comunicação e Interfaces...................................................................67 B. Ferramentas e Arquiteturas baseada em Agentes..................................................68 WVM: Uma Ferramenta para PAD na Web x

Description:
Processamento paralelo e distribuído, PVM, MPI, Java, WWW. Abstract. This work presents an alternative for programming of parallel and distributed desempenho, rapidez de processamento, modularidade, confiabilidade e concorrência, [JAWORSKI, 1998] - Jaworski, J. Java 1.2 Unleashed.
See more

The list of books you might like

Most books are stored in the elastic cloud where traffic is expensive. For this reason, we have a limit on daily download.