Title:

Parallel System Architecture and Programming

Code:ARC
Ac.Year:2018/2019
Sem:Summer
Curriculums:
ProgrammeFieldYearDuty
IT-MSC-2MBI-Compulsory-Elective - group C
IT-MSC-2MBS-Elective
IT-MSC-2MGM-Compulsory-Elective - group C
IT-MSC-2MIN-Elective
IT-MSC-2MIS-Elective
IT-MSC-2MMM-Elective
IT-MSC-2MPV1stCompulsory
IT-MSC-2MSK1stCompulsory
Language of Instruction:Czech
Credits:5
Completion:credit+exam (written)
Type of
instruction:
Hour/semLecturesSeminar
Exercises
Laboratory
Exercises
Computer
Exercises
Other
Hours:26001214
 ExamsTestsExercisesLaboratoriesOther
Points:60100030
Guarantor:Jaroš Jiří, doc. Ing., Ph.D. (DCSY)
Lecturer:Jaroš Jiří, doc. Ing., Ph.D. (DCSY)
Instructor:Čudová Marta, Ing. (DCSY)
Jaroš Jiří, doc. Ing., Ph.D. (DCSY)
Vaverka Filip, Ing. (DCSY)
Faculty:Faculty of Information Technology BUT
Department:Department of Computer Systems FIT BUT
Substitute for:
Advanced Computer Architecture (ARP), DCSY
Practical Parallel Programming (PPP), DCSY
Schedule:
DayLessonWeekRoomStartEndLect.Gr.St.G.EndG.
MonlecturelecturesD020708:0009:501MIT17 MPV17 MPV
MonlecturelecturesD020708:0009:501MIT18 MSK18 MSK
MonlecturelecturesD020708:0009:502MITxxxx
Moncomp.lablecturesO20410:0011:501MITxxxx
Moncomp.lablecturesO20410:0011:502MITxxxx
Moncomp.lablecturesO20412:0013:501MITxxxx
Moncomp.lablecturesO20412:0013:502MITxxxx
Moncomp.lablecturesO20414:0015:501MITxxxx
Moncomp.lablecturesO20414:0015:502MITxxxx
Fricomp.lablecturesO20410:0011:501MITxxxx
Fricomp.lablecturesO20410:0011:502MITxxxx
 
Learning objectives:
  To orientate oneself in parallel systems on the market, be able to assess communication and computing possibilities of a particular architecture and to predict the performance of parallel applications. To get acquainted with the most important parallel programming tools (MPI, OpenMP), to learn their practical use and solving problems in parallel.
Description:
  The course covers architecture and programming of parallel systems with functional- and data-parallelism. First the parallel system theory and program parallelization are discussed. Programming for shared memory systems in OpenMP follows and then the most proliferated multi-core multiprocessors (SMP) and the advanced DSM NUMA systems are described.  The course goes on in message passing programming in standardized interface MPI.  Interconnection networks are dealt with separately and then their role in clusters, many-core chips and in the most powerful systems is revealed.
Knowledge and skills required for the course:
  Von-Neumann computer architecture, computer memory hierarchy, cache memories and their organization, programming in assembly and in C/C++.
Subject specific learning outcomes and competencies:
  Overview of principles of parallel system design and of interconnection networks, communication techniques and algorithms. Survey of parallelization techniques of fundamental scientific problems, knowledge of parallel programming in MPI and OpenMP. Practical experience with the work on supercomputers Anselm and Salomon.
Generic learning outcomes and competencies:
  Knowledge of capabilities and limitations of parallel processing, ability to estimate performance of parallel applications. Language means for process/thread communication and synchronization. Competence in hardware-software platforms for high-performance computing and simulations.
Syllabus of lectures:
 
  1. Introduction to parallel processing.
  2. Patterns for parallel programming.
  3. Shared memory programming - Introduction into OpenMP.
  4. Synchronization and performance awareness in OpenMP.
  5. Shared memory and cache coherency.
  6. Components of symmetrical multiprocessors.
  7. CC NUMA DSM architectures.
  8. Message passing interface.
  9. Collective communications, communicators, and disk operations.
  10. Hybrid programming OpenMP/MPI
  11. Interconnection networks: topology and routing algorithms.
  12. Interconnection networks: switching, flow control, message processing and performance.
  13. Message-passing architectures, current supercomputer systems. Distributed file systems.
Syllabus of computer exercises:
 
  1. Anselm and Salomon supercomputer intro
  2. OpenMP: Loops and sections
  3. OpenMP: Tasks and synchronization
  4. MPI: Point-to-point communications
  5. MPI: Collective communications
  6. MPI: I/O, debuggers, profilers and traces
Syllabus - others, projects and individual work of students:
 
  • Development of an application on SMP in OpenMP on a NUMA node.
  • A parallel program in MPI on the supercomputer.
Fundamental literature:
 
  • Pacecho, P.: Introduction to Parallel Programming. Morgan Kaufman Publishers, 2011, 392 s., ISBN: 9780123742605 
  • Hennessy, J.L., Patterson, D.A.: Computer Architecture - A Quantitative Approach. 5. vydání, Morgan Kaufman Publishers, Inc., 2012, 856 s., ISBN: 9780123838728
Study literature:
 
Controlled instruction:
  
  • Missed labs can be substituted in alternative dates (monday or friday)
  • There will be a place for missed labs in the last week of the semester.
Progress assessment:
  Assessment of two projects, 13 hours in total and, computer laboratories and a midterm examination.
Exam prerequisites:
  To get 20 out of 40 points for projects and midterm examination.
 

Your IPv4 address: 54.196.190.32
Switch to IPv6 connection

DNSSEC [dnssec]