Parallel programming

advertisement
Facultatea de Științe Economice și Gestiunea Afacerilor
Str. Teodor Mihali nr. 58-60
Cluj-Napoca, RO-400951
Tel.: 0264-41.86.52-5
Fax: 0264-41.25.70
econ@econ.ubbcluj.ro
www.econ.ubbcluj.ro
DETAILED SYLLABUS
Parallel programming
1. Information about the study program
1 University
Babeș-Bolyai Universi
1.2 Faculty
Faculty of Economics and Business Administration
1.3 Department
Business Information Systems
1.4 Field of study
Business Information Systems
1.5 Program level (bachelor or master) Master
1.6 Study program / Qualification
Business Modeling and Distributed Computing
2. Information about the subject
2.1 Subject title
Parallel programming
2.2 Course activities professor
Prof.dr. Gheorghe Cosmin Silaghi
2.3 Seminar activities professor
Prof.dr. Gheorghe Cosmin Silaghi
2.4 Year of study
I
2.5 Semester
I
2.6 Type of assessment Exam
2.7 Subject regime
mandato
ry
3. Total estimated time (teaching hours per semester)
3.1 Number of hours per week
3.3 seminar/laboratory
4 out of which: 3.2 course
2
3.4 Total number of hours in the
3.6 seminar/laboratory
56 out of which: 3.5 course
28
curriculum
Time distribution
Study based on textbook, course support, references and notes
Additional documentation in the library, through specialized databases and field activities
Preparing seminars/laboratories, essays, portfolios and reports
Tutoring
Assessment (examinations)
Others activities
3.7 Total hours for individual study
144
3.8 Total hours per semester
200
3.9 Number of credits
8
2
28
Hours
45
40
45
10
4
4. Preconditions (if necessary)
4.1 Curriculum
4.2 Skills
Basic programming skills. C and Java are preferred.
5. Conditions (if necessary)
5.1. For course
development
5.2. For seminar /
laboratory development
The courses should be held in a room with simultaneous access to a computer-projector
and a board.
The seminars should be held in a room with simultaneous access to a computer-projector
and a board. As well, the students need to have access to computers.
The course will be managed on the moodle platform supplied by the BIS department
Students need to access a High performance computing infrastructure
6. Acquired specific competences
1
NOTE: This document represents an informal translation performed by the faculty.
Professional
competences



Transversal
competences


Comparative assessment of methodologies and methods used in parallel programming
Application of conceptual and methodological apparatus for establishing parallel programming
methods need to be used according to the type of problem
Explain the concepts of methods, techniques and tools applied in parallel programming
Achieving a work / project with shows the level of parallel programming skills
Solving in real time under qualified assistance of a real problem / hypothetical workplace,
following the rules of professional ethics
7. Subject objectives (arising from the acquired specific competences)
7.1 Subject’s general objective
7.2 Specific objectives
Acquiring theoretical and practical skills for
- Discovery of concepts related to parallel programming and the use of
different methodologies for implementation of these concepts
- Enhancement of teamwork,
- Acquiring the capabilities of correctly programing parallel programs
- Acquiring the capabilities to implement a sequential software in a parallel
programming language
Programming knowledge in MPI, OpenMP, PThreads
8. Contents
8.1 Course
Parallel programming. Fundamental concepts
Parallel hardware and software
MPI
Shared memory programming with PThreads
Shared Memory programming with OpenMP
Map-Reduce
Teaching
Observations
methods
The
professor
gives a talk and
encourages
1 courses
discussions on the
themes.
The
professor
gives a talk and
encourages
1 courses
discussions on the
themes.
The
professor
gives a talk and
encourages
3 courses
discussions on the
themes.
The
professor
gives a talk and
encourages
3 courses
discussions on the
themes.
The
professor
gives a talk and
encourages
2 courses
discussions on the
themes.
The
professor
gives a talk and
encourages
1 courses
discussions on the
themes.
2
NOTE: This document represents an informal translation performed by the faculty.
The
professor
gives a talk and
encourages
2 courses
discussions on the
themes.
The
professor
gives a talk and
encourages
1 courses
discussions on the
themes.
Parallel programming for GPU
Techniques for parallel programs development
References:
1. P. Pacheco, An Introduction to Parallel Programming, Morgan Kaufmann, 2010
2. T. Rauber, G. Runger, Parallel Programming for multicore and cluster systems, Springer, 2013
3. D. Kirk, Programming masively parallel processors, Morgan Kaufmann, 2013
Teaching
methods
Practical
Data parallelism vs. task parallelism.
laboratory
Measures for computing the parallel programs efficiency: speedup, efficiency, Practical
scalability
laboratory
Practical
Fundamental concepts in MPI.
laboratory
Practical
Tree-based communication. Scatter/Gather, Barriers and safety
laboratory
Practical
Fundamental concepts in PThreads. Critical sections. Busy-waiting. Mutex.
laboratory
Practical
Synchronization in producer-consumer problems. Semaphores.
laboratory
Practical
Read-write locks and thread safety
laboratory
Practical
Fundamental concepts in OpenMP
laboratory
Practical
Programming with Map-Reduce
laboratory
Practical
Programming with GPUs
laboratory
8.2 Seminar/laboratory
Observations
1 laboratories
1 laboratories
1 laboratories
1 laboratories
1 laboratories
1 laboratories
1 laboratories
1 laboratories
2 laboratories
2 laboratories
References:
1. P. Pacheco, An Introduction to Parallel Programming, Morgan Kaufmann, 2010
2. T. Rauber, G. Runger, Parallel Programming for multicore and cluster systems,
Springer, 2013
3. D. Kirk, Programming masively parallel processors, Morgan Kaufmann, 2013
9. Corroboration / validation of the subject’s content in relation to the expectations coming from
representatives of the epistemic community, of the professional associations and of the representative
employers in the program’s field.
In many fields parallel programming becomes a necessity due to the increasing complexity of the problems
supposed to be solved by computer and thanks to technologies that have emerged in recent years. Using technology
to achieve parallel programs is a necessity in this regard.
10. Assessment (examination)
Type of activity
10.1 Assessment criteria
10.2 Assessment methods
10.3 Weight in
the final grade
3
NOTE: This document represents an informal translation performed by the faculty.
10.4 Course
Understanding the issues of parallel Written final exam.
programming
Capability to develop solutions involving
concepts of parallel programming
Capability to explain programs writen with
parallel programming techniques
10.5
Ability to recognize and understand The assessment of the homework
Seminar/laboratory programs writen with the tehnologies projects.
presented during this course
Ability to program a HPC with the
technologies presented during this course.
30%
70%
10.6 Minimum performance standard
• It is necessary to obtain a minimum final grade of 5 (five) in order to pass this subject;
• The grades being granted are between 1 (one) and 10 (ten);
• Students must approach each element (question, problem) within the (written) exam sheet;
• The exam is written and takes approximately 120 minutes;
Date of filling
26 january, 2015
Signature of the course professor
Prof.dr. Gheorghe Cosmin Silaghi
Date of approval by the department
28 january 2015
Signature of the seminar professor
Prof.dr. Gheorghe Cosmin Silaghi
Head of department’s signature
Prof.dr. Gheorghe Cosmin Silaghi
4
NOTE: This document represents an informal translation performed by the faculty.
Download