uc:sendtilenven runat server id uc_sendtilenven
Ændre størrelse på tekst Print

Extreme multiprogramming


Semesterangivelse: Efterårs kursus Kurset udbydes i blok 2 Kurset udbydes i skemagruppe B Kurset giver 7,5 ETCS point

 


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



Københavns Universitet