Saltar para:
This page in english Ajuda Autenticar-se
ESTB
Você está em: Início > BINF021
Autenticação




Esqueceu-se da senha?

Computação de Alto Desempenho

Código: BINF021     Sigla: CAD

Áreas Científicas
Classificação Área Científica
OFICIAL Informática

Ocorrência: 2018/2019 - 2S

Ativa? Sim
Unidade Responsável: Matemática e Informática
Curso/CE Responsável: Licenciatura em Bioinformática

Ciclos de Estudo/Cursos

Sigla Nº de Estudantes Plano de Estudos Anos Curriculares Créditos UCN Créditos ECTS Horas de Contacto Horas Totais
BINF 19 Plano Estudos 2016 2 - 5 52,5 135

Docência - Responsabilidades

Docente Responsabilidade
Laércio Cruvinel Júnior Responsável

Docência - Horas

Ensino Teórico-Prático: 3,00
Tipo Docente Turmas Horas
Ensino Teórico-Prático Totais 1 3,00
Laércio Cruvinel Júnior 3,00

Língua de trabalho

Português - Suitable for English-speaking students

Objetivos

O objetivo desta UC é dar a conhecer aos alunos os benefícios da otimização das aplicações e da sua paralelização através de ferramentas open-source, práticas e hardware adequados para a computação científica, bem como dar-lhes oportunidade de desenvolver e otimizar código de execução paralela, seja utilizando os núcleos do processador de uma máquina, seja utilizando várias máquinas em simultâneo, e ao mesmo tempo tirando partido dos recursos de processamento das placas gráficas atuais.

Resultados de aprendizagem e competências

No final desta unidade curricular o estudante deverá estar apto para:

  • Compreender o funcionamento do sistema operativo.
  • Compreender como se processa a comunicação entre computadores.
  • Compreender o conceito de processamento paralelo e distribuído como forma de aumentar o desempenho na gestão e análise de dados.
  • Desenvolver algoritmos e modelos que permitam resolver problemas que explorem a gestão da concorrência, da distribuição e do paralelismo.
  • Reconhecer as diferentes arquiteturas de hardware de suporte ao funcionamento destes algoritmos.

Modo de trabalho

Presencial

Pré-requisitos (conhecimentos prévios) e co-requisitos (conhecimentos simultâneos)

É desejável que os alunos disponham de um conhecimento de comandos UNIX básicos e navegação do sistema de ficheiros UNIX. Também podem adquirir estes conhecimentos durante as primeiras semanas da UCPressupõe competências básicas adquiridas em programação.

Programa


  1. Noções Básicas de Sistemas Operativos (4 semanas)


Semanas 1 e 2: Introdução aos Sistemas Operativos (SO) e Gestão de Processos e threads



  1. Evolução histórica

  2. Estrutura e objetivos dum SO

  3. Panorâmica atual

  4. Gestão de processos e threads: Concorrência e pseudoparalelismo

  5. Comunicação entre processos e threads

  6. Escalonamento de processos


Semanas 3 e 4: Gestão de Memória e Gestão de entradas/saídas



  1. Tipos de memória

  2. Memória virtual, paginação e segmentação

  3. E/S: Implementação interna

  4. Dispositivos de E/S, controladores e DMA

  5. Tratamento de interrupções


 



  1. Noções Básicas de Redes de Computadores (4 semanas)


Semanas 1 e 2: Introdução às Redes de computadores e Equipamentos e topologias de redes



  1. Conceitos de Redes de Computadores

  2. Modelos OSI e TCP/IP

  3. Redes TCP/IP e Redes Ethernet

  4. Equipamentos de Redes

  5. Redes Locais Sem Fios

  6. Redes Locais Virtuais


Semanas 3 e 4: Comunicação sobre Redes de computadores



  1. Modelos de comunicação e distribuição de processamento

  2. Interfaces de programação distribuída em C e em Java


 



  1. Introdução ao conceito de processamento paralelo e à computação distribuída. Principais aplicações e motivação (6 semanas)

    1. Modelo Cliente/Servidor versus Modelo Peer-to-Peer

    2. Comunicação por passagem de mensagens

    3. Desafios da computação paralela (shared state, correctness)

    4. Mecanismos de execução paralela

      1. Serialização e sincronização

      2. Locks e Semáforos

      3. Variáveis condicionais








    1. Modelos e paradigmas da computação paralela

    2. Aplicações da computação paralela



 



  1. Introdução à computação de alto desempenho (3 semanas)

    1. Introdução a CUDA/OpenCL e Processadores Gráficos (GPUs)

    2. Interfaces e modelos de desenvolvimento para GPUs

    3. Fatores de desempenho



Bibliografia Obrigatória

Tanenbaum Andrew; Modern operating systems, Prentice Hall Press, 2015. ISBN: 978-0133591620
Pacheco Peter; An introduction to parallel programming, Morgan Kaufmann, 2011. ISBN: 978-0123742605

Bibliografia Complementar

Andrews Greg; Foundations of parallel and distributed programming, Addison-Wesley Longman Publishing Co., 1999. ISBN: 978-0201357523
van Steen, Maarten and Tanenbaum, Andrew ; Distributed Systems: Principles and Paradigms, Prentice Hall Press, 2006. ISBN: 978-1543057386

Métodos de ensino e atividades de aprendizagem

As aulas presenciais com apresentação de slides e discussão de tópicos teóricos ocuparão 50% do tempo da disciplina. Os outros 50% serão divididos entre atividades práticas semanais e desenvolvimento e teste do trabalho prático em grupo.

Software

Oracle VirtualBox

Palavras Chave

Ciências Físicas > Ciência de computadores > Informática > Informática aplicada
Ciências Tecnológicas > Tecnologia > Tecnologia de computadores > Tecnologia de software
Ciências Tecnológicas > Engenharia > Engenharia biomédica

Tipo de avaliação

Avaliação distribuída sem exame final

Componentes de Avaliação

Designação Peso (%)
Teste 60,00
Trabalho laboratorial 40,00
Total: 100,00

Componentes de Ocupação

Designação Tempo (Horas)
Frequência das aulas 28,00
Trabalho laboratorial 28,00
Total: 56,00

Fórmula de cálculo da classificação final

NF(>= 10.0) =[CT]*0.6+[CP]*0.4

[CT]= Componente Teórica (>= 7.0) obtida por média ponderada dos dois testes em avaliação contínua OU por exame.

[CP]= Componente Prática (>= 7.0) = = TP1 * 0.5 + TP2 * 0.5
TP1 e TP2 correspondem às duas entregas do trabalho prático da UC.

Recomendar Página Voltar ao Topo
Copyright 1996-2024 © Instituto Politécnico de Setúbal - Escola Superior de Tecnologia do Barreiro  I Termos e Condições  I Acessibilidade  I Índice A-Z
Página gerada em: 2024-11-23 às 18:31:49