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

Computação de Alto Desempenho

Código: BINF021     Sigla: CAD

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

Ocorrência: 2021/2022 - 2S

Ativa? Sim
Página Web: https://moodle.ips.pt/2122/course/view.php?id=1620
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 30 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
Mais informaçõesA ficha foi alterada no dia 2022-04-19.

Campos alterados: Métodos de ensino e atividades de aprendizagem

Língua de trabalho

Português

Objetivos

Adquirir competências básicas no domínio dos Sistemas Operativos e multiprogramação.
Entender o conceito de programação paralela e de alto desempenho.
Saber quando aplicar este conhecimento a problemas da Bioinformática.
Entender o conceito de programação paralela e de alto desempenho e saber quando aplicar este conhecimento a problemas da Bioinformática.

Resultados de aprendizagem e competências

Descreve a estrutura e o funcionamento de um SO, identificando as suas partes constituintes e relacionando-o com os vários componentes físicos (hardware) do computador.
Enuncia e compara diferentes algoritmos de escalonamento, ou seleção, analisando os seus aspetos positivos e negativos.
Enuncia e compara diversas topologias de redes de computadores e descreve corretamente o funcionamento das redes locais (cabeadas ou não) e da Internet e dos paradigmas cliente/servidor e peer-to-peer.
Enuncia os diversos modelos da computação de alto desempenho.
Define um dado problema ao nível da Bioinformática, identificando as suas condicionantes.
Elabora e descreve o funcionamento dum SO baseando-se em diagramas de estado dos processos.
Programa e descreve o funcionamento dum programa que utiliza técnicas de multiprogramação como semáforos.
Programa aplicações para computadores que façam uso dos recursos do computador de forma eficiente usando e dominando técnicas de multiprogramação e sincronização de threads/processos e programação paralela a partir dum problema.
Resolve problemas da sua área recorrendo a diferentes abordagens da computação de alto desempenho.

Modo de trabalho

Presencial

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

Pressupõe competências básicas adquiridas em programação e conhecimento das utilizações mais frequentes da informática na Bioinformática.

Programa

Noções Básicas de Sistemas Operativos

  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
  7. Tipos de memória
  8. Memória virtual, paginação e segmentação
  9. E/S: Implementação interna
  10. Dispositivos de E/S, controladores e DMA
  11. Tratamento de interrupções

Noções Básicas de Redes de Computadores

  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
  7. Modelos de comunicação e distribuição de processamento
  8. Interfaces de programação distribuída em C e em Java

Introdução ao conceito de processamento paralelo e à computação distribuída.

  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
  • Variáveis condicionais
  1. Modelos e paradigmas da computação paralela
  2. Aplicações da computação paralela

Introdução à computação de alto desempenho

  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
Andrews Greg; Foundations of multithreading, parallel and distributed programming, Addison-Wesley Longman Publishing Co., 1999. ISBN: 978-0201357523

Bibliografia Complementar

Tanenbaum Andrew; Distributed Systems: Principles and Paradigms, Prentice Hall Press, 2006. ISBN: 978-1543057386
Pacheco Peter; An introduction to parallel programming, Morgan Kaufmann, 2011. ISBN: 9780123742605

Métodos de ensino e atividades de aprendizagem

Aulas teóricas com apresentação de slides e debates; apresentações de trabalhos de pesquisas em grupo; questionários Moodle para reforço de aprendizagem e avaliação.
Aulas práticas com software licenciado ou livre e simulação nos computadores do laboratório.
Proposta de trabalho de pesquisa sobre o estado da arte e projeto de programação paralela com apresentações em sala pelos estudantes.

Software

MinGW
VSCode
Python3
PyCharm

Palavras Chave

Ciências Tecnológicas > Tecnologia > Tecnologia de computadores > Tecnologia de software
Ciências Tecnológicas > Tecnologia > Tecnologia de computadores > Tecnologia de sistemas

Tipo de avaliação

Avaliação distribuída sem exame final

Componentes de Avaliação

Designação Peso (%)
Apresentação/discussão de um trabalho científico 30,00
Teste 35,00
Participação presencial 35,00
Total: 100,00

Componentes de Ocupação

Designação Tempo (Horas)
Apresentação/discussão de um trabalho científico 4,00
Estudo autónomo 37,00
Frequência das aulas 28,00
Trabalho de investigação 38,00
Trabalho laboratorial 28,00
Total: 135,00

Obtenção de frequência

Excecionalmente neste semestre não será computada a assiduidade dos alunos.

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

Nota final = 0,35xquestionários + 0,35xteste + 0,30xprojeto
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-05-09 às 16:58:47