ARQUITETURAS PARALELAS I: Processadores Superescalares
ARQUITETURAS PARALELAS II: Sistemas de Multíplos Processadores
ARQUITETURAS PARALELAS III: Computação em Grids e Clusters
ARQUITETURAS PARALELAS IV: Projetando SIMD e MIMD Arquiteturas
Objetivos dos Cursos
Processamento Paralelo tem se desenvolvido e se tornado a chave que possibilita a tecnologia de sistemas de computadores modernos, guiados pela demanda sempre crescente em direção ao alto desempenho, baixo custo, e contínua produtividade de aplicações da vida real. Esses cursos apresenta uma visão abrangente e atualizada de arquiteturas de computadores paralelos e escalares, objetivando:
-
expor a necessidade de Máquinas Paralelas (Arquiteturas Paralelas );
-
apresentar os princípios do projeto da arquitetura e sua relação com aspectos relevantes em software;
-
explorar as alternativas de projeto de classes de arquiteturas, seus conceitos, e aspectos dos projetos;
-
formar o estudante tal que ele seja capaz de analisar com objetividade arquiteturas paralelas atuais e futuras; e finalmente,
-
prover um background básico (e um provável interesse) para estudos e pesquisa futura em Sistemas Paralelos.
Pré-requisitos
Se faz necessário que alunos interessados no curso de Arquiteturas Paralelas I já tenham cursado em Arquiteturas Avançadas I (curso de mestrado) ou em Organização de Computadores II e Microprocessadores (cursos de graduação). No caso de Arquiteturas Paralelas II, seria vantajoso mas naõ é necessário que já tenham assistido o curso de Algoritmos Paralelos I (mestrado). No caso de Arquiteturas Paralelas III e IV é necessário que já tenham assistido o curso de Arquiteturas Paralelas II.
Aviso
As notas de aula são disponível em formato postscript.
Use ghostview (and ghostscript) to view and print these files.
Alternatively, convert these files to PDF format using the MS Windows program PStill or the Linux command ps2pdf and view them with Adobe's Acrobat Reader. You may need to uncompress these files first using winzip (in Windows) or gunzip (in Unix).
Ementa de Arquiteturas Paralelas I
-
[Tópico 1] Introdução - O por que, o que e onde do Paralelismo:
-
(As notas da aula (41 páginas) em gzipped postscript [636 Kbytes], gzipped pdf [218 Kbytes])
-
Tipos e níveis de paralelismo;
-
Conceitos de execuções paralelas e concorrentes;
-
Classificação de arquiteturas paralelas;
-
Técnicas de paralelismo básicas (visão arquitetural);
-
Relação entre linguagens e arquiteturas paralelas.
- (Jack Dongarra's slides on High Performance Computing [gzipped pdf, 696 Kbytes]
-
[Tópico 2] Explorando Paralelismo à nível de instrução (Instruction-Level Parallelism (ILP)) - uma revisão:
-
(As notas da aula (27 páginas) em gzipped postscript [485 Kbytes], gzipped pdf [207 Kbytes])
-
Evolução e visão geral do processamento ILP;
-
Dependências;
-
Escalonamento;
-
Preservando a consistência sequencial;
-
Speed-up potencial de ILP.
-
[Tópico 3] Processadores ILP:
-
(As notas da aula em cinco partes:
Parte 1 - 20 páginas, [gzipped postscript 351 Kbytes], [gzipped pdf 157 Kbytes]; Parte 2 - 17 páginas, [gzipped postscript 391 Kbytes], [gzipped pdf 170 Kbytes]; Parte 3 - 29 páginas, [gzipped postscript 592 Kbytes], [gzipped pdf 242 Kbytes]; Parte 4 - 18 páginas, [gzipped postscript 377 Kbytes], [gzipped pdf 144 Kbytes]; Parte 5 - 17 páginas, [gzipped postscript 363 Kbytes], [gzipped pdf 148 Kbytes].)
-
Processadores VLIW (uma breve introducão);
-
Processadores Superescalares:
-
O desenvovimento e difusão dos processadores superescalares;
-
Parallel decoding;
-
Aspectos à nível de instrução - shelving, register renaming;
-
Execução paralela - preservação da consistência sequencial na execução de instruções e, também, em exceções de processamento;
-
Casos de estudo - MIPS R10000 e PowerPC620.
-
[Tópico 4] O Processamento de Instruções da Transferência de Controle:
-
(As notas da aula (8 páginas) em gzipped postscript [143 Kbytes], gzipped pdf [90 Kbytes])
-
Tipos e verificação de resultados - o problema de desvio;
-
Estatísticas de desvio e desempenho;
-
O Abordagens básicas na manipulação de desvios;
-
Processamento de desvios - predição e especulação;
-
Desvios de vários caminhos;
-
Guarded execution.
-
[Tópico 5] Escalonamento de Código para Processadores ILP:
- (As notas da aula (10 páginas) em gzipped postscript [185 Kbytes], gzipped pdf [107 Kbytes])
-
Escalonamento do bloco básico;
-
Escalonamento de loops;
-
Escalonamento global.
-
Lista de Exercícios: (2 Páginas) gzipped postscript [22 Kbytes]; gzipped pdf [59 Kbytes].
Ementa de Arquiteturas Paralelas II
-
[Tópico 1] Introdução - O por que, o que e onde do Paralelismo:
-
(As notas da aula em gzipped postscript[636 Kbytes], gzipped pdf [218 Kbytes])
-
Tipos e níveis de paralelismo;
-
Conceitos de execuções paralelas e concorrentes;
-
Classificação de arquiteturas paralelas;
-
Técnicas de paralelismo básicas (visão arquitetural);
-
Relação entre linguagens e arquiteturas paralelas.
- (Jack Dongarra's slides on High Performance Computing [gzipped pdf, 696 Kbytes]
-
[Tópico 2] Revisão de Arquiteturas SIMD e MIMD - os Modelos Físicos e Teóricos:
-
(As notas da aula em gzipped postscript [498 Kbytes])
-
O modelos SIMD;
-
Os modelos MIMD (UMA, NUMA, CC-NUMA e COMA);
-
O modelo PRAM (e os modelos BSP and LogP).
-
[Tópico 3] Os Fundamentos de Comportamentos de Programas:
-
(As notas da aula em gzipped postscript [389 Kbytes])
-
Exploração de paralelismo.
-
[Tópico 4] Desempenho e Escalabilidade de Arquiteturas Paralelas:
-
(As notas da aula em gzipped postscript [491 Kbytes])
-
Medidas de desempenho;
-
Leis de desempenho;
-
Superlinear speedup;
-
Escalabilidade.
-
[Tópico 5] Data Parallel and MIMD Architectures - Concepts and Characteristics:
-
(As notas da aula em gzipped postscript [331 Kbytes])
-
Data Parallel Architectures;
-
Distributed Memory MIMD Architectures;
-
Shared Memory MIMD Architectures;
-
Distributed Shared Memory Systems;
-
Problems of Scalable Computers.
-
[Tópico 6] Redes de Interconexão estáticas e Permutações:
- (As notas da aula em gzipped postscript [560 Kbytes])
-
Características de redes;
-
Estratégias de controle;
-
Técnicas de switching;
-
Permutações;
-
Topologias;
-
Funções de roteamento.
-
[Tópico 7] Redes Dinâmicas:
- (As notas da aula em gzipped postscript [601 Kbytes], gzipped pdf [194 Kbytes])
-
Redes de um único estágio;
-
Redes de vários estágios;
-
Estratégias de controle;
-
Exemplos de redes;
-
Teoria de redes;
-
Custo/desempenho.
-
Lista de Exercícios: gzipped postscript [23 Kbytes], gzipped pdf [45 Kbytes]
Ementa de Arquiteturas Paralelas IV
-
Organização de Computadores Paralelos à nível de Dados:
-
Conectividade;
-
Arquiteturas SIMD:
-
Espaço de projeto;
-
Acesso à memória paralela livre de conflito;
-
Máquinas de granularidade fina (e.g. MPP);
-
Máquinas de granularidade grossa (e.g. CM5);
-
Uma crítica - o problema de difusão.
-
Arquiteturas associativas e neurais (e.g. ASP);
-
Arquiteturas data-parallel pipelines e sistólicas (e.g. WARP);
-
Arquiteturas vetoriais (e.g. CRAY family, CONVEX).
-
Organização Paralela à nível de Processo e de Thread:
-
Conceitos MIMD;
-
Problemas de computadores escalares - latências de memória e sincronização;
-
Aspectos de projeto;
-
Arquiteturas Multithreaded:
-
Solução para os problemas de latência;
-
Modelos de computação - Von Neumann, dataflow e híbrido.
-
Arquiteturas MIMD de Memória Distribuída:
-
Solução para os problemas de latência;
-
Mecanismos de troca de mensagens - técnicas switching e de roteamento;
-
Sistemas de granularidade fina (e.g. J-machine);
-
Sistemas de granularidade média (e.g. T9000 Transputer);
-
Sistemas de granularidade grossa (e.g. Intel Paragon, IBM SP2).
-
Arquiteturas MIMD de Memória Compartilhada:
-
Redes com caminhos compartilhados e redes switching;
-
O problema de Hot-Spot;
-
Combining networks;
-
Coerência de cache;
-
Sincronização e ordenação de eventos;
-
Máquinas UMA (e.g. Power Challenge);
-
Máquinas NUMA (e.g. Cray T3D);
-
Máquinas CC-NUMA (e.g. Stanford Dash);
-
Máquinas COMA (e.g. KSR 1).
Bibliografia
David E. Culler and Jaswinder Pal Singh with Anoop Gupta, Parallel Computer Architecture: A Hardware/Software Approach, Morgan Kauffman, 1999.
[Chapter 1 is available online.]
John Hennessey and David A. Patterson, Computer Architecture: A Quantitive Approach, 2nd edition, Morgan Kauffman, 1996.
Kai Hwang, Advanced Computer Architectures: Parallelism,
Scalability, Programmability, McGraw-Hill, 1993.
Dezsö Sima, Terence Fountain and Péter Kacsuk, Advanced Computer Architectures: A Design Space Approach, Addison-Wesley, 1997.
Related Links
- Home Pages
-
The Computer Architecture Home Page
-
The IEEE Computer Society's ParaScope Home Page. David A. Bader's list of Parallel Computing sites and Links.
- Performance
- The SPEC Benchmark page for performance evaluation of computer systems.
- The TOP500 Supercomputer Sites
- A graphical compostion of the Top500
- Parallel Real-Time Optimisation: Beyond Speedup. An online Technical Report from the Departament
of Computing and Information Science, Queen's
University, Kingston, Canada.
- Grid and Clusters
-
IC-UFF's Grid and Cluster Group's Home Page has a link to the group's resource page which has a greater variety of links.
-
Rajkumar Buyya's Cluster Computing Resource Page
-
Top(500)Clusters Project
-
Grid Computing Info Centre
-
Beowulf Clusters for Chemists
-
The SHRIMP Project at Princeton Univeristy investigates how to construct high-performance servers with a network of commodity PCs, and commodity operating systems.
- Microprocessor Design
- A Microprocessor Resource Page
- The UC Berkeley's CPU Info Center
- Multiprocessor research (FLASH) at Stanford Univeristy.
- The AnandTech page for more hardware analysis and news.
- BYTE Magazine.
- The MicroDesign Resource page, an insider's guide to microprocessor hardware.
- The UC Berkeley's CPU Info Center.
- The Actual Size Processor Page.
- Hitex Software's Numerical Chip Directory
- Applications
- A Scientific Applications on Linux
- Parallel Application and System research (PRISM) at Princeton Univeristy.
- History
- John Bayko's Great Microprocessors of the Past and Present.
-
- Ken Pollson's Timeline (Chronology) of Personal Computers and Workstation Computers.
- Online Publications and References
- CAPES Portal to scientific publications. O portal, que só pode ser acessado de dentro das universidades públicas
brasileiras, fornece acesso a milhares de periódicos científicos de praticamente todas as áreas de estudo (entre eles vários nacionais e internacionais de economia, direito, computação, engenharias, medicina, etc).
- Search the NECI Scientific Literature Digital Library. This is an excellent site to look for on-line publications.
- Search the Scientific Electronic Library Online. SciELO is an electronic library covering a selected collection of Brazilian scientific journals.
- Search the IEEE Digital Library.
- Search the ACM Digital Library.
- The IEEE Micro Page.
- The on-line Journal of Instruction-Level Parallelism
- Monica S. Lam and Robert P. Wilson, "Limits of Control Flow on Parallelism". In Proceedings of the 19th Annual International Symposium on Computer Architecture, Gold Coast, Australia, May 19-21, 1992,
pp. 46-57. Copyright (C) 1992 by ACM, Inc.
- Ian Foster's online book on Designing and Building Parallel Programs, published by Addison-Wesley (1995). This book provides an introduction to parallel program design and parallel programming, and discusses CC++, Fortran M, HPF, and MPI.
- Another online book (draft) by Alice E. Koniges, Morris A. Jette, and David C. Eder all from the Lawrence Livermore National Laboratory, and Margaret Cahir, Robert Moench, Sara Graffunder and Jeff Brooks from SGI/Cray Research, Part 1: The Parallel Computing Environment. Morgan Kaufmann Publishers.
- Miscellaneous
- A useful MS Windows program to convert postscript files to PDF (obrigado Sandra).
Informações Adicionais:
Prof. Vinod Rebello
Instituto de Computação
Centro Tecnológico - UFF
Rua Passo da Pátria, 156, Bloco E, 3° andar
São Domingos, Niterói - RJ, CEP 24.210-240
Email: vinod@ic.uff.br
WWW: http://www.ic.uff.br/~vefr
Tels.: (21) 2717-0970 / 2722-4446
|