integrade: um sistema de middleware para computação em ...andgold/presentations/... ·...

44
1 InteGrade: um Sistema de Middleware para Computação em Grade Oportunista Dissertação apresentada ao Instituto de Matemática e Estatística da Universidade de São Paulo para obtenção do título de Mestre em Ciência da Computação. Andrei Goldchleger Orientador: Prof. Dr. Fabio Kon São Paulo, 14 de dezembro de 2004.

Upload: others

Post on 20-Jul-2020

2 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: InteGrade: um Sistema de Middleware para Computação em ...andgold/presentations/... · Orientador: Prof. Dr. Fabio Kon São Paulo, 14 de dezembro de 2004. 2 Visão Geral ... –

1

InteGrade: um Sistema de Middleware para Computação em Grade Oportunista

Dissertação apresentada ao Instituto de Matemática e Estatística da Universidade de São Paulo para obtenção do título de Mestre em Ciência da Computação.

Andrei Goldchleger

Orientador: Prof. Dr. Fabio Kon

São Paulo, 14 de dezembro de 2004.

Page 2: InteGrade: um Sistema de Middleware para Computação em ...andgold/presentations/... · Orientador: Prof. Dr. Fabio Kon São Paulo, 14 de dezembro de 2004. 2 Visão Geral ... –

2

Visão Geral

● Computação em Grade

● InteGrade: Introdução

● Trabalhos Relacionados

● InteGrade: Arquitetura e principais módulos

● InteGrade: Demais Módulos

● Programação paralela no InteGrade

Page 3: InteGrade: um Sistema de Middleware para Computação em ...andgold/presentations/... · Orientador: Prof. Dr. Fabio Kon São Paulo, 14 de dezembro de 2004. 2 Visão Geral ... –

3

Computação em Grade: Motivação

● Uso crescente de computação nas mais diversas áreas

– Simulações

● Previsão do Tempo● Mercados Financeiros● Quase todas as ciências: Química, Física, Biologia,...

– Análise e Mineração de Dados

● Wal-Mart● Experimentos (LHC...)

– Renderização

● Tradicionalmente: Máquinas Paralelas

● Mais recentemente: Aglomerados dedicados (Beowulf, ...)

● Idéia: interligar recursos computacionais onde quer que estejam

Page 4: InteGrade: um Sistema de Middleware para Computação em ...andgold/presentations/... · Orientador: Prof. Dr. Fabio Kon São Paulo, 14 de dezembro de 2004. 2 Visão Geral ... –

4

Computação em Grade: Características

● Infra-estrutura de software para interligar recursos computacionais distribuídos:

– Normalmente dispersos em uma grande área geográfica

– Possivelmente heterogêneos

– Pertencentes a diversos Domínios Administrativos

– De diferentes tipos

● Taxonomia para sistemas de Computação em Grade(Krauter et al.)

– Grade Computacional

● Grade Computacional Oportunista– Grade de Dados

– Grade de Serviços

Page 5: InteGrade: um Sistema de Middleware para Computação em ...andgold/presentations/... · Orientador: Prof. Dr. Fabio Kon São Paulo, 14 de dezembro de 2004. 2 Visão Geral ... –

5

InteGrade: Motivação

● Recursos computacionais dedicados são caros

● Instituições possuem dezenas ou centenas de computadores pessoais

● Ociosidade de tais recursos é grande

● Avanços na tecnologia dos computadores pessoais

● Possibilidade de utilizar a capacidade ociosa para realizar computação

Page 6: InteGrade: um Sistema de Middleware para Computação em ...andgold/presentations/... · Orientador: Prof. Dr. Fabio Kon São Paulo, 14 de dezembro de 2004. 2 Visão Geral ... –

6

InteGrade: Principais Características

● Sistema de Middleware para Computação em Grade oportunista

● Foco na utilização do poder computacional de estações de trabalho (computadores pessoais)

● Implementação e Arquitetura Orientada a Objetos

● Suporte a diversas categorias de aplicações

– Atualmente: Seqüenciais, Bag-of-Tasks, paralelas BSP

● Preservar os usuários que compartilham recursos na grade

– Qualidade de Serviço

– Segurança

Page 7: InteGrade: um Sistema de Middleware para Computação em ...andgold/presentations/... · Orientador: Prof. Dr. Fabio Kon São Paulo, 14 de dezembro de 2004. 2 Visão Geral ... –

7

Trabalhos Relacionados

Page 8: InteGrade: um Sistema de Middleware para Computação em ...andgold/presentations/... · Orientador: Prof. Dr. Fabio Kon São Paulo, 14 de dezembro de 2004. 2 Visão Geral ... –

8

Globus

● Argonne National Labs / U. of Chicago / USC (1996)

● Projeto de maior impacto em Computação em Grade

● Globus Toolkit (GT)

● GT2: Conjunto de serviços independentes

– MDS, GRAM, GARA,...

● GT3: Serviços baseados em uma fundação comum

– Open Grid Services Architecture (OGSA)

● Baseado em Web Services– Open Grid Services Infrastructure (OGSI)

● GT4 (em testes): WS-Resource Framework

– Refatoramento da OGSI

– Utiliza novas especificações de Web Services

Page 9: InteGrade: um Sistema de Middleware para Computação em ...andgold/presentations/... · Orientador: Prof. Dr. Fabio Kon São Paulo, 14 de dezembro de 2004. 2 Visão Geral ... –

9

Legion

● U. of Virginia (1993)

– Primeira implementação: 1997

● Arquitetura Orientada a Objetos

– Objetos centrais (core objects)

● Infra-estrutura específica

● Projeto encerrado: Avaki

Page 10: InteGrade: um Sistema de Middleware para Computação em ...andgold/presentations/... · Orientador: Prof. Dr. Fabio Kon São Paulo, 14 de dezembro de 2004. 2 Visão Geral ... –

10

Condor

● U. of Wisconsin-Madison (1988)

● Originalmente um gerenciador de aglomerados não dedicados

● High Throughput Computing

● Extensões para computação em grade

– Flocking

– Condor-G

Page 11: InteGrade: um Sistema de Middleware para Computação em ...andgold/presentations/... · Orientador: Prof. Dr. Fabio Kon São Paulo, 14 de dezembro de 2004. 2 Visão Geral ... –

11

MyGrid/OurGrid

● UFCG/HP

● Grade Computacional Simplificada

– Próprio usuário pode implantar

● Aplicações Bag-of-Tasks

● OurGrid: extensão do MyGrid

– Peer-to-peer

– reutiliza o MyGrid

– Comunidade de favores

Page 12: InteGrade: um Sistema de Middleware para Computação em ...andgold/presentations/... · Orientador: Prof. Dr. Fabio Kon São Paulo, 14 de dezembro de 2004. 2 Visão Geral ... –

12

SETI@home

● U. of Califórnia-Berkeley

● SETI

● Sistema simples

– “Sistema” embutido na Aplicação

● Grande sucesso

– 4,5 milhões de usuários (600mil ativos)

– Maior tempo de computação da história

Page 13: InteGrade: um Sistema de Middleware para Computação em ...andgold/presentations/... · Orientador: Prof. Dr. Fabio Kon São Paulo, 14 de dezembro de 2004. 2 Visão Geral ... –

13

BOINC

● U. of Califórnia-Berkeley

● Arcabouço genérico para aplicações Bag-of-Tasks

● Permite diferentes projetos (6 atualmente)

● SETI@home está sendo migrado para o BOINC

Page 14: InteGrade: um Sistema de Middleware para Computação em ...andgold/presentations/... · Orientador: Prof. Dr. Fabio Kon São Paulo, 14 de dezembro de 2004. 2 Visão Geral ... –

14

InteGrade: Arquitetura e Implementação

Page 15: InteGrade: um Sistema de Middleware para Computação em ...andgold/presentations/... · Orientador: Prof. Dr. Fabio Kon São Paulo, 14 de dezembro de 2004. 2 Visão Geral ... –

15

InteGrade: Arquitetura

● Inspirada no sistema 2K

● Unidade básica: Aglomerado

● Diferentes tipos de nós (máquinas)

● Grade InteGrade: união de vários aglomerados

Page 16: InteGrade: um Sistema de Middleware para Computação em ...andgold/presentations/... · Orientador: Prof. Dr. Fabio Kon São Paulo, 14 de dezembro de 2004. 2 Visão Geral ... –

16

InteGrade: Módulos

● Cooperam de maneira a desempenhar diversas funções necessárias à grade

– Coleta de Informações

– Escalonamento

– Armazenamento de Aplicações da Grade

● Interface definida em IDL de CORBA

Page 17: InteGrade: um Sistema de Middleware para Computação em ...andgold/presentations/... · Orientador: Prof. Dr. Fabio Kon São Paulo, 14 de dezembro de 2004. 2 Visão Geral ... –

17

Local Resource Manager (LRM)

● Disponibiliza os recursos de uma máquina na Grade

● Responsável por:

– Coletar e atualizar informações sobre a disponibilidade de recursos

– Executar aplicações

– Permitir o controle de aplicações

Page 18: InteGrade: um Sistema de Middleware para Computação em ...andgold/presentations/... · Orientador: Prof. Dr. Fabio Kon São Paulo, 14 de dezembro de 2004. 2 Visão Geral ... –

18

Global Resource Manager (GRM)

● Mantém informações sobre cada nó

– Estáticas: Sistema Operacional, modelo do processador, ...

– Dinâmicas: CPU e memória disponíveis, ...

● Escalonador das aplicações da grade

Page 19: InteGrade: um Sistema de Middleware para Computação em ...andgold/presentations/... · Orientador: Prof. Dr. Fabio Kon São Paulo, 14 de dezembro de 2004. 2 Visão Geral ... –

19

● Derivado do protocolo do 2K

● Conceito de dica (hint)

Protocolo de Disseminação de Informações

Page 20: InteGrade: um Sistema de Middleware para Computação em ...andgold/presentations/... · Orientador: Prof. Dr. Fabio Kon São Paulo, 14 de dezembro de 2004. 2 Visão Geral ... –

20

Application Repository (AR)

● Armazena as aplicações a serem executadas na Grade

● Implementação atual: apenas duas operações

– registerApplication

– getApplication

Page 21: InteGrade: um Sistema de Middleware para Computação em ...andgold/presentations/... · Orientador: Prof. Dr. Fabio Kon São Paulo, 14 de dezembro de 2004. 2 Visão Geral ... –

21

Application Submission and Control Tool (ASCT)● Principal ferramenta de interação entre o usuário e o

InteGrade, oferece as seguintes funcionalidades:

– Registro de aplicação

– Requisição de execução

– Monitoramento de execução

– Coleta de resultados

Page 22: InteGrade: um Sistema de Middleware para Computação em ...andgold/presentations/... · Orientador: Prof. Dr. Fabio Kon São Paulo, 14 de dezembro de 2004. 2 Visão Geral ... –

22

AsctGui: Tela Principal

Page 23: InteGrade: um Sistema de Middleware para Computação em ...andgold/presentations/... · Orientador: Prof. Dr. Fabio Kon São Paulo, 14 de dezembro de 2004. 2 Visão Geral ... –

23

AsctGui: Execução de Aplicação Convencional

Page 24: InteGrade: um Sistema de Middleware para Computação em ...andgold/presentations/... · Orientador: Prof. Dr. Fabio Kon São Paulo, 14 de dezembro de 2004. 2 Visão Geral ... –

24

AsctGui: Execução de Aplicação BSP

Page 25: InteGrade: um Sistema de Middleware para Computação em ...andgold/presentations/... · Orientador: Prof. Dr. Fabio Kon São Paulo, 14 de dezembro de 2004. 2 Visão Geral ... –

25

AsctGui: Execução de Aplicação Paramétrica

Page 26: InteGrade: um Sistema de Middleware para Computação em ...andgold/presentations/... · Orientador: Prof. Dr. Fabio Kon São Paulo, 14 de dezembro de 2004. 2 Visão Geral ... –

26

AsctGui: Adição de Cópia Paramétrica

Page 27: InteGrade: um Sistema de Middleware para Computação em ...andgold/presentations/... · Orientador: Prof. Dr. Fabio Kon São Paulo, 14 de dezembro de 2004. 2 Visão Geral ... –

27

AsctGui: Visualização de Resultados

Page 28: InteGrade: um Sistema de Middleware para Computação em ...andgold/presentations/... · Orientador: Prof. Dr. Fabio Kon São Paulo, 14 de dezembro de 2004. 2 Visão Geral ... –

28

Protocolo de Execução de Aplicações

Page 29: InteGrade: um Sistema de Middleware para Computação em ...andgold/presentations/... · Orientador: Prof. Dr. Fabio Kon São Paulo, 14 de dezembro de 2004. 2 Visão Geral ... –

29

Tecnologias Utilizadas

● C++/Lua/O2

– LRM

● Java/JacORB

– GRM, AR, ASCT

Page 30: InteGrade: um Sistema de Middleware para Computação em ...andgold/presentations/... · Orientador: Prof. Dr. Fabio Kon São Paulo, 14 de dezembro de 2004. 2 Visão Geral ... –

30

InteGrade: Demais Módulos

Page 31: InteGrade: um Sistema de Middleware para Computação em ...andgold/presentations/... · Orientador: Prof. Dr. Fabio Kon São Paulo, 14 de dezembro de 2004. 2 Visão Geral ... –

31

Análise e Monitoramento dos Padrões de Uso

● Recursos administrados pelo InteGrade podem ser retomados pelo proprietário a qualquer momento

● GRM apenas possui informações sobre a disponibilidade de recursos atual

● Problema: como estimar por quanto tempo a máquina ficará ociosa?

● Solução: Análise e Monitoramento dos Padrões de Uso

– Coleta de séries temporais que refletem a utilização dos recursos (CPU, memória, disco,...)

– Aplicação não supervisionada de algoritmos de clustering

– Clusters resultantes representam os Padrões de Uso

Page 32: InteGrade: um Sistema de Middleware para Computação em ...andgold/presentations/... · Orientador: Prof. Dr. Fabio Kon São Paulo, 14 de dezembro de 2004. 2 Visão Geral ... –

32

Local Usage Pattern Analyzer (LUPA)

● Realiza a coleta das séries temporais

● Aplica os algoritmos de clustering

Page 33: InteGrade: um Sistema de Middleware para Computação em ...andgold/presentations/... · Orientador: Prof. Dr. Fabio Kon São Paulo, 14 de dezembro de 2004. 2 Visão Geral ... –

33

Global Usage Pattern Analyzer (GUPA)

● Responsável por consultar os diversos LUPA sobre a possibilidade de executar uma aplicação

● Pode concentrar os padrões de uso das máquinas do aglomerado

– Questão importante: privacidade

Page 34: InteGrade: um Sistema de Middleware para Computação em ...andgold/presentations/... · Orientador: Prof. Dr. Fabio Kon São Paulo, 14 de dezembro de 2004. 2 Visão Geral ... –

34

Node Control Center (NCC)

● Permite que o proprietário do recurso imponha restrições sobre o compartilhamento

– Horários (não) permitidos

– Fração dos recursos a ser compartilhada

– Quando considerar a máquina ociosa

● Uso opcional

Page 35: InteGrade: um Sistema de Middleware para Computação em ...andgold/presentations/... · Orientador: Prof. Dr. Fabio Kon São Paulo, 14 de dezembro de 2004. 2 Visão Geral ... –

35

Programação Paralela no InteGrade

Page 36: InteGrade: um Sistema de Middleware para Computação em ...andgold/presentations/... · Orientador: Prof. Dr. Fabio Kon São Paulo, 14 de dezembro de 2004. 2 Visão Geral ... –

36

Introdução

● Multiplicidade de recursos na Grade sugere uso por aplicações paralelas

● Questões importantes:

– Comunicação

– Tolerância a falhas

– Variedade de modelos existentes

● MPI, PVM, BSP, CGM● InteGrade adotou o modelo BSP (inicialmente)

Page 37: InteGrade: um Sistema de Middleware para Computação em ...andgold/presentations/... · Orientador: Prof. Dr. Fabio Kon São Paulo, 14 de dezembro de 2004. 2 Visão Geral ... –

37

O Modelo BSP

● A bridging model for parallel computation (Valiant, 1990)

● Aplicações do tipo SPMD (Single Program, Multiple Data)

● Bibliotecas enxutas

– Oxford BSPlib possui apenas 20 funções

● Computação organizada em superpassos

– Processador trabalha com os valores que dispõe localmente

– Processador comunica-se com os demais

– Barreira de sincronização

● Comunicação só é efetivada no final do superpasso

Page 38: InteGrade: um Sistema de Middleware para Computação em ...andgold/presentations/... · Orientador: Prof. Dr. Fabio Kon São Paulo, 14 de dezembro de 2004. 2 Visão Geral ... –

38

Características da Implementação

● Adota a interface C da BSPlib

– Elimina necessidade de porte da aplicação

– Dois mecanismos de comunicação:

● Distributed Remote Memory Addressing (DRMA)● Bulk Synchronous Message Passing (BSMP)

● CORBA para comunicação entre nós da aplicação

● Independência da biblioteca em relação ao InteGrade

– Praticamente auto-contida

Page 39: InteGrade: um Sistema de Middleware para Computação em ...andgold/presentations/... · Orientador: Prof. Dr. Fabio Kon São Paulo, 14 de dezembro de 2004. 2 Visão Geral ... –

39

Funções implementadas

void bsp_begin(maxProcs)

void bsp_end()

int bsp_pid()

int bsp_nprocs()

void bsp_pushregister(addr, size)

void bsp_popregister(addr)

void bsp_put(pid, src, dst, offset, nbytes)

void bsp_get(pid, src, offset, dst, nbytes)

void bsp_sync()

Page 40: InteGrade: um Sistema de Middleware para Computação em ...andgold/presentations/... · Orientador: Prof. Dr. Fabio Kon São Paulo, 14 de dezembro de 2004. 2 Visão Geral ... –

40

Finalizando

Page 41: InteGrade: um Sistema de Middleware para Computação em ...andgold/presentations/... · Orientador: Prof. Dr. Fabio Kon São Paulo, 14 de dezembro de 2004. 2 Visão Geral ... –

41

Publicações: 1/2

● InteGrade: Object-Oriented Grid Middleware Leveraging Idle Computing Power of Desktop Machines. A. Goldchleger, F. Kon, A. Goldman, M. Finger. ACM/IFIP/USENIX 1st International Workshop on Middleware for Grid Computing.

● InteGrade: Object-Oriented Grid Middleware Leveraging Idle Computing Power of Desktop Machines. A. Goldchleger, F. Kon, A. Goldman, M. Finger, and G. C. Bezerra. Concurrency and Computation: Practice & Experience.

● Running Highly-Coupled Parallel Applications in a Computational Grid (Short Paper). A. Goldchleger, C. A. Queiroz, F. Kon and A. Goldman. 22th Brazilian Symposium on Computer Networks (SBRC'2004).

Page 42: InteGrade: um Sistema de Middleware para Computação em ...andgold/presentations/... · Orientador: Prof. Dr. Fabio Kon São Paulo, 14 de dezembro de 2004. 2 Visão Geral ... –

42

● Grid: An Architectural Pattern. Raphael Y. de Camargo, Andrei Goldchleger, Marcio Carneiro, and Fabio Kon. The 11th Conference on Pattern Languages of Programs (PloP'2004)

● Checkpointing-based Rollback Recovery for Parallel Applications on the InteGrade Grid Middleware. Raphael Y. de Camargo, Andrei Goldchleger, Fabio Kon, and Alfredo Goldman. ACM/IFIP/USENIX 2nd International Workshop on Middleware for Grid Computing

Publicações: 2/2

Page 43: InteGrade: um Sistema de Middleware para Computação em ...andgold/presentations/... · Orientador: Prof. Dr. Fabio Kon São Paulo, 14 de dezembro de 2004. 2 Visão Geral ... –

43

Agradecimentos

● Família

● Fabio Kon

● Membros do InteGrade

● Membros do GSD

● CAPES

● IMESCOSTM

– Wagner César Bruna

– Leo Kazuhiro Ueda

Page 44: InteGrade: um Sistema de Middleware para Computação em ...andgold/presentations/... · Orientador: Prof. Dr. Fabio Kon São Paulo, 14 de dezembro de 2004. 2 Visão Geral ... –

44

FIM!

http://gsd.ime.usp.br/integrade

(Fim)