Saltar para:
Esta página em português Ajuda Autenticar-se
ESTB
Você está em: Start > BINF021

High Performance Computing

Code: BINF021     Sigla: CAD

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

Ocorrência: 2018/2019 - 2S

Ativa? Yes
Unidade Responsável: Matemática e Informática
Curso/CE Responsável: Undergraduate in Bioinformatics

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 Study Plan 2 - 5 52,5 135

Docência - Responsabilidades

Docente Responsabilidade
Laércio Cruvinel Júnior

Docência - Horas

Theorethical and Practical : 3,00
Type Docente Turmas Horas
Theorethical and Practical Totais 1 3,00
Laércio Cruvinel Júnior 3,00

Língua de trabalho

Portuguese - Suitable for English-speaking students

Objetivos



The goal of this UC is to acquaint students with the benefits of optimizing applications and their parallelization through open-source tools, practices and hardware suitable for scientific computing, as well as to give them the opportunity to develop and optimize parallel code, either by using the processor cores of a machine or using multiple machines simultaneously, and at the same time taking advantage of the processing capabilities of the current graphics cards.


Resultados de aprendizagem e competências

At the end of this curricular unit the student should be able to:

  • Understand operating system operation.
  • Understand how communication between computers is processed.
  • Understand the concept of parallel and distributed processing as a way to increase performance in data management and analysis.
  • Develop algorithms and models that allow solving problems which exploit concurrency, distribution and parallelism.
  • Recognize the different hardware architectures that support the operation of these algorithms.

Modo de trabalho

Presencial

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

It is desirable that students have a knowledge of basic UNIX commands and UNIX file system navigation. They can also acquire this knowledge during the first weeks of UCPresupposes basic skills acquired in programming.

Programa


  1. Operating System Basics (4 weeks)


Weeks 1 and 2: Introduction to operating Systems (OS) and process and thread management



  1. Historical evolution

  2. Structure and objectives of an OS

  3. Current Panorama

  4. Process and thread management: concurrency and Pseudoparallelism

  5. Communication between processes and threads

  6. Process escalation


Weeks 3 and 4: Memory management and input/output management



  1. Memory types

  2. Virtual memory, paging, and segmentation

  3. I/O: Internal Implementation

  4. I/O devices, controllers, and DMA

  5. Treatment of interruptions


 



  1. Computer Networking Basics (4 weeks)


Weeks 1 and 2: Introduction to computer networks and network equipment and topologies



  1. Computer Networking Concepts

  2. OSI and TCP/IP models

  3. TCP/IP Networks and Ethernet networks

  4. Network equipment

  5. Wireless local Area Networks

  6. Virtual local Networks


Weeks 3 and 4: Communication on computer networks



  1. Communication models and processing distribution

  2. Distributed programming Interfaces in C and Java


 



  1. Introduction to the concept of parallel processing and distributed computing. Main applications and motivation (6 weeks)

    1. Client/server versusP eer-to-peer model

    2. Communication by passing messages

    3. Parallel computing challenges (shared state, correctness)

    4. Parallel execution mechanisms

      1. Serialization and synchronization

      2. Locks and traffic lights

      3. Conditional variables



    5. Models and paradigms of parallel computing

    6. Parallel Computing Applications




 



  1. Introduction to High-performance computing (3 weeks)

    1. Introduction to CUDA/OpenCL and graphics processors (GPUs)

    2. Interfaces and development models for GPUs

    3. Performance factors



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

In-person classroom lectures with slideshow and discussion of theoretical topics will occupy 50% of the discipline's time. The other 50% will be divided between practical weekly activities and development and testing of a project which is to be done in groups.

Software

Oracle VirtualBox

Palavras Chave

Physical sciences > Computer science > Informatics > Applied informatics
Technological sciences > Technology > Computer technology > Software technology
Technological sciences > Engineering > Biomedical enginnering

Tipo de avaliação

Distributed evaluation without final exam

Componentes de Avaliação

Designation Peso (%)
Teste 60,00
Trabalho laboratorial 40,00
Total: 100,00

Componentes de Ocupação

Designation 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]= Theoretical Component (>= 7.0) is the average of two tests OR is the grade of the exam.

[CP]= Practical Component (>= 7.0) = = TP1 * 0.5 + TP2 * 0.5
TP1 and TP2 are the two deliverables of the course's project.

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-06-01 às 22:16:00