Objective of the course is to present the basic methods and approaches from the field of reliability and performance of computer systems assesment to the students of computer and information science. Reliability and perfomance of computer system are bital for its effectivity. Students will comprehend theoretical knowledge from both disciplines and will also learn their practical values from the examples of real-life problems.
We instruct students how computer-aided design tools are used
to both simulate the VHDL or Verilog design and to synthesize the design to
actual hardware. Specific behaviour of HDL tools is emphasized. We present the
design of digital circuit using optimal approaches. As part of the course,
students develop familiarity and confidence with designing, building and
testing digital circuits, including the use of CAD tools, develop team-building
skills and enhance technical knowledge through both written assignments and
design projects.

The semiconductor
technology has reached physical limitations that prevent greater
miniaturization of chips and with it more energy efficient and more powerful
processors. Current research focuses on devices with multi-core processors and
general purpose graphics processing units on one side and a wide variety of
computer clusters and cloud services on the other.

To take
full advantage of these devices, it is necessary to know the architecture of
these systems and appropriate software interfaces. During the semester we will
learn how to make multithreaded programs, Open MP programs for multicore
processors, how to exploit general purpose graphics processing units with Open
CL library, MPI library for working with clusters, grid systems and computing
clouds.

We will
learn about the traps of parallel and distributed systems, try to understand them
and find the ways to avoid them. At the end of the course you will be able to select
the most appropriate hardware platform and write an efficient parallel program
for a problem at hand.

Homework
assignments for the course are required and are being assessed. Every week students
get a short assignment, which is linked to the lectures. To get a positive grade
from the homework assignments you need to successfully complete at least 80% of
short assignments. Short assignments represent one-third of the final grade. Second-third
is obtained from parallelization of more comprehensive algorithm on two
different parallel platforms. The last third of the grade is obtained on the
oral exam.