|
Udgave: |
Efterår 2012 NAT |
Point: |
7,5 |
Blokstruktur: |
2. blok |
Skemagruppe: |
B |
Fagområde: |
dat |
Varighed: |
7 weeks + 2 weeks exam period |
Institutter: |
Department of Computer Science |
Studieordning: |
Computer Science Master |
Uddannelsesdel: |
Kandidat niveau |
Kontaktpersoner: |
Andrzej Filinski, email: andrzej@diku.dk, tlf.: 3532 1407 |
Andre undervisere: |
Brian Vinter, e-mail: vinter@nbi.dk |
Skema- oplysninger: |
Vis skema for kurset Samlet oversigt over tid og sted for alle kurser inden for Lektionsplan for Det Naturvidenskabelige Fakultet Efterår 2012 NAT |
Undervisnings- form: |
Lectures and at home work. Independent work at home will be a major part of the workload. |
Formål: |
Multithreaded programming is often considered complex, and classic concurrency problems, such as race-conditions and deadlocks occur frequently in multithreaded programs.
The overall purpose of this course is to enable the student to use threading as the primary design mechanism for large, maintainable and high-performance applications. In addition, the successful candidate will become familiar with multicore CPUs – both homo- and heterogeneous versions – as well as ability to work with the CSP algebra for modeling concurrency. |
Indhold: |
The CSP algebra: processes, concurrency, nondeterminism, and communication; equational laws and reasoning principles.
Programming in CSP-based frameworks: PyCSP, JCSP, Occam.
Selected multiprocessor architectures, such as SUN Niagara, Intel MP, CELL-BE (Playstation-3) and Xenon (Xbox 360). |
Kompetence- beskrivelse: |
The class will equip the student with the tools, primarily Communicating Sequential Processes, required to understand and apply concurrency as a fundamental design entity for applications. After the successful completion of the class a student should be a be able to write applications where the concurrency is independent of the number of hardware execution units, and understand how, by applying the CSP algebra, one can ensure and show that an algorithm is free of deadlocks and race-conditions. |
Målbeskrivelse: |
At the course completion the student should be able to: 1. Design highly multithreaded applications using the CSP approach 2. Work with the formal CSP algebra, including proving theorems 3. Utilize compositional properties of CSP processes both with theory and in programming 4. Choose the right level of multithreading for a given task. |
Lærebøger: |
Expected textbook: Tony Hoare, Communicating Sequential Processes (freely downloadable from usingcsp.com); selected articles and notes. |
Tilmelding: |
Via KUnet from May 15th to June 1st. |
Faglige forudsætninger: |
BSc-level courses in Computer Architecture and Operating Systems
|
Formelle krav: |
None |
Eksamensform: |
An individually written report based on a fixed assignment; the report is due on the last day of the exam period and will include both a set of theory questions and a programming assignment. Internal grading using the 7-point grading scale. Submission in Absalon.
Two homeworks must be successfully completed in order to participate in the exam.
Re-exam: one-week take-home assignment + 30-minute oral examination without preparation; internal grading using the 7-point grading scale. Submission in Absalon.
|
Eksamen: |
Aflevering af rapport den 25. januar 2013.
Reeksamen: Aflevering af en uges hjemmeopgave den 15. og mundtlig prøve den 19. april 2013.
|
Kursus hjemmeside: |
|
Pensum: |
Required-reading: Notes and articles, Communicating Sequential Processes (usingcsp.com) |
Undervisnings- sprog: |
Kun engelsk
|
Sidst redigeret: |
25/4-2012 |