Advanced Multiprocessor Programming

Similar documents
Advanced Multiprocessor Programming

PH.D. IN COMPUTER SCIENCE PROGRAM (POST M.S.)

Introduction. Mario Di Francesco. January 12, Course T Spring 2015 Seminar on Internetworking

Joint Study Application Japan - Outgoing

Microcontroller VU

CS Course Missive

Education: Integrating Parallel and Distributed Computing in Computer Science Curricula

SYLLABUS- ACCOUNTING 5250: Advanced Auditing (SPRING 2017)

ENME 605 Advanced Control Systems, Fall 2015 Department of Mechanical Engineering

Applying Learn Team Coaching to an Introductory Programming Course

STUDY ABROAD INFORMATION MEETING

Syllabus for CHEM 4660 Introduction to Computational Chemistry Spring 2010

Required Text: Oltmanns, T. & Emery, R. (2014). Abnormal Psychology (8th Edition) ISBN-13: ISBN-10:

Humboldt-Universität zu Berlin

Data Structures and Algorithms

We are strong in research and particularly noted in software engineering, information security and privacy, and humane gaming.

Software Development: Programming Paradigms (SCQF level 8)

University clearing advice/contact details for most common destinations for BHASVIC students

Orientation Programme

Curriculum for the doctoral (PhD) programme in Natural Sciences/Social and Economic Sciences/Engineering Sciences at TU Wien

Student Information System. Parent Quick Start Guide

BSM 2801, Sport Marketing Course Syllabus. Course Description. Course Textbook. Course Learning Outcomes. Credits.

Shank, Matthew D. (2009). Sports marketing: A strategic perspective (4th ed.). Upper Saddle River, NJ: Pearson/Prentice Hall.

COURSE INFORMATION. Course Number SER 216. Course Title Software Enterprise II: Testing and Quality. Credits 3. Prerequisites SER 215

Computer Science 141: Computing Hardware Course Information Fall 2012

CS177 Python Programming

Bachelor of International Hospitality Management

Information System Design and Development (Advanced Higher) Unit. level 7 (12 SCQF credit points)

Penn State University - University Park MATH 140 Instructor Syllabus, Calculus with Analytic Geometry I Fall 2010

EPI BIO 446 DESIGN, CONDUCT, and ANALYSIS of CLINICAL TRIALS 1.0 Credit SPRING QUARTER 2014

Course Syllabus Chem 482: Chemistry Seminar

Agent-Based Software Engineering

Foothill College Summer 2016

ENG 111 Achievement Requirements Fall Semester 2007 MWF 10:30-11: OLSC

ACCOUNTING FOR MANAGERS BU-5190-OL Syllabus

Computer Organization I (Tietokoneen toiminta)

Ecole Polytechnique Fédérale de Lausanne EPFL School of Computer and Communication Sciences IC. School of Computer and Communication Sciences

CS 101 Computer Science I Fall Instructor Muller. Syllabus

CS Machine Learning

Developing Highly Effective Industry Partnerships: Co-op to Capstone Courses

Physics Experimental Physics II: Electricity and Magnetism Prof. Eno Spring 2017

INFORMATION GUIDE FOR INCOMING EXCHANGE STUDENTS

General Microbiology (BIOL ) Course Syllabus

I. PREREQUISITE For information regarding prerequisites for this course, please refer to the Academic Course Catalog.

An Introduction to Simio for Beginners

Syllabus Foundations of Finance Summer 2014 FINC-UB

TEACHING AND EXAMINATION REGULATIONS (TER) (see Article 7.13 of the Higher Education and Research Act) MASTER S PROGRAMME EMBEDDED SYSTEMS

International Business Principles (MKT 3400)

GIS 5049: GIS for Non Majors Department of Environmental Science, Policy and Geography University of South Florida St. Petersburg Spring 2011

Master in International Economics and Public Policy. Christoph Wirp MIEPP Program Manager

Welcome to, new Master students! Dag Langmyhr head of studies

Dublin City Schools Mathematics Graded Course of Study GRADE 4

Creating Your Term Schedule

MATH 1A: Calculus I Sec 01 Winter 2017 Room E31 MTWThF 8:30-9:20AM

FONDAMENTI DI INFORMATICA

Project Management for Rapid e-learning Development Jennifer De Vries Blue Streak Learning

Math 96: Intermediate Algebra in Context

English Grammar and Usage (ENGL )

2009/2010 FACT SHEET

International Business Bachelor. Corporate Finance. Summer Term Prof. Dr. Ralf Hafner

Prof. dr. H.A.M. Middelkoop

New Venture Financing

Business Analytics and Information Tech COURSE NUMBER: 33:136:494 COURSE TITLE: Data Mining and Business Intelligence

CS 1103 Computer Science I Honors. Fall Instructor Muller. Syllabus

MGMT 479 (Hybrid) Strategic Management

Drawing ART 220 Fall 2017 Monday, Tuesday, Thursday pm Location: Room 128 Name of Faculty: Ralph Larmann

Prerequisite: General Biology 107 (UE) and 107L (UE) with a grade of C- or better. Chemistry 118 (UE) and 118L (UE) or permission of instructor.

FIN 571 International Business Finance

English (native), German (fair/good, I am one year away from speaking at the classroom level), French (written).

San José State University Department of Marketing and Decision Sciences BUS 90-06/ Business Statistics Spring 2017 January 26 to May 16, 2017

INSTITUTIONAL FACT SHEET

PRIMARY GOES EUROPE 6. The Devon Final. This publication was made possible by the generous financial support of CERNET.

IPHY 3410 Section 1 - Introduction to Human Anatomy Lecture Syllabus (Spring, 2017)

TU-E2090 Research Assignment in Operations Management and Services

EDU 614: Advanced Educational Psychology Online Course Dr. Jim McDonald

GEB 6930 Doing Business in Asia Hough Graduate School Warrington College of Business Administration University of Florida

Scottsdale Community College Spring 2016 CIS190 Intro to LANs CIS105 or permission of Instructor

Introduction to Ensemble Learning Featuring Successes in the Netflix Prize Competition

Master of Statistics - Master Thesis

Instructor Dr. Kimberly D. Schurmeier

COSI Meet the Majors Fall 17. Prof. Mitch Cherniack Undergraduate Advising Head (UAH), COSI Fall '17: Instructor COSI 29a

MBA 5652, Research Methods Course Syllabus. Course Description. Course Material(s) Course Learning Outcomes. Credits.


Coding II: Server side web development, databases and analytics ACAD 276 (4 Units)

Ruggiero, V. R. (2015). The art of thinking: A guide to critical and creative thought (11th ed.). New York, NY: Longman.

Welcome Master Students!

Information for Exchange Students Spring Semester School of Business, Economics and Law University of Gothenburg Sweden

Bachelor of International Hospitality Management, BA IHM. Course curriculum National and Institutional Part

Improving Fairness in Memory Scheduling

CRITICAL THINKING AND WRITING: ENG 200H-D01 - Spring 2017 TR 10:45-12:15 p.m., HH 205

Using the myiit Portal...my.iit.edu

COURSE DESCRIPTION PREREQUISITE COURSE PURPOSE

Simple Random Sample (SRS) & Voluntary Response Sample: Examples: A Voluntary Response Sample: Examples: Systematic Sample Best Used When

An OO Framework for building Intelligence and Learning properties in Software Agents

Protocols for building an Organic Chemical Ontology

Using Deep Convolutional Neural Networks in Monte Carlo Tree Search

Accounting 312: Fundamentals of Managerial Accounting Syllabus Spring Brown

Algorithms and Data Structures (NWI-IBC027)

CS 100: Principles of Computing

(Sub)Gradient Descent

Transcription:

Advanced Multiprocessor Programming Vorbesprechung Jesper Larsson Träff traff@par.tuwien.ac.at Research Group Parallel Computing Faculty of Informatics, Institute of Information Systems Vienna University of Technology (TU Wien)

Crib Lecture: Monday, 10:00-12:00, Gusshausstrasse 25-29, EI 6 Eckert Exercises: Two batches, Thursday, 10:00-12:00, EI 6 Eckert Course HP (+TISS): http://www.par.tuwien.ac.at/teaching/2016s/184.726.psp

The facts and the problems Modern multi-core processors (2, 4,, 80 cores + multi/hyperthreading) do not really correspond to standard theoretical models (PRAM) Very, very difficult to program efficiently This course: Advanced programming techniques in theory and practice for modern multi-core processors (no GPUs): How to implement traditional constructs like locks and barriers efficiently How to program without locks and barriers: data structures and algorithms What work-stealing is and how to use it

Formalities VU (Lecture-Exercises-Project) 4.0 ECTS (=100 hours of work) Breakdown: Lecture 1.0 ECTS Exercises 1.0 ECTS Programming Project: 2.0 ECTS Participation MANDATORY, credit given based on Blackboard Exercises and Programming Project

Lecture: Monday, 10.00 (s.t!) - 12.00, EI 6 Gusshausstrasse 25-29 Thursday, 10.00 12.00, also EI 6: by need, for exercises and discussion Sprechstunde (Jesper Larsson Träff, Sascha Hunold): by appointment Email: traff@par.tuwien.ac.at, hunold@par.tuwien.ac.at

Sign-up required (deadline 31.3, TISS) Sign-out if you don t follow the lecture Theory exercises should be done individually (discussions encouraged ) Project in groups of 2 (sign-up required) Get account via TUWEL: 14-20.3 (will be enabled this week)

Topics, Goals Basic understanding of principles and practice of thread-based shared-memory multiprocessor programming Principles/theory: Synchronization and coordination mechanisms Scope and limitations Correctness: safety and liveness Practice: Implementation of basic synchronization mechanisms Fundamental (lock- and wait-free) data structures Memory models PHEET framework, CilkPlus, C++ threads Supporting higher-level shared memory programming models: Task parallel models by work-stealing (Transactional memory)

Literature/Material Book: Maurice Herlihy (Brown), Nir Shavit (Tel Aviv): The Art of Multiprocessor Programming. Morgan Kaufmann Publishers, 2008, revised 1 st edition, 2012 Lecture slides, additional papers Recommended: buy it! Course material: http://www.par.tuwien.ac.at/teaching/2016s/184.726.psp

Other good books Taubenfeld: Synchronization Algorithms and Concurrent Programming. Pearson/Prentice Hall 2006 Kshemkalyani,Singhal: Distributed computing: principles, algorithms, and systems Cambridge University Press, 2011

Raynal: Concurrent programming: Algorithms, Principles, and Foundations. Springer, 2013

Approx. Coverage Chapters 1-5 (6), Chapters 7, 9, 10, 11, (12?), 13-16, (17?) Work-stealing and memory models from other sources Prerequisites: Introduction to Parallel Computing Algorithms and data structures C/C++ (or Java) programming Possible follow-up: Parallel Algorithms HPC Distributed Algorithms (Ulrich Schmid)

Exercises/Project Theoretical exercises from book, hand-in and discussion/presentation on blackboard Two slots Small programming project: Implementation and benchmarking (comparison) of lock-free data structure(s) and other material from the lectures What we may do: use the PHEET C++ work-stealing framework ( Martin Wimmer) as surrounding framework with paradigm application, plug in own data structure and compare But, it will also be possible to do project in CilkPlus, pthreads, Java, C++

Exercises: 2 batches, hand-in and blackboard (April&May) 21.4 (Thursday) 12.5 (Thursday) Project is done in groups of 2 Project: 25.4 (Monday): Project topic presentation (by me) 2.6 (Thursday): Project status presentation (by you: each group gives a 10-15 minute overview of what it is doing) 1.7: Project hand-in (fixed deadline, no extension) EXAM: Early July (4.-8.7) or August

System Possible to start developing on own PC/laptop (no lab access) Benchmarking/testing: Saturn shared-memory node at TUWien: 4xAMD magny cours 12-core Opteron 6168 processors 128GByte main memory, 1.9GHz, total number of cores 48 Possibly also: mars.par.tuwien.ac.at Name: saturn.par.tuwien.ac.at More later (get account via TUWEL from 14.3 till 20.3)

Grading/participation Attending lectures and exercises Active participation Solving the exercises, presentation on the blackboard (theoretical exercises, hand-in of practical programming exercise) Group examination for project part NOTE: You only learn by doing exercises and project by yourself. Copying will result in grade 6 Discussion with other groups encouraged, but hand in your own solution Don t forget: EVALUATE THE COURSE by end of semester (TISS)

Project hand-in: Short description of problem, your solution Some argument for correctness, testing procedure The required tests/benchmark comparisons (plots, tables) Both correctness and performance are important! Grade weighting: ¼ for exercises, ½ for project, ¼ for exam Solving in group: Active collaboration, 2*100%, NOT 2*50% Both members get same grade (unless blatantly different) Both members must understand all aspects of solutions

Plan 7.3.: Vorbesprechung 14.3.: Intro, Mutual exclusion problem and solutions. 21.3, 28.3: EASTER, no lectures 4.4.: Mutual exclusion (con't), an impossibility result, constructions with registers. 11.4.: Relative power of synchronization operations, correctness 18.4.: Universality. 21.4: Exercises Batch 1 25.4.: Practical lock implementations. Project topics 2.5.: Data structures (I): List-based sets 9.5.: Data structures (II): Queues, Stacks 12.5: Batch 2 16.5.: WHITSUN, no lecture 23.5.: No lecture (project work) 30.5: Data structures (III): Skiplist. 2.6: Project status 6.6: Data structures (IV): Skiplist, Combining network 13.6.: Memory consistency models 20.6.: Work-stealing theory 27.6: TBA

Follow-up Project (12.0 ECTS) Seminar in, WS16, Parallel Algorithms (WS16: VU, 3.0 ECTS) High Performance Computing (: VU, 3.0 ECTS) Master s Thesis (30.0 ECTS) Talks in the group everybody is welcome, see http://www.par.tuwien.ac.at/talks-guests.psp