Arquitectura de Sistemas Paralelos e Distribuídos



Documentos relacionados
ANÁLISE DE DESEMPENHO DA PARALELIZAÇÃO DO CÁLCULO DE NÚMEROS PRIMOS UTILIZANDO PTHREAD E OPENMP 1

Exemplo de Arquitetura: Cliente/Servidor com Mestre e Escravos. Interface em IDL. Dynamic Invocation Interface. Exemplo invocação DII em Java

CASE STUDY FOR RUNNING HPC APPLICATIONS IN PUBLIC CLOUDS

Organização de Computadores 2005/2006

Cursos da Escola de Engenharias e Ciências Exatas - UnP

Instituto Superior de Engenharia do Porto Administração de Sistemas Informáticos I Clusters

Sistemas de Bases de Dados

slide 0 Algoritmos Paralelos

Arquitetura e Organização de Computadores 2. Apresentação da Disciplina

Questão 1. Benefícios. Benefícios. Desafios. Desafios. 1. Quais são os desafios e benefícios em potencial da computação distribuída?

Introdução. Sistemas Distribuídos. Mas, o que é um sistema distribuído? Seriamente. Professor: Paulo Jorge Marques. Professora Práticas: Pinki Meggi

COMPUTAÇÃO PARALELA. uma visão geral. Guilherme Galante. v.2.0

DEPARTAMENTO DE ENGENHARIA INFORMÁTICA FACULDADE DE CIÊNCIAS E TECNOLOGIA DA UNIVERSIDADE DE COIMBRA

MIEM Mestrado Integrado em Engenharia Mecânica

SISTEMAS DISTRIBUIDOS E PARALELOS 2014/2015 1º SEMESTRE

CURSO DE ENGENHARIA DE COMPUTAÇÃO Renovação de Reconhecimento pela Portaria n 123 de 09/07/12 DOU de 10/07/12 PLANO DE CURSO

Capítulo 3. Avaliação de Desempenho. 3.1 Definição de Desempenho

UNIVERSIDADE LUSÍADA DE LISBOA. Programa da Unidade Curricular SISTEMAS DISTRIBUIDOS Ano Lectivo 2015/2016

Oracle Grid Engine. Thiago Marques Soares. Pós-Graduação em Modelagem Computacional Universidade Federal de Juiz de Fora. 8 de abril de 2015

Threads. 8 de janeiro de 2015

Java Básico. Aula 1 por Thalles Cezar

Introdução à Programação B 2007/08

TerraME HPA (High Performance Architecture)

M418 AUTOMAÇÃO NAVAL

Sistemas de Tempo Real

Introdução aos Computadores e Programação

Paradigmas de Computação

ALGORÍTMOS PARALELOS LCAD. Neyval C. Reis Jr. OUTUBRO/2004. Laboratório de Computação de Alto Desempenho DI/UFES

ARQUITETURA E ORGANIZAÇÃO DE COMPUTADORES INTRODUÇÃO AO PARALELISMO: PROCESSADORES SUPERESCALARES. Prof. Dr. Daniel Caetano

Cálculo Aproximado do número PI utilizando Programação Paralela

Arquitetura de Sistemas Operativos

Open Graphics Library OpenGL

Um Modelo de Virtualização em Grades Computacionais para Inserção de Recursos Ociosos

Sistemas Operacionais

Resumo. Introdução Cluster Cluster Beowulf Curiosidades Conclução

Otimização de Desempenho e Escalabildade do Sistema Falibras-Web com o uso de Grid Computing

Sistemas Operativos. Princípios de sistemas operativos. Rui Maranhão

Computação de Alto Desempenho uma pequena introdução

UNIVERSIDADE LUSÍADA DE LISBOA. Programa da Unidade Curricular SISTEMAS DISTRIBUÍDOS Ano Lectivo 2012/2013

Capítulo 8. Software de Sistema

Supercomputadores dominavam o mercado

Programação Sistemas Computacionais

Resumo Descritivo dos Conteúdos das Disciplinas de Ementa Aberta para

Sistemas Distribuídos

CI165 Introdução. André Vignatti. 31 de julho de 2014

Introdução a Organização e Arquitetura de Computadores

Introdução aos Sistemas Operativos

Introdução à Computação

CAD Trabalho III. PThreads e OpenMP. Pedro Carvalho de Oliveira Rui André Ponte Costa

Sistema Operacional Correção - Exercício de Revisão

Arquitecturas Alternativas. Pipelining Super-escalar VLIW IA-64

Base de Dados para Administrações de Condomínios

7 Processamento Paralelo

Luís Filipe Terra Ferreira, Tiago Costa Gonçalves,

Projeto e Análise de Algoritmos. Profa. Juliana Kaizer Vizzotto. Projeto e Análise de Algoritmos - Aula 1

Programação Paralela Híbrida em CPU e GPU: Uma Alternativa na Busca por Desempenho

Sistemas Operacionais Aula 06: Threads. Ezequiel R. Zorzal

ESTUDO PRELIMINAR SOBRE A ESCALABILIDADE DE UM ALGORITMO GENÉTICO PARALELIZADO COM OPENMP. Mateus Fontoura Gomes da Rosa Márcia C.

A Evolução dos Clusters frente as demais arquiteturas de Alto Desempenho

Limitações dos Computadores

SISTEMAS OPERACIONAIS. Maquinas Virtuais e Emuladores

SISTEMAS DISTRIBUÍDOS

Tecnologia da Informação. Visão Geral sobre Informática

AULA 5 Sistemas Operacionais

Aula 02 Conceitos básicos elipse. INFORMÁTICA INDUSTRIAL II ENG1023 Profª. Letícia Chaves Fonseca

1 Introdução. 2 Funcionamento da Aplicação. Projeto de Programação - Entrega Final MEEC / Semestre Farm:TamagoISTi

Arquitecturas Paralelas I. Computação Paralela. João Luís Ferreira Sobral

Introdução. Unisinos. Leandro Tonietto ago-08

Complexidade de Algoritmos. Edson Prestes

Programação de Sistemas

Programação de Sistemas

Computação de Alto Desempenho na Ótica da Lista TOP500 ou. (Se um computador já é rápido, imaginem um sistema com computdores :-)

SISTEMAS DISTRIBUÍDOS

Placa de vídeo em CUDA

Introdução aos Sistemas Operativos

Programação Concorrente

Sistemas Operacionais 1/66

Universidade da Beira Interior Curso Tecnologias e Sistemas de Informação Tecnologia dos Computadores 2011/2012. Docente: Grupo 10:

Na Terra ou nas Nuvens, onde fica o HPC?

Sistemas Operacionais. Roteiro. Sistemas de Computadores. Os sistemas de computadores são projetados com basicamente 3 componentes: Marcos Laureano

AULA TEÓRICA 2 Tema 2. Conceitos básicos de informática, computadores e tecnologias de informação. Sistemas de numeração (continuação)

Universidade Federal de Alfenas

Controladores Lógicos Programáveis 2

O que é Grid Computing

Sistemas de Computação

UNIVERSIDADE FEDERAL DA PARAÍBA PRÓ REITORIA DE EXTENSÃO E ASSUNTOS COMUNITÁRIOS

Componente de Formação Técnica. Disciplina de

Sistemas de Computação

GUIA DE FUNCIONAMENTO DA UNIDADE CURRICULAR

REDES DE COMPUTADORES. Departamento de Informática da Faculdade de Ciências e Tecnologia da UNL 2008 / 2009

Balanceamento de Carga

Introdução a Threads Java

TRABALHO COM GRANDES MONTAGENS

Introdução. Aulas. ltodi.est.ips.pt/es. Detalhes administrativos Definição de engenharia de software Contexto Relação com outras áreas e disciplinas

Tecnologias de Cloud e Data Center (11489)

Multi-processamento. Arquitecturas MIMD de memória partilhada Multi-cores heterogéneos Multi-processadores

Apresentação do programa e bibliografia; Regras de funcionamento e de avaliação; Organização interna de um computador

Transcrição:

Docentes Arquitectura de Sistemas Paralelos e Distribuídos 0. Introdução Prof. Paulo Marques Dep. Eng. Informática, Univ. Coimbra pmarques@dei.uc.pt Prof. Luís Silva Dep. Eng. Informática, Univ. Coimbra luis@dei.uc.pt Página web da disciplina: http://pmarques.dei.uc.pt/index.php/aspd Ago/2007 Paulo Marques Dep. Eng. Informática Universidade de Coimbra pmarques@dei.uc.pt 2 Introdução Grandes Desafios Computacionais Existem problemas que não se conseguem resolver com computadores normais Desenvolvimento de drogas para combater doenças (e.g. HIV, Malária) Simulação de modelos climatéricos Simulação e previsão de tremores de terra Física planetária e exploração espacial Desenvolvimento de circuitos electrónicos Estado de arsenais nucleares Abordagens Tenho um programa que demora 7 dias a executar. Este tempo é demasiado longo para que o programa me seja útil. Como é que o consigo fazer correr num dia? 1. Trabalhando de forma mais inteligente (i.e. usando algoritmos melhores) 2. Trabalhando mais rapidamente (i.e. comprando um processador/memória mais rápido) 3. Dividindo o trabalho (i.e. colocando vários processadores/computadores a trabalhar) 3 4

O que vamos fazer? Motivação Nesta cadeira estamos interessados na 3ª abordagem: Dividir o trabalho por vários processadores/computadores! Não queremos perder demasiado tempo a pensar numa solução mais rápida ou gastar demasiado $$$ numa máquina maior/mais rápida. Porquê? Pode não ser possível encontrar algoritmos mais rápidos Máquinas mais rápidas são tipicamente muito caras Existem muitos computadores disponíveis nas instituições (especialmente à noite) Existem empresas que vendem tempo de processamento Usar diversos processadores permite resolver problemas maiores! Usar diversos processadores permite resolver problemas maiores?! 9 mulheres não conseguem ter um bebé num mês, mas conseguem ter 9 bebés em 9 meses (Forma informal de exprimir a lei de Gustafson-Barsis) O que isto quer dizer é que existe uma quantidade imensa de paralelismo disponível quando se tentam resolver problemas maiores. Embora uma tarefa individual possa não correr mais rápido, é possível resolver várias simultaneamente gastando o mesmo tempo. 5 6 BlueGene/L O Computador Mais Rápido do Mundo TOP 500 (www.top500.org) 360 TFLOPS 65,536 Dual-Processor Nodes 32TB de RAM Linux SLES 7 8

Com custos mais baixos Um pequeno vídeo 9 10 Plano Agosto Arquitecturas e hardware de sistemas de alto desempenho Aspectos quantitativos do desenvolvimento de aplicações paralelas (Lei de Amdal e Lei de Gustafson-Barsis) Modelos de programação de sistemas de alto desempenho Estratégias básicas para paralelização de aplicações Programação paramétrica usando Condor Programação em memória partilhada com Java Threads Programação em memória partilhada com OpenMP Fevereiro Programação de sistemas de memória distribuída: MPI Sistemas de ficheiros distribuídos e paralelos Sistemas de computação Grid Avaliação Duas frequências (70%) Dois trabalhos práticos (20%) (Agosto) Programação com OpenMP (Fevereiro) Programação com MPI Um trabalho de pesquisa (10%) (Agosto) Relatório sobre um tema de computação concorrente/paralela Frequências 1ª Frequência: Quinta-feira, 9 de Agosto 2ª Frequência: Fevereiro Trabalhos Práticos 1º Trabalho: Sexta-feira, 10 de Agosto (início do trabalho no final desta semana) Trabalho de Pesquisa: Segunda-feira, 6 de Agosto (início do trabalho amanhã) 2º Trabalho: Fevereiro 11 12

Trabalho de Pesquisa Possíveis Tópicos: Bibliografia Slides da Disciplina Grid Computing: O que é, como funciona? Cluster Computing: O que é, como funciona? Os mais poderosos computadores do mundo Utilização de placas gráficas para computação paralela Utilização de consolas de jogos para computação paralela? Parallel Programming: Techniques and Applications Using Networked Workstations and Parallel Computers, Barry Wilkinson, Michael Allen, C. Michael Allen, Prentice Hall, March 2004 MPI, The Complete Reference, Vol. 1: The MPI Core, Marc Snir et. al., 2nd ed., September 1998 OpenMP C/C++ Application Programming Interface, Version 2.0, March 2002 13 14 Aviso O conteúdo dos slides utilizados nas aulas provém de diversas fontes. Em particular: Prof. Paulo Marques, Universidade de Coimbra Prof. Luís Silva, Universidade de Coimbra Prof. Filipe Araújo, Universidade de Coimbra Prof. Patrício Domingues, Instituto Politécnico de Leiria Outros conteúdos provêm dos recursos de seguida indicados, assim como diversas fontes na web Os respectivos direitos de cópia pertencem aos respectivos autores Recursos Lawrence Livermore National Laboratory (LLNL): (http://www.llnl.gov/computing/training/index.html) Introduction to Parallel Computing Message Passing Interface (MPI) OpenMP Edinburgh Parallel Computing Center (EPCC): (http://www.epcc.ed.ac.uk/computing/training/document_archive/) Decomposing the Potentially Parallel Course Writing Message-Passing Parallel Programs with MPI Intel Corporation & Purdue University: (http://www.openmp.org/presentations/index.cgi?sc99_tutorial) OpenMP: An API for Writing Portable SMP Application Software, a tutorial presented at Super Computing 99 by Tim Mattson & Rudolf Eigenmann 15 16

Let s Do It! 17