Sistemas Distribuídos Sistemas Paralelos e de Alto Desempenho

Slides:



Advertisements
Apresentações semelhantes
SISTEMAS OPERACIONAIS
Advertisements

Sistemas Distribuídos
Paralelismo em Máquinas Multiprocessadas
Simulação de Sistemas Antonio J. Netto AULA1.
Sistemas Operacionais
Sistemas Distribuídos
Sistemas Cliente/Servidor Introdução
Arquitetura de Sistemas Operacionais
Introdução à Programação uma Abordagem Funcional Programação I Prof.ª Claudia Boeres CT VII - Sala 32 Departamento de Informática Centro.
Sistemas Operacionais - 3
Software Básico Silvio Fernandes
ARQUITETURA DE COMPUTADORES II
Multithreading e multiprocessamento
Arquitetura de Sistemas Operacionais
Augusto César Ferreira Gustavo Demmer Marcela Santana Márcia Back
CISC e RISC.
Sistemas Operacionais
Introdução à organização de computadores e sistemas operacionais
SSC114 Arquitetura de Computadores Arquiteturas Paralelas
Sistemas Distribuídos e Redes de Computadores
Sistemas Distribuídos, Programação Concorrente e Redes de Computadores SSC/ICMC/USP Grupo de Sistemas Distribuídos e Programação Concorrente Paulo Sérgio.
Rganização de Computadores Multiprocessadores Capítulo 9 – Patterson & Hennessy Organização de Computadores Multiprocessadores Capítulo 9 – Patterson &
Sistemas Operacionais
Banco de dados distribuídos
Aspectos Avançados em Engenharia de Software Aula 3 Fernanda Campos
Universidade do Vale do Rio dos Sinos - São Leopoldo -
2- Entendendo o que é Arquitetura e Organização
Maria Tereza Nagel Junho 2004 Grids de Agentes Processadores para Gerência de Redes de Computadores e Telecomunicações Orientador: Prof. Dr. Carlos Becker.
Paralelismo Computadores de alto-desempenho são utilizados em diversas áreas: - análise estrutural; - previsão de tempo; - exploração de petróleo; -
Tópicos em redes e sistemas distribuídos B
Linguagem de Programação IV
Tópicos em redes e sistemas distribuídos B
Tópicos em redes e sistemas distribuídos
Sistemas Distribuídos
Tópicos em redes e sistemas distribuídos Carlos Oberdan Rolim Ciência da Computação Sistemas de Informação.
Carlos Oberdan Rolim Ciência da Computação
Sistemas Operacionais I
Sistemas Distribuídos
Gerenciamento de Redes Utilizando Agentes Móveis
ARQUITETURA DE COMPUTADORES DEPT. DE CIÊNCIA DA COMPUTAÇÃO - UFMG Aula 17: Introdução às Arquiteturas Paralelas.
Sistemas Distribuídos
Sistemas Distribuídos Introdução. Conceito Coleção de múltiplos processos que executam sobre uma coleção de processadores autônomos interligados em uma.
Sistemas Operacionais
Augusto Martins e José Luís Zem Universidade Metodista de Piracicaba - UNIMEP Curso de Bacharelado em Sistemas de Informação Utilização de Cluster de Computadores.
TELP: Aplicações Paralelas em Ambientes de Passagem de Mensagens
Sistemas Operacionais
Introdução à Computação em Grade Porto Alegre, Maio/2006 Centro Nacional de Supercomputação CESUP/RS Realização: Projeto GradeUFRGS Material pertencente.
Paralelismo em Máquinas Multiprocessadas
PROGRAMAÇÃO DISTRIBUÍDA Aula 01 Prof. Henrique Mongelli
Sistemas Operacionais
Zeque - Grad. CC1 Sistemas Operacionais Curso de Ciência da Computação da UFPE Prof. José Queiroz - ZEQUE.
METODOLOGIA, MÉTODOS E FERRAMENTAS
Tópicos Especiais em Redes de Computadores 6º Semestre Aula 03 Prof
Subsistema de Entrada e Saída do Kernel
Sistemas Distribuidos
Linux em Máquinas Paralelas
Algoritmos e Programação MC102
INFRA-ESTRUTURA: HARDWARE
Estrutura de Interconexão
GRIDCC GRICC - Instrumentação Remota de Grade com Controle Distribuído Computacional William Santos RGM Lucas de Carlo RGM
Introdução aos Sistemas Operacionais
Algoritmos Paralelos.
Projetos em andamento e em perspectiva Aleardo Manacero Jr. DCCE/IBILCE/UNESP.
Introdução à Programação
Arquitetura de computadores
Conceituação e Classificação
Leandro Clementino Almeida.  Anos 50 - Sistemas Operacionais tipo Lote:  Aumentar a capacidade de processamento de programas  Usuário ia ao computador.
VIRTUALIZAÇÃO - INTRODUÇÃO Na área de TI; O que é sistema legado? É o termo utilizado em referência aos sistemas computacionais de uma organização que,
COMPILADORES 02 Prof. Marcos. COMPILADORES Do Programa à Execução Computadores das mais variadas arquiteturas têm funcionamento:
Projeto do CBPF Grid SSOLAR Bruno Lima Felipe da Matta Roberto Kishi Thagor Baiocco Tiago Olimpio
Transcrição da apresentação:

Sistemas Distribuídos Sistemas Paralelos e de Alto Desempenho

O que são Sistemas Paralelos? Introdução Sistemas Distribuídos O que são Sistemas Paralelos? MÁQUINAS PARALELAS “É um conjunto de processadores que é capaz de trabalhar cooperativamente para resolver um problema computacional” (FOSTER, 1995) "Máquinas Paralelas é um conjunto de processadores que se comunicam e cooperam para a resolução de um problema de grande porte” (Almasi e Gottelib ,1989)

O que são Sistemas Paralelos? Sistemas Distribuídos O que são Sistemas Paralelos? PROCESSAMENTO PARALELO “O principal propósito de processamento paralelo é realizar computação mais rápida do que pode ser feita com um único processador, usando mais do que um processadores concorrentes” (JaJa, 1992) O processamento paralelo pode ser definido como “uma forma eficiente de processamento da informação com ênfase na exploração de eventos concorrentes no processo computacional” Hwang PROGRAMAÇÃO PARALELA “Programação paralela implica em dividir problemas em partes nas quais processadores realizam a computação.” (WILKINSON e ALLEN, 1999)

Principais características Sistemas Paralelos Sistemas Distribuídos Principais características Sistemas com mais do que uma unidade de processamento (processador) Unidades trabalham em paralelo para resolver um problema Maquinas paralelas caracterizam-se por custo elevado e/ou dificuldade de programação; Custo pode ser diminuído a partir do entendimento das alternativas de construção de máquinas paralelas, possibilitando uma arquitetura mais acessível que obtenha o desempenho desejado; Necessidade de conhecimento de características específicas da máquina para a qual serão implementados as aplicações paralelas aumentam a complexidade no desenvolvimento de programas.

Diferenças Paralela x Distribuída Sistemas Paralelos Sistemas Distribuídos Diferenças Paralela x Distribuída Paralela "fortemente" conectada construída com esse objetivo comunicação, sistema operacional Ex.: Massive Parallel Processors (MPP) Ex.: clusters de estações de trabalho (COW) Clusters de PC’s Distribuída coleção de máquinas que trabalham em conjunto fortemente dependentes da rede heterogêneas (proc., sistemas operacionais,...) Ex.: Metacomputing (grid), redes, ciclos osciosos

Sistemas Paralelos Sistemas Distribuídos Cluster Definição Conjunto de nós autônomos ligados por redes de alta velocidade Conexão: redes Myrinet, SCI, padrão Ethernet e Infiniband Problemas: Gerenciamento da arquitetura, software e política de alocação de nós. Ex.: Beowulf, Dell, CGI

Sistemas Paralelos Sistemas Distribuídos Grid Definições “Colaboração entre, geralmente pequenos, bem conectados grupos de usuários com os mais diversos recursos para compartilhar.” (Jon Crowcroft, em The Grid2, 2004) “Uma infraestrutura de software e hardware para a integração de recursos computacionais, instrumentos científicos, dados e pessoas geograficamente dispersas de modo a formar um ambiente colaborativo de trabalho.” (FOSTER, 2004)

Questões Quantos processadores ? Qual a potência de cada processador ? Sistemas Paralelos Sistemas Distribuídos Questões Quantos processadores ? Qual a potência de cada processador ? Como eles cooperam ? Como os dados são transmitidos ? Qual o desempenho ? Escalável ? ( processadores x tamanho)

Classificações - Taxonomias Sistemas Paralelos Sistemas Distribuídos Classificações - Taxonomias Existem diversas classificações propostas para as arquiteturas de máquinas, como a de Feng - que é baseada no processamento série versus paralelo, a de Handler que determina o grau de paralelismo e pipeline em vários níveis, a classificação quanto ao compartilhamento de memória e a classificação de Flynn, quanto à multiplicidade do fluxo de dados e instruções.

Taxonomias de Flynn Propõe quatro categorias de máquinas: Sistemas Paralelos Sistemas Distribuídos Taxonomias de Flynn Propõe quatro categorias de máquinas: SISD, SIMD, MISD, MIMD A execução de um conjunto de instruções sobre um conjunto de dados é a principal tópico de processo de um computador. Fluxo, é uma seqüência de instruções ou dados executados num único processador; fluxo de instruções, é uma seqüência de instruções executados por uma máquina; fluxo de dados é uma seqüência de dados, inclusive de entrada, resultados parciais e intermediários, utilizados pelo fluxo de instruções.

Sistemas Paralelos Sistemas Distribuídos Taxonomias de Flynn

Taxonomias de Flynn -SISD Sistemas Paralelos Sistemas Distribuídos Taxonomias de Flynn -SISD SISD - Single instruction stream - Single Data Stream Baseadas nos princípios de Von Neumann. As instruções são executadas seqüencialmente, mas podem ser sobrepostas nos seus estágios de execução (pipeline). Exemplos: Microcomputadores pessoais e estações de trabalho O fluxo de instrução (--->) alimenta uma unidade de controle (C) que ativa a CPU (P), que atua sobre um único fluxo de dados (- ->) lido, pro- cessado e reescrito na memória (M). C P M fluxo de instruções fluxo de dados

Taxonomias de Flynn - SIMD Sistemas Paralelos Sistemas Distribuídos Taxonomias de Flynn - SIMD SIMD - Single instruction stream - Multiple Data Stream Arquitetura paralela onde uma única instrução, através de uma unidade de controle, executa de forma síncrona sobre um conjunto de dados diferentes, distribuídos ao longo de processadores elementares. Ex.: arquiteturas matriciais como CM-2 e MasPar. Unidade de controle (C) única, alimentada por um fluxo de instruções (--->). A mesma instrução é enviada para as diversas CPUs (P) executando em paralelo sobre diferentes fluxos de dados (- ->). Obs.: Unidade de memória não pode ser implementada como um único módulo, o que comprometeria o modelo à uma operação por vez. C P M . fluxo de instruções fluxo de dados

Taxonomias de Flynn - MISD Sistemas Paralelos Sistemas Distribuídos Taxonomias de Flynn - MISD MISD - Multiple instruction stream - Single Data Stream Múltiplos fluxos de instruções atuando sobre um único fluxo de dados; Diferentes instruções operam a mesma posição de memória ao mesmo tempo, executando instruções diferentes; Não faz sentido, além de ser impraticável tecnicamente. C P M Múltiplas unidades de processamento (P), cada uma com sua própria unidade de controle (C), recebendo um fluxo de instruções (--->) diferente, executadas sobre um mesmo fluxo de dados. C P M . . . C P M fluxo de instruções fluxo de dados

Taxonomias de Flynn - MIMD Sistemas Paralelos Sistemas Distribuídos Taxonomias de Flynn - MIMD MIMD - Multiple instruction stream - Multiple Data Stream Multiplos fluxos de instruções atuando sobre múltiplos fluxos de dados; Cada processador executa seu próprio programa sobre seus próprios dados, de forma assícrona; EX.: Dual e quad, redes de estações, nCUBE, Intel paragon e Cray T3D; C P M . Cada unidade de controle (C) recebe um fluxo de instruções (--->) próprio e repassa para a unidade processadora (P), para que seja executado sobre um fluxo de dados (--->) próprio. fluxo de instruções fluxo de dados

Programação seqüencial Sistemas Paralelos Sistemas Distribuídos Programação seqüencial Especificação da tarefa Textual, “na cabeça”, equações ... Codificação da tarefa Numa linguagem de programação (por ex. C, Java, ...) Execução num processador Programa é executado num computador com um processador

Programação Paralela Além das tarefas da programação seqüencial: Sistemas Paralelos Sistemas Distribuídos Programação Paralela Além das tarefas da programação seqüencial: Decomposição da tarefa em sub-tarefas Análise de dependências entre as sub-tarefas Mapeamento espacial e temporal (scheduling) das sub-tarefas para os recursos do sistema paralelo

Sistemas Paralelos Sistemas Distribuídos Programação Paralela

Programação Paralela Identificação de sub-tarefas/ Sistemas Paralelos Sistemas Distribuídos Programação Paralela Identificação de sub-tarefas/ decomposição em sub-tarefas Análise de dependências entre as sub-tarefas

Sistemas Paralelos Sistemas Distribuídos Programação Paralela

Sistemas Paralelos Sistemas Distribuídos Programação Paralela

Porque da Computação de alto Desempenho ? Sistemas Paralelos Sistemas Distribuídos Porque da Computação de alto Desempenho ? Modelagem de problemas reais Difícil o uso de modelos analíticos sujeitos a simplificações de difícil solução Métodos experimentais modelos em escala reduzida distância entre os átomos não pode ser reduzida técnicas não destrutivas (biológicos) para medir pertuba-se o experimento custo dos laboratórios perigo (biológicos e químicos)

Sistemas Paralelos Sistemas Distribuídos Sistema Requerido

Sistemas Paralelos Sistemas Distribuídos “A união faz a força”

Aplicações Sistemas Paralelos Modelagem Multi-Escala; Sistemas Distribuídos Aplicações Modelagem Multi-Escala; Modelagem Estocástica; Mecânica dos Fluidos Computacionais; Interação Fluido-Estrutura; Otimização e Analise de Sensibilidade na caracterização de propriedades, calibração e assimilação de dados fisiológicos e de propriedades de tecidos vivos; Banco de Dados e Mineração de Dados Distribuídos; Visualização Cientifica e Reconstrução de Imagens; Redes e Comunicação; Modelagem Climática;

Alguns Projetos em andamento ou finalizados Sistemas Paralelos Sistemas Distribuídos Alguns Projetos em andamento ou finalizados SIMEGRID: Simulações em Grid - Projeto financiado pelo CNPq (Edital CT-INFO “Desafios da Computação”) e coordenado pelo Prof. Bruno Schulze • GT VCG: Grupo de Trabalho - Virtual Community Grid – Primeira e Segunda fase. Projeto financiado pela RNP – Rede Nacional de Ensino e Pesquisa e coordenado pelo Prof. Bruno Schulze • Middleware para Computação em Grade. Projeto financiado pelo CNPq e coordenado pelo Prof. Bruno Schulze. • Integridade: Desenvolvimentos em Middleware para Grids Computacionais na Rede Giga. Projeto financiado pela FINEP, FUNTTEL e RNP, e coordenado pelo Prof. Bruno Schulze

Alguns Projetos em andamento ou finalizados Sistemas Paralelos Sistemas Distribuídos Alguns Projetos em andamento ou finalizados • INAUGRID: Interfaces de Aplicações no Uso de Grids. Projeto financiado pela CNPq e coordenado pelo Prof. Bruno Schulze. • METRICA - METRologia na Internet para Caracterização de tráfego. Projeto financiado pelo CNPq e coordenado pelo Prof. Artur Ziviani envolvendo inclusive a empresa Quatra Telecomunicações e Informática - QUATRA TELECOM. • Redes de Nova Geração: Tecnologias Estratégicas de Comunicação. Projeto financiado pela FAPERJ. • METRICOM-Metrologia na Internet e Comunicação Móvel. Projeto financiado pelo CNPq e coordenado pelo Prof. Artur Ziviani.

Alguns Projetos em andamento ou finalizados Sistemas Paralelos Sistemas Distribuídos Alguns Projetos em andamento ou finalizados • Metrologia de Redes Aplicada a Grades Computacionais Convencionais e sem Fio. Projeto financiado pela FAPERJ e Coordenado pelo Prof. Artur Ziviani. • ACiMA - Ambientes Colaborativos e Multimídia Aplicada. Projeto financiado por CAPES, CNPq, FINEP, FUNTTEL e RNP-Rede Nacional de Ensino e Pesquisa. Coordenado pelo Prof. Jauvane Cavalcante de Oliveira envolvendo pesquisadores do LNCC e do Instituto Militar de Engenharia - IME • EnCIMA - Um Motor Gráfico para Aplicações Multimídia Colaborativas e Imersivas. Projeto financiado pela FAPERJ e coordenado pelo Prof. Jauvane Cavalcante de Oliveira envolvendo pesquisadores do LNCC e do Instituto Militar de Engenharia – IME.

Alguns Projetos em andamento ou finalizados Sistemas Paralelos Sistemas Distribuídos Alguns Projetos em andamento ou finalizados • GIGA-AVICOM: Ambientes Virtuais Colaborativos Massivos na rede GIGA. Projeto financiado por CAPES, FINEP, FUNTTEL e RNP-Rede Nacional de Ensino e Pesquisa. Coordenado pelo Prof. Jauvane Cavalcante de Oliveira • Ambientes Virtuais Colaborativos de Grande Escala. Projeto financiado pelo CNPq e coordenado pelo Prof. Jauvane Cavalcante de Oliveira. • Sistemas Computacionais para Reconstrução de Superfícies Traumáticas e Previsibilidade de Resultados para Manufatura de Próteses Craniofaciais. Projeto financiado pelo CNPq e coordenado pelo Prof. Gilson Antônio Giraldi envolvendo pesquisadores da Universidade Estadual e Federal de São Paulo em São Carlos dentre outras instituições..

Alguns Projetos em andamento ou finalizados Sistemas Paralelos Sistemas Distribuídos Alguns Projetos em andamento ou finalizados • Inovação Tecnológica na Modelagem Computacional do Sistema Cardiovascular Humano. Projeto financiado pelo CNPq e coordenado pelo Prof. Raúl A. Feijóo envolvendo pesquisadores de instituições tais como InCor – Instituto do Coração do Hospital das Clinicas, Faculdade de Medicina da USP (HC FMUSP), Departamento de Cardiologia, Faculdade de Medicina da UFRJ..

Referências Introdução Sistemas Distribuídos Referências Silva, Renato (2003) “Computação de Alto Desempenho - Clusters de PCs”. Tanenmabum, Andrew S. (2003). “Sistemas Operacionais Modernos”, Pearson / Prentice Hall, 2ª Edição, pp 1-707. ISBN 85-87918-57-5. Oliver Sinnen (2000) “Sistemas de Processamento Paralelo: Programação e Scheduling”. Palestra(2000) “ Arquiteturas Não-Convencionais Introdução e conceitos “, Centro Univeritário la Salle