SlideShare uma empresa Scribd logo
1 de 10
Trabalho desenvolvido pelos alunos:
Anderson Algacir Mallmann
Matheus Marchezan de Marco
Rodrigo Catão Araujo
Roger Royer de Moraes
Thiago Baronio Trevisan
Computação Paralela
Tradicionalmente, o software tem sido escrito para ser executado sequencialmente. Para
resolver um problema, um algoritmo é construído e implementado como um fluxo serial de
instruções. Tais instruções são então executadas por uma unidade central de processamento de um
computador. Somente uma instrução pode ser executada por vez; após sua execução, a próxima
então é executada.
Por outro lado, a computação paralela faz uso de múltiplos elementos de processamento
simultaneamente para resolver um problema. Isso é possível ao quebrar um problema em partes
independentes de forma que cada elemento de processamento pode executar sua parte do algoritmo
simultaneamente com outros. Os elementos de processamento podem ser diversos e incluir recursos
como um único computador com múltiplos processadores, diversos computadores em rede,
hardware especializado ou qualquer combinação dos anteriores.
JPPF
JPPF é um framework desenvolvido em java, que pode ajudar os desenvolvedores a rodar e
implementar computação paralela em java. Isso permite que uma aplicação em java rode
independentes partes em vários outros computadores em paralelo. É útil para dividir a aplicação
java em diversas partes independentes, tipicamente chamadas de Tarefas.
Arquitetura e Topologia
Um grid JPPG é feito com três diferentes tipos de componentes que se comunicam entre si.
• Clientes: São os pontos de entradas para o grid, que permite desenvolvedores enviar
works através da API
• Servers: É o componente que receber o work dos clientes, e então despacha eles para
os Nó, também recebem os resultados dos Nós e envia os resultados de volta aos clientes.
• Nós: Executam o work atual.

Distribuição dos Trabalhos
Para entender a distribuição no Grid, vamos começar definindo as duas unidades de trabalho
que o JPPF suporta.
• Uma tarefa é a menor unidade de trabalho que pode ser controlada dentro do Grid.
Da perspectiva do JPPF, ela é considerada atômica.
• Um trabalho é um grupo lógico de tarefas que são submetidas ao mesmo tempo.
Para ilustrar o fluxo mais comum de execução de um trabalho, vamos dar uma olhada no
seguinte gráfico:

Fontes do Paralelismo
No nível do cliente:
• Um cliente, múltiplos jobs simultâneos;
• Múltiplos clientes;
• Local misturado, e conexão remota;
No nível do servidor:
• Número de clientes conectados;
• Número de nós conectados;
• Balanceamento de cargas;
• Job SLA;
• E/S paralela;
No nível do nó:
• Execução.
Usando o JPPF
Softwares Requiridos
• Java 1.6 ou superior
• Apache Ant 1.7.0
Instalação
Para instalar o JPPF é simples, ele vem em um formato ZIP, que para instalar basta
simplesmente descompactar o arquivo no diretório de sua escolha.
Depois de descompactado, o conteúdo vai aparecer no diretório chamado: JPPF-x.y.z<nome-do-modulo>
Executando Módulos
O JPPF inclui diferentes módulos, que podem ser executados individualmente.
Os módulos são:
• Application template: É o modelo de aplicação usado como base para uma nova
Aplicação JPPF.
• Driver: É o componente que inicia o servidor.
• Node: É o componente que inicia o computador como Nó.
• Administration console: É a ferramenta de monitoramento e administração do
servidor.
Iniciando o Servidor
Para iniciar o servidor no windows, basta executar o arquivo startDriver.bat que está
incluido dentro da pasta JPPF-x.y.z-driver. E para o Linux basta executar o startDriver.sh.
Após executar é para ser exibida uma tela semelhante a essa:
Iniciando um Nó
Para iniciar o nó no windows, basta executar o arquivo startNode.bat que está incluido
dentro da pasta JPPF-x.y.z-node. E para o Linux basta executar o startNode.sh.
Após executar é para ser exibida uma tela semelhante a essa:
Executando a ferramenta de monitoramento
Para iniciar a ferramenta no windows, basta executar o arquivo startConsole.bat que está
incluido dentro da pasta JPPF-x.y.z-admin-ui. E para o Linux basta executar o startConsole.sh.
Após executar é para ser exibida uma tela semelhante a essa:
Na ferramenta de monitoramento e administração é possível ver quantos computadores estão
conectados ao servidor através de uma lista e também através de um gráfico. Isto pode ser
localizado na Aba Topology.
Também é possível ver a execução das Jobs e os Nós que estão executando. Isto pode ser
encontrado na aba Job Data.
Dados como o Status do servidor, e gráficos de desempenho também podem ser encontrados
nas abas Server Stats e Charts respectivamente.
Executando uma aplicação
Para servir como exemplo foi usado o pacote de exemplos que existe no site do JPPF.
Depois de baixar e extrair, o exemplo pode ser encontrado na pasta JPPF-x.y.z-samplespack/MatrixMultiplication/.
Esse exemplo executa a multiplicação de 2 matrizes, dividindo a operação de acordo com o
numero de linhas de cada matriz.
O tamanho da matriz e o numero de iterações pode ser alterado no arquivo config/jppfclient.properties através de qualquer editor de texto, as informações se encontram no final do
arquivo
# the size of the matrices to multiply
matrix.size = 300
# number of times the matrix multiplication is performed
matrix.iterations = 100

Finalmente para executar, basta iniciar o arquivo run.bat no Windows ou run.sh no Linux
Uma tela semelhante a essa deverá ser exibida:

Acompanhando pela ferramenta de Monitoramento deverá ser exibido algo assim na aba Job
Data:
Referencias
http://pt.wikipedia.org/wiki/Computa%C3%A7%C3%A3o_paralela
http://www.jppf.org/doc/v3/index.php?title=JPPF_Overview
Referencias
http://pt.wikipedia.org/wiki/Computa%C3%A7%C3%A3o_paralela
http://www.jppf.org/doc/v3/index.php?title=JPPF_Overview

Mais conteúdo relacionado

Mais procurados

Introdução ao Projeto de Plataformas de Software: o quê, por que, como
Introdução ao Projeto de Plataformas de Software: o quê, por que, comoIntrodução ao Projeto de Plataformas de Software: o quê, por que, como
Introdução ao Projeto de Plataformas de Software: o quê, por que, comoRodrigo Reis
 
CPU (Central processing unit)
CPU (Central processing unit) CPU (Central processing unit)
CPU (Central processing unit) Razu Rahman
 
Qualidade, Terminologia de Hardware e Software e Redes.pdf
Qualidade, Terminologia de Hardware e Software e Redes.pdfQualidade, Terminologia de Hardware e Software e Redes.pdf
Qualidade, Terminologia de Hardware e Software e Redes.pdfOs Fantasmas !
 
Sistemas de Informação
Sistemas de InformaçãoSistemas de Informação
Sistemas de InformaçãoMariana Hiyori
 
Analista de Segurança em Redes.pdf
Analista de Segurança em Redes.pdfAnalista de Segurança em Redes.pdf
Analista de Segurança em Redes.pdfOs Fantasmas !
 
Docker interview Questions-3.pdf
Docker interview Questions-3.pdfDocker interview Questions-3.pdf
Docker interview Questions-3.pdfYogeshwaran R
 
Introdução aos periféricos
Introdução aos periféricosIntrodução aos periféricos
Introdução aos periféricosHenrique Quirino
 
Conceitos e arquitetura do sistema de banco de dados
Conceitos e arquitetura do sistema de banco de dadosConceitos e arquitetura do sistema de banco de dados
Conceitos e arquitetura do sistema de banco de dadosElaine Cecília Gatto
 
Microprocessors and their Use
Microprocessors and their UseMicroprocessors and their Use
Microprocessors and their UseAnup Dixit
 
Arquitetura de Computadores - RAID
Arquitetura de Computadores - RAIDArquitetura de Computadores - RAID
Arquitetura de Computadores - RAIDelliando dias
 
Introdução - Arquitetura e Organização de Computadores
Introdução - Arquitetura e Organização de ComputadoresIntrodução - Arquitetura e Organização de Computadores
Introdução - Arquitetura e Organização de ComputadoresWellington Oliveira
 
Microcontroladores PIC - Introdução
Microcontroladores PIC - IntroduçãoMicrocontroladores PIC - Introdução
Microcontroladores PIC - IntroduçãoFabio Souza
 
Types of Memory, ram, rom and storage
Types of Memory, ram, rom and storageTypes of Memory, ram, rom and storage
Types of Memory, ram, rom and storageAbdikani Guushaa
 
Material Algoritmos e Estruturas de Dados - 1º Bimestre
Material Algoritmos e Estruturas de Dados - 1º BimestreMaterial Algoritmos e Estruturas de Dados - 1º Bimestre
Material Algoritmos e Estruturas de Dados - 1º BimestreElaine Cecília Gatto
 
CPU - Central processing unit
CPU - Central processing unitCPU - Central processing unit
CPU - Central processing unitAbhinav Vishnoi
 

Mais procurados (20)

Introdução ao Projeto de Plataformas de Software: o quê, por que, como
Introdução ao Projeto de Plataformas de Software: o quê, por que, comoIntrodução ao Projeto de Plataformas de Software: o quê, por que, como
Introdução ao Projeto de Plataformas de Software: o quê, por que, como
 
CPU (Central processing unit)
CPU (Central processing unit) CPU (Central processing unit)
CPU (Central processing unit)
 
Comandos linux
Comandos linuxComandos linux
Comandos linux
 
Sistemas Operacionais
Sistemas OperacionaisSistemas Operacionais
Sistemas Operacionais
 
Qualidade, Terminologia de Hardware e Software e Redes.pdf
Qualidade, Terminologia de Hardware e Software e Redes.pdfQualidade, Terminologia de Hardware e Software e Redes.pdf
Qualidade, Terminologia de Hardware e Software e Redes.pdf
 
Computer Memory
Computer MemoryComputer Memory
Computer Memory
 
Sistemas de Informação
Sistemas de InformaçãoSistemas de Informação
Sistemas de Informação
 
Monografia Arduino
Monografia ArduinoMonografia Arduino
Monografia Arduino
 
Analista de Segurança em Redes.pdf
Analista de Segurança em Redes.pdfAnalista de Segurança em Redes.pdf
Analista de Segurança em Redes.pdf
 
Docker interview Questions-3.pdf
Docker interview Questions-3.pdfDocker interview Questions-3.pdf
Docker interview Questions-3.pdf
 
Introdução aos periféricos
Introdução aos periféricosIntrodução aos periféricos
Introdução aos periféricos
 
Conceitos e arquitetura do sistema de banco de dados
Conceitos e arquitetura do sistema de banco de dadosConceitos e arquitetura do sistema de banco de dados
Conceitos e arquitetura do sistema de banco de dados
 
Microprocessors and their Use
Microprocessors and their UseMicroprocessors and their Use
Microprocessors and their Use
 
Arquitetura de Computadores - RAID
Arquitetura de Computadores - RAIDArquitetura de Computadores - RAID
Arquitetura de Computadores - RAID
 
Introdução - Arquitetura e Organização de Computadores
Introdução - Arquitetura e Organização de ComputadoresIntrodução - Arquitetura e Organização de Computadores
Introdução - Arquitetura e Organização de Computadores
 
Microcontroladores PIC - Introdução
Microcontroladores PIC - IntroduçãoMicrocontroladores PIC - Introdução
Microcontroladores PIC - Introdução
 
Data science
Data scienceData science
Data science
 
Types of Memory, ram, rom and storage
Types of Memory, ram, rom and storageTypes of Memory, ram, rom and storage
Types of Memory, ram, rom and storage
 
Material Algoritmos e Estruturas de Dados - 1º Bimestre
Material Algoritmos e Estruturas de Dados - 1º BimestreMaterial Algoritmos e Estruturas de Dados - 1º Bimestre
Material Algoritmos e Estruturas de Dados - 1º Bimestre
 
CPU - Central processing unit
CPU - Central processing unitCPU - Central processing unit
CPU - Central processing unit
 

Destaque

Viagem entre o senegal e a gâmbia: a mobilidade e a circulação de pessoas em ...
Viagem entre o senegal e a gâmbia: a mobilidade e a circulação de pessoas em ...Viagem entre o senegal e a gâmbia: a mobilidade e a circulação de pessoas em ...
Viagem entre o senegal e a gâmbia: a mobilidade e a circulação de pessoas em ...UFPB
 
Apresentação sit3 vol2 2ªsérie em
Apresentação sit3 vol2 2ªsérie emApresentação sit3 vol2 2ªsérie em
Apresentação sit3 vol2 2ªsérie emTiago Rafael
 
Sinais de pontuação
Sinais de pontuaçãoSinais de pontuação
Sinais de pontuaçãoEvandro Souto
 
El emprendimiento sebastian rivera 8 c
El emprendimiento sebastian rivera 8 cEl emprendimiento sebastian rivera 8 c
El emprendimiento sebastian rivera 8 cSebastianRivera334
 
Elaich_adopt_a_site_guidelines_choose_site_mt
Elaich_adopt_a_site_guidelines_choose_site_mtElaich_adopt_a_site_guidelines_choose_site_mt
Elaich_adopt_a_site_guidelines_choose_site_mtelaich
 
Políticas públicas esporte de base
Políticas públicas   esporte de basePolíticas públicas   esporte de base
Políticas públicas esporte de baseCassio Meira Jr.
 

Destaque (13)

Biofertilizers
BiofertilizersBiofertilizers
Biofertilizers
 
Viagem entre o senegal e a gâmbia: a mobilidade e a circulação de pessoas em ...
Viagem entre o senegal e a gâmbia: a mobilidade e a circulação de pessoas em ...Viagem entre o senegal e a gâmbia: a mobilidade e a circulação de pessoas em ...
Viagem entre o senegal e a gâmbia: a mobilidade e a circulação de pessoas em ...
 
Sis2003
Sis2003Sis2003
Sis2003
 
Apresentação sit3 vol2 2ªsérie em
Apresentação sit3 vol2 2ªsérie emApresentação sit3 vol2 2ªsérie em
Apresentação sit3 vol2 2ªsérie em
 
SVC PHOTO
SVC PHOTOSVC PHOTO
SVC PHOTO
 
Sinais de pontuação
Sinais de pontuaçãoSinais de pontuação
Sinais de pontuação
 
El emprendimiento sebastian rivera 8 c
El emprendimiento sebastian rivera 8 cEl emprendimiento sebastian rivera 8 c
El emprendimiento sebastian rivera 8 c
 
Presentation1
Presentation1Presentation1
Presentation1
 
Titel Ford2011.pdf
Titel Ford2011.pdfTitel Ford2011.pdf
Titel Ford2011.pdf
 
Elaich_adopt_a_site_guidelines_choose_site_mt
Elaich_adopt_a_site_guidelines_choose_site_mtElaich_adopt_a_site_guidelines_choose_site_mt
Elaich_adopt_a_site_guidelines_choose_site_mt
 
Políticas públicas esporte de base
Políticas públicas   esporte de basePolíticas públicas   esporte de base
Políticas públicas esporte de base
 
Strengths
Strengths Strengths
Strengths
 
67647.12.06
67647.12.0667647.12.06
67647.12.06
 

Semelhante a Computação paralela com JPPF

Semelhante a Computação paralela com JPPF (20)

Softblue logic-ide
Softblue logic-ideSoftblue logic-ide
Softblue logic-ide
 
Apostila - Linguagem de Programação I
Apostila - Linguagem de Programação IApostila - Linguagem de Programação I
Apostila - Linguagem de Programação I
 
Visualg 1231617089791929-2
Visualg 1231617089791929-2Visualg 1231617089791929-2
Visualg 1231617089791929-2
 
Visualg
VisualgVisualg
Visualg
 
Threads - .Net Framework 4.0
Threads - .Net Framework 4.0Threads - .Net Framework 4.0
Threads - .Net Framework 4.0
 
Apostila s7
Apostila s7Apostila s7
Apostila s7
 
Execução de programas
Execução de programasExecução de programas
Execução de programas
 
Mrtg
MrtgMrtg
Mrtg
 
Linguagem Java, fundamentos da linguagem Java
Linguagem Java, fundamentos da linguagem JavaLinguagem Java, fundamentos da linguagem Java
Linguagem Java, fundamentos da linguagem Java
 
Silberschatz sistemas operacionais
Silberschatz   sistemas operacionaisSilberschatz   sistemas operacionais
Silberschatz sistemas operacionais
 
Oracle
OracleOracle
Oracle
 
Maven: Introdução
Maven: IntroduçãoMaven: Introdução
Maven: Introdução
 
Sistemas Operacionais - Aula 4 - Revisão e Exercícios
Sistemas Operacionais - Aula 4 - Revisão e ExercíciosSistemas Operacionais - Aula 4 - Revisão e Exercícios
Sistemas Operacionais - Aula 4 - Revisão e Exercícios
 
Android carregando dados com loaders
Android   carregando dados com loadersAndroid   carregando dados com loaders
Android carregando dados com loaders
 
gabarito.pdf
gabarito.pdfgabarito.pdf
gabarito.pdf
 
Apostila computacao
Apostila computacaoApostila computacao
Apostila computacao
 
SlackWare - Leonel
SlackWare - LeonelSlackWare - Leonel
SlackWare - Leonel
 
Concorrência na Linguagem de Programação
Concorrência na Linguagem de ProgramaçãoConcorrência na Linguagem de Programação
Concorrência na Linguagem de Programação
 
Tutorial java
Tutorial javaTutorial java
Tutorial java
 
Tutorial instalacão java
Tutorial instalacão javaTutorial instalacão java
Tutorial instalacão java
 

Computação paralela com JPPF

  • 1. Trabalho desenvolvido pelos alunos: Anderson Algacir Mallmann Matheus Marchezan de Marco Rodrigo Catão Araujo Roger Royer de Moraes Thiago Baronio Trevisan Computação Paralela Tradicionalmente, o software tem sido escrito para ser executado sequencialmente. Para resolver um problema, um algoritmo é construído e implementado como um fluxo serial de instruções. Tais instruções são então executadas por uma unidade central de processamento de um computador. Somente uma instrução pode ser executada por vez; após sua execução, a próxima então é executada. Por outro lado, a computação paralela faz uso de múltiplos elementos de processamento simultaneamente para resolver um problema. Isso é possível ao quebrar um problema em partes independentes de forma que cada elemento de processamento pode executar sua parte do algoritmo simultaneamente com outros. Os elementos de processamento podem ser diversos e incluir recursos como um único computador com múltiplos processadores, diversos computadores em rede, hardware especializado ou qualquer combinação dos anteriores. JPPF JPPF é um framework desenvolvido em java, que pode ajudar os desenvolvedores a rodar e implementar computação paralela em java. Isso permite que uma aplicação em java rode independentes partes em vários outros computadores em paralelo. É útil para dividir a aplicação java em diversas partes independentes, tipicamente chamadas de Tarefas. Arquitetura e Topologia Um grid JPPG é feito com três diferentes tipos de componentes que se comunicam entre si. • Clientes: São os pontos de entradas para o grid, que permite desenvolvedores enviar works através da API • Servers: É o componente que receber o work dos clientes, e então despacha eles para os Nó, também recebem os resultados dos Nós e envia os resultados de volta aos clientes. • Nós: Executam o work atual. Distribuição dos Trabalhos Para entender a distribuição no Grid, vamos começar definindo as duas unidades de trabalho que o JPPF suporta. • Uma tarefa é a menor unidade de trabalho que pode ser controlada dentro do Grid. Da perspectiva do JPPF, ela é considerada atômica. • Um trabalho é um grupo lógico de tarefas que são submetidas ao mesmo tempo.
  • 2. Para ilustrar o fluxo mais comum de execução de um trabalho, vamos dar uma olhada no seguinte gráfico: Fontes do Paralelismo No nível do cliente: • Um cliente, múltiplos jobs simultâneos; • Múltiplos clientes; • Local misturado, e conexão remota; No nível do servidor: • Número de clientes conectados; • Número de nós conectados; • Balanceamento de cargas; • Job SLA; • E/S paralela; No nível do nó: • Execução.
  • 3. Usando o JPPF Softwares Requiridos • Java 1.6 ou superior • Apache Ant 1.7.0 Instalação Para instalar o JPPF é simples, ele vem em um formato ZIP, que para instalar basta simplesmente descompactar o arquivo no diretório de sua escolha. Depois de descompactado, o conteúdo vai aparecer no diretório chamado: JPPF-x.y.z<nome-do-modulo> Executando Módulos O JPPF inclui diferentes módulos, que podem ser executados individualmente. Os módulos são: • Application template: É o modelo de aplicação usado como base para uma nova Aplicação JPPF. • Driver: É o componente que inicia o servidor. • Node: É o componente que inicia o computador como Nó. • Administration console: É a ferramenta de monitoramento e administração do servidor. Iniciando o Servidor Para iniciar o servidor no windows, basta executar o arquivo startDriver.bat que está incluido dentro da pasta JPPF-x.y.z-driver. E para o Linux basta executar o startDriver.sh. Após executar é para ser exibida uma tela semelhante a essa:
  • 4. Iniciando um Nó Para iniciar o nó no windows, basta executar o arquivo startNode.bat que está incluido dentro da pasta JPPF-x.y.z-node. E para o Linux basta executar o startNode.sh. Após executar é para ser exibida uma tela semelhante a essa:
  • 5. Executando a ferramenta de monitoramento Para iniciar a ferramenta no windows, basta executar o arquivo startConsole.bat que está incluido dentro da pasta JPPF-x.y.z-admin-ui. E para o Linux basta executar o startConsole.sh. Após executar é para ser exibida uma tela semelhante a essa:
  • 6. Na ferramenta de monitoramento e administração é possível ver quantos computadores estão conectados ao servidor através de uma lista e também através de um gráfico. Isto pode ser localizado na Aba Topology. Também é possível ver a execução das Jobs e os Nós que estão executando. Isto pode ser encontrado na aba Job Data. Dados como o Status do servidor, e gráficos de desempenho também podem ser encontrados nas abas Server Stats e Charts respectivamente.
  • 7. Executando uma aplicação Para servir como exemplo foi usado o pacote de exemplos que existe no site do JPPF. Depois de baixar e extrair, o exemplo pode ser encontrado na pasta JPPF-x.y.z-samplespack/MatrixMultiplication/. Esse exemplo executa a multiplicação de 2 matrizes, dividindo a operação de acordo com o numero de linhas de cada matriz. O tamanho da matriz e o numero de iterações pode ser alterado no arquivo config/jppfclient.properties através de qualquer editor de texto, as informações se encontram no final do arquivo # the size of the matrices to multiply matrix.size = 300 # number of times the matrix multiplication is performed matrix.iterations = 100 Finalmente para executar, basta iniciar o arquivo run.bat no Windows ou run.sh no Linux Uma tela semelhante a essa deverá ser exibida: Acompanhando pela ferramenta de Monitoramento deverá ser exibido algo assim na aba Job Data:
  • 8.