SSE3054: Multicore Systems Spring 2017 Jinkyu Jeong (jinkyu@skku.edu) Computer Systems Laboratory Sungkyunkwan University http://csl.skku.edu SSE3054: Multicore Systems, Spring 2017, Jinkyu Jeong (jinkyu@skku.ed)
Course Information Schedule 10:30~11:45 (Mon.), 9:00~10:15 (Wed.) Lecture Room: #400112, Semiconductor Bldg. Course homepage http://csl.skku.edu/sse3054s17/overview Lecture slides, announcements, exam scores, projects, etc. icampus DON T waste your time in icampus Teaching assistant 송재현, songjh0207 AT gmail.com 송원석, wonsuky AT gmail.com Office: #400509 in Semiconductor Bldg. SSE3054: Multicore Systems, Spring 2017, Jinkyu Jeong (jinkyu@skku.ed) 2
About Me Jinkyu Jeong Assistant professor @ SSE Computer Systems laboratory Office: Semiconductor bldg. #400510 (5 th floor) Email: jinkyu@skku.edu URL: http://csl.skku.edu/people/jinkyu Tel: 031-290-7692 Office hours: 15:00~16:00 in Mon. & Wed. Email contact is preferred SSE3054: Multicore Systems, Spring 2017, Jinkyu Jeong (jinkyu@skku.ed) 3
System Software Track 1 학년 2 학년 3 학년 4 학년 1 학기 2 학기 1 학기 2 학기 1 학기 2 학기 1 학기 2 학기 전자기학1 반도체물리 기초전기회로 1 기초전기회로2 마이크로 전자회로1 논리회로 성균프레시맨세미나 창의적공학설계 논리회로설계실험 기초전기회로실험컴퓨터시스템 개론 시스템 SW 실습 2 컴퓨터구조 마이크로프로세서 마이크로프로세서실험 디지털시스템설계 컴파일러설계 컴퓨터네트워크시스템운영체제 멀티코어시스템 정보보호개요 임베디드시스템설계 임베디드시스템실습 SoC 설계 공학수학 1 공학수학 2 신호와시스템 공학컴퓨터프로그래밍 프로그래밍기초와실습 문제해결방법 자료구조및알고리즘 컴퓨터그래픽스 객체지향 시스템설계 이산수학 데이터베이스 인공지능 시스템 SW 실습 1 소프트웨어 공학 반도체 현장실습1 시스템시뮬레이션 시스템 SW 실습 3 SSE3054: Multicore Systems, Spring 2017, Jinkyu Jeong (jinkyu@skku.ed) 4
What is Multicore System? SSE3054: Multicore Systems, Spring 2017, Jinkyu Jeong (jinkyu@skku.ed) 5
Why Study Multicore Systems? To graduate? 10 years ago Multicore is not prevalent Some important applications demand high performance Parallel computing provides higher performance e.g., a cluster of computers Today Multicore is pervasive A single-chip parallel computer Many interesting applications demand high performance Need to learn skills to program on multicore systems SSE3054: Multicore Systems, Spring 2017, Jinkyu Jeong (jinkyu@skku.ed) 6
Prerequisites Prerequisite Courses Data structures and algorithms (mandatory) System programming (= introduction to computer systems in SSE) Computer Architecture (mandatory) Operating Systems (mandatory) Compilers (optional) Programming Skills Fluent C/C++ programming Programming experience in Linux environment (gcc, gdb, vi/emacs,...) SSE3054: Multicore Systems, Spring 2017, Jinkyu Jeong (jinkyu@skku.ed) 7
Textbooks Introduction to Parallel Computing 2nd ed. A. Grama, A. Gupta, G. Karypis, V. Kumar Parallel Computer Architectures A Hardware/Software Approach D. Culler, J. P. Singh, A. Gupta An Introduction to Parallel Programming P. S. Pacheco SSE3054: Multicore Systems, Spring 2017, Jinkyu Jeong (jinkyu@skku.ed) 8
Course Objectives To learn basis of parallel computing Parallel computing environment Parallel algorithm design Parallel programming models and methods Parallel computer architectures Skills programming parallel programs Skills solving computing problems using parallel algorithms SSE3054: Multicore Systems, Spring 2017, Jinkyu Jeong (jinkyu@skku.ed) 9
Topics Why parallel computing Principles of parallel algorithm design Programming in shared-address space systems Pthreads, OpenMP Programming in distributed-address space systems Message passing interface (MPI) Programming in general-purpose graphic processing units (GPGPUs) NVIDIA CUDA and OpenCL Shared memory architecture Cache coherence protocols Synchronization Memory consistency models SSE3054: Multicore Systems, Spring 2017, Jinkyu Jeong (jinkyu@skku.ed) 10
Projects Team 1 or 2 persons in a team Programming projects Parallel programming Solve a problem as fast as possible using a multicore system Programming in Pthread, OpenMP, and MPI Programming on GPGPUs Planned but not fixed. TBA. SSE3054: Multicore Systems, Spring 2017, Jinkyu Jeong (jinkyu@skku.ed) 11
Class Policies (1) Grading system* Class attendance: 10% Exams: 50% (mid-term & final) Projects: 40% Class attendance policy If you miss any of both exams, you will fail this course No lateness is allowed Up to three absences will be tolerated * Subject to change SSE3054: Multicore Systems, Spring 2017, Jinkyu Jeong (jinkyu@skku.ed) 12
Course Policies (2) Each of you will have a designated seat (aka 고정좌석제 ). This is the department policy. Take a seat you like on Wednesday (3/8) and that seat will be yours for the first half of the semester. We will do the same thing after the midterm. Instructor reserves the right to reassign seats as necessary. TA will check the attendance by marking empty seats Don t be late; he may check the attendance at the beginning of the class (or at any random time) SSE3054: Multicore Systems, Spring 2017, Jinkyu Jeong (jinkyu@skku.ed) 13
Class Policies (3) Cheating policy What is cheating? Copying another student s solution (or one from the Internet) and submitting it as your own Allowing another student to copy your solution What is NOT cheating? Helping others use systems or tools Helping others with high-level design issues Helping others debug their code Penalty for cheating: Severe penalty (F or more) on the grade and report to dept. chair Ask helps to your TA if you experience any difficulty SSE3054: Multicore Systems, Spring 2017, Jinkyu Jeong (jinkyu@skku.ed) 14
Questions? SSE3054: Multicore Systems, Spring 2017, Jinkyu Jeong (jinkyu@skku.ed) 15