High-Performance Computer Systems

120 credits (MSc, 2 years )

Today and in future, high-performance computers will be ubiquitous in autonomous vehicles using machine learning, in data centers fueling telecom, and in IoT infrastructures to analyze huge volumes of data. The challenge is to design software and hardware for them to meet demanding power and energy constraints. Being able to develop and exploit such systems and bring them to the market will be the key for the success of future use of computing.

Programme aim

In order to drive the development of future's high-performance computer systems, whether for software or hardware development, it is necessary to have a holistic view. This view combines how algorithms specified in a high-level language can utilize given computational structures and how computational resources should be designed and managed to achieve the high demands on computational performance and energy utilization as required by the future digital society.
The main topic and fundamental idea behind the programme is how the needs of future industries in terms of high computational performance and energy efficiency can be met with systematic methods based on the latest research results in the field of computer systems engineering. The Master's Programme in High-Performance Computer Systems aims to provide these cutting-edge skills.

Programme description

The Master’s Programme in High-Performance Computer Systems:
  • aims to provide a comprehensive understanding of how a complete computer system consisting of multiple layers of software and hardware interact to provide ultimate functionality, performance and energy efficiency characteristics;
  • offers a deep understanding of different topics in the areas of computer architecture, computer graphics and real-time systems, which are required to master the design of future computer systems that achieve exceptional computational performance (using general purpose and accelerator processing elements) and energy efficiency for demanding emerging applications;
  • offers the possibility to dive deep into innovation and entrepreneurship, with special emphasis on how technical ideas can be transformed into businesses either as a startup or as part of existing organizations.

The Programme includes courses on advanced computer architecture as well as techniques to help deliver high performance from parallel programs. In addition, the programme offers the possibility for students to specialize in the areas of computer architectures and sustainable computing, computer graphics, or real-time systems. In addition, the students may also choose a track on Entrepreneurship. As part of their training, the students are offered a course covering generic skills such as technical writing and presentation, research methodology, and ethics.

In addition to the compulsory and specialization courses, which offer the necessary depth, the students are free to choose elective courses, giving them a breadth into related areas such as computational science and machine learning.

Finally, in order to complete the programme the students have to complete a 30 credit Master Thesis project where the acquired knowledge and skills are put into practice. This project offers the opportunity for students to work with world renowned top faculty researchers that are involved in key projects related to the HPC strategy such as the European Processor Initiative (EPI) and use a variety of advanced systems available at the SNIC Science Cloud and the Chalmers Center for Computational Science and Engineering (C3SE).

Why apply

This programme is for all students who would like to acquire in-depth knowledge, abilities, skills and methodologies in the area of Computer Engineering and in particular in the field of High-Performance Computer Systems.
More specifically, it is for those students that aim at developing their knowledge, abilities, skills and methodologies needed to:

  • be able to lead and participate in software development as well as computer hardware for general and specific computer applications with high demands on computational performance and/or energy efficiency;
  • be able to carry out development work in the technical forefront in national as well as international environments in general and with expert knowledge in any of the following computer systems core subjects: computer architecture, real-time systems and computer graphics;
  • develop innovative technology and in methodologies needed to take an innovative idea to the market.

Several industrial trends make the proposed master's program relevant. High-Performance Computing Systems have enabled the creation of many major industries such as computer game industry, database systems and, more relevant, all applications for machine learning such as autonomous vehicles.

Other Programmes that might interest you

Computer Systems and Networks
Computer Science – Algorithms, Languages and Logic
Data Science
Embedded Electronic System Design
Interaction Design and Technologies
Software Engineering and Technology

​​​​​​​​​​​​​​​
Please note that the above schematic view corresponds to the academic year starting in autumn 2019. Minor changes may occur.
 
 

Course plan

Compulsory courses
Computer Architecture (7.5 credits) [Y1 SP1]
Computer Architecture is the engineering discipline on computer design, which conveys principles for how to convert the raw speed of transistors into application software performance through computational structures that exploit the parallelism in software. This course covers the important principles for how to design a computer that offers high performance to the application software.

High-Performance Parallel Programming (7.5 credits) [Y1 SP1]
In this course the students will not only learn the parallel programming paradigms, languages, and development environments for High-Performance Computer Systems (e.g. OpenMP, MPI, CUDA,) but also they will be exposed to performance problem-solving techniques and methodologies as to improve the execution time of parallel programs and exploit the full potential of the underlying parallel systems.

Technical Writing (7.5 credits) [Y2 SP1]
This course aims to develop the student's awareness of the underlying structure of scientific and engineering research papers, and to improve proficiency in reviewing and writing scientific research papers as well as presenting such papers in public. Ethical issues in connection with scientific writing, e.g. plagiarism and authorship, is an important part of the course.

Compulsory elective track courses
The compulsory elective track courses that serve as the backbone of the Master’s programme. Select at least two out of the four compulsory elective track courses composed of two compulsory elective courses each:

Computer Systems: 

Parallel Computer Architecture (7.5 credits)
Mainstream computing hit a wall, and the industry undertook a new mission: to put a personal parallel supercomputer on every desk, in every home, and in every pocket. This lead to the arrival of multicore tablets and smartphones. For the first time in the history of computing, mainstream hardware is no longer a single-processor von Neumann machine. This course looks at the design of current multicore systems with an eye towards how those designs are likely to evolve over the next decade. 

Sustainable Computing (7.5 credits)
This course focuses on different optimization techniques that can be applied at the different levels of a system from the lowest hardware gate levels to the highest data-center management policies as ways to achieve higher energy-efficiency and thus sustainability. Several issues should be addressed in this course such as how to make systems and programs more energy efficient but also how to reduce the impact on the environment by reducing the energy footprint for data-center and at the smaller scale systems, reduce the need to recharge batteries.

Computer Graphics:

Computer Graphics (7.5 credits)
The course aims to provide broad knowledge about algorithms for three-dimensional computer graphics and also gives the student experience in implementing basic 3D graphic techniques.

Advanced Computer Graphics (7.5 credits)
The course deepens and broadens the knowledge about algorithms in three-dimensional computer graphics and also gives the student increased experience in implementing 3D graphic techniques.

Real-time Systems:

Real-time Systems (7.5 credits)
An embedded system is a computer system designed to perform one or a few dedicated functions. For reasons of safety and usability, some embedded systems have strict constraints on non-functional behavior such as computational delay and periodicity. Such systems are referred to as real-time systems. Examples of real-time systems are control systems for cars, aircraft and space vehicles as well as computer games and multimedia applications. This course is intended to give basic knowledge about methods for the design and analysis of real-time systems.

Dependable Real-Time System (7.5 credits)
For many real-time applications, the system must be designed with multiple processors in order to meet imposed application constraints. Such situations can occur when tasks need to be physically distributed (as in a fault-tolerant vehicle braking system) or when the inherent parallelism of the application need to be fully exploited (as in a high-performance multimedia application). This course is intended to give a deeper understanding of the problems involved in designing dependable real-time systems based on multiprocessor architectures.

Entrepreneurship:

Strategic Management of Technological Innovation (7.5 credits)
This course introduces a comprehensive framework for strategically managing technological innovation, with emphasis on established firms. The framework progresses from assessment of the competitive dynamics of a firm's situation, to formulation of a technology strategy, to implementation and protection of innovation projects.

Creating Technology-Based Ventures (7.5 credits)
This course delves deeper into the implementation of new technology-based innovation projects, with emphasis on independent startups. The course is very hands on and focuses on practical tools and methods that will give students the chance to turn their own technology-based ideas into startup businesses.

Elective courses (37.5 credits)
Students are free to choose a large number of courses for their programme. This allows each student to tailor the programme to her/his own preferences. These courses offer a breadth in the knowledge for topics that are still related to the programme. As such students may choose to take courses in areas such as computational sciences or machine learning. Students may also opt to select courses closer to the core such as Operating systems or Networking. In addition, students may also take as elective courses, courses that belong to tracks that they have not chosen before for the requirements of theis programme.
 
Thesis Project (30 credits)
Students may perform their thesis work in an industrial context or within a research group at Chalmers. Students who want to write a research-oriented thesis may apply for an additional 15 credit research project or extend their research thesis work to 60 credit units.
  

Career opportunities

The programme has been designed to be relevant to a growing industrial and governmental ICT sector (e.g. computer game industry, database systems and, more relevant, all applications for machine learning such as autonomous vehicles). The programme gives a unique opportunity to combine academic training with engineering work experience, as well as entrepreneurship skills. As such a student is prepared to become:

  • Co-Founder, Chief Architect, and/or Product Owner for a product or startup company that brings a research idea into a product
  • Chief Technology Officer who takes responsibility for the company’s technological development plan and influences its competitiveness in the market
  • Systems Architect and Designer who builds HPC systems either as a new product or from available COTS
  • HPC Architect and Performance Engineer who builds HPC systems and evaluates the performance and tunes applications for such systems.
  • Systems Administrator who manages an HPC system as well as monitors and evaluates application performance
  • Project Manager responsible for driving specific projects by choosing technical directions and leading people
  • Software Engineer who develops hardware-aware optimized software for either Cloud Function as a Service (FaaS) software, libraries, or runtimes.

Research connections

The faculty behind the programme has an established track record of academic, industrial and scientific accomplishments in the following research areas:

  • Computer Architecture
  • Memory Hierarchy and Memory Compression
  • Parallel Processing Systems (multi- and many-core systems)
  • Runtime Systems
  • Reconfigurable Computing
  • Approximate Computing


In addition, faculty members are involved in a variety of research projects related to the programme’s topics such as the European Processor Initiative (EPI).

As a student, you will be invited to take part in such research through seminars, thesis projects, and other individual and group projects. Past research collaborations including master-level students have yielded many innovations and accompanying scientific publications. Moreover, many of these students have been accepted to Ph.D. studies at Chalmers and other leading institutions worldwide.

Department of Computer Science and Engineering

Published: Thu 25 Nov 2010. Modified: Thu 25 Oct 2018