Thinking in Parallel Adopting the TCPP Core Curriculum in Computer Systems Principles Tim Richards University of Massachusetts Amherst.

Slides:



Advertisements
Similar presentations
Integrating Parallel Computing into the Undergraduate Curriculum: Efforts at Texas State University Martin Burtscher Wuxu Peng Apan Qasem Hongchi Shi Dan.
Advertisements

Multiprocessors— Large vs. Small Scale Multiprocessors— Large vs. Small Scale.
Lecture 6: Multicore Systems
Department of Computer Science iGPU: Exception Support and Speculative Execution on GPUs Jaikrishnan Menon, Marc de Kruijf Karthikeyan Sankaralingam Vertical.
Concurrency: introduction1 ©Magee/Kramer 2 nd Edition Concurrency State Models and Java Programs Jeff Magee and Jeff Kramer.
1 Undergraduate Curriculum Revision Department of Computer Science February 10, 2010.
NSF/TCPP Early Adopter Experience at Jackson State University Computer Science Department.
PARALLEL PROCESSING COMPARATIVE STUDY 1. CONTEXT How to finish a work in short time???? Solution To use quicker worker. Inconvenient: The speed of worker.
Weekly Report Ph.D. Student: Leo Lee date: Oct. 9, 2009.
CPSC 203 ITBL Project CPSC 203 ITBL Project Fall 2005-Fall 2006 Fall 2005-Fall 2006 Working with Haskayne School of Business Working with Haskayne School.
Instruction Level Parallelism (ILP) Colin Stevens.
Chapter Hardwired vs Microprogrammed Control Multithreading
2015/6/21\course\cpeg F\Topic-1.ppt1 CPEG 421/621 - Fall 2010 Topics I Fundamentals.
CS 732: Advance Machine Learning Usman Roshan Department of Computer Science NJIT.
EET 4250: Microcomputer Architecture Fall 2009 William Acosta URL:
OPL: Our Pattern Language. Background Design Patterns: Elements of Reusable Object-Oriented Software o Introduced patterns o Very influential book Pattern.
COMPUTER ORGANIZATIONS CSNB123 May 2014Systems and Networking1.
Jawwad A Shamsi Nouman Durrani Nadeem Kafi Systems Research Laboratories, FAST National University of Computer and Emerging Sciences, Karachi Novelties.
1 Computer Engineering Department Islamic University of Gaza ECOM 6301: Advanced Computer Architectures (Graduate Course) Fall 2013 Prof. Mohammad A. Mikki.
Quan Yuan and Sasithorn Zuge Dept. of Computing and New Media Technologies University of Wisconsin-Stevens Point.
Adding PDC within a Six-Course Subset of the CS Major Apan Qasem Texas State University.
Concurrency: introduction1 ©Magee/Kramer Concurrency State Models and Java Programs Jeff Magee and Jeff Kramer.
Are New Languages Necessary for Manycore? David I. August Department of Computer Science Princeton University.
Multi Core Processor Submitted by: Lizolen Pradhan
CIS4930/CDA5125 Parallel and Distributed Systems Florida State University CIS4930/CDA5125: Parallel and Distributed Systems Instructor: Xin Yuan, 168 Love,
Parallel and Distributed Systems Instructor: Xin Yuan Department of Computer Science Florida State University.
Uncovering the Multicore Processor Bottlenecks Server Design Summit Shay Gal-On Director of Technology, EEMBC.
Fall 2012: Early Adopter Plan for Teaching Concurrent and Distributed Systems Jawwad Shamsi FAST NU, Pakistan.
Early Adopter: Integrating Concepts from Parallel and Distributed Computing into the Undergraduate Curriculum Eileen Kraemer Computer Science Department.
1 CSCI 6900: Design, Implementation, and Verification of Concurrent Software Eileen Kraemer August 16 th, 2010 The University of Georgia.
Parallel Computers Organizations and Architecture Department of Computer Science Southern Illinois University Edwardsville Summer, 2015 Dr. Hiroshi Fujinoki.
CT101: Computing Systems Petronel Bigioi. Overview Lecturer Name: –Dr. Petronel Bigioi Course schedule: –Semester1: Monday 2 – 3 pm, AC202 Monday 3 –
Copyright © George Coulouris, Jean Dollimore, Tim Kindberg This material is made available for private study and for direct.
(1) ECE 3056: Architecture, Concurrency and Energy in Computation Lecture Notes by MKP and Sudhakar Yalamanchili Sudhakar Yalamanchili (Some small modifications.
Motions for Permanent Undergraduate Course Numbers Brian L. Evans On Behalf of the ECE Curriculum Committee September 21, 2015.
Practices of Integrating Parallel and Distributed Computing Topics into CS Curriculum at UESTC Guoming Lu University of Electronic Science and Technology.
Fault-Tolerant Parallel and Distributed Computing for Software Engineering Undergraduates Ali Ebnenasir and Jean Mayo {aebnenas, Department.
Multicore Computing Lecture 1 : Course Overview Bong-Soo Sohn Associate Professor School of Computer Science and Engineering Chung-Ang University.
Group 3: Architectural Design for Enhancing Programmability Dean Tullsen, Josep Torrellas, Luis Ceze, Mark Hill, Onur Mutlu, Sampath Kannan, Sarita Adve,
Early Adopter: Integration of Parallel Topics into the Undergraduate CS Curriculum at Calvin College Joel C. Adams Chair, Department of Computer Science.
Fall-11: Early Adoption of NSF/TCPP PDC Curriculum at Texas Tech University and Beyond Yong Chen Yu Zhuang Noe Lopez-Benitez May 10 th, 2013.
Multi-Semester Effort and Experience to Integrate NSF/IEEE-TCPP PDC into Multiple Department- wide Core Courses of Computer Science and Technology Department.
Computer Organization TI1400 Alexandru Iosup (lecturer) Parallel and Distributed Systems
Computer Science in Context Evangelos E. Milios Professor and Graduate Coordinator Faculty of Computer Science Dalhousie University.
Presentation 31 – Multicore, Multiprocessing, Multithreading, and Multitasking. When discussing modern PCs, the term “Multi” is thrown around a lot as.
Floating Point Numbers & Parallel Computing. Outline Fixed-point Numbers Floating Point Numbers Superscalar Processors Multithreading Homogeneous Multiprocessing.
Lecture 0. Course Introduction Prof. Taeweon Suh Computer Science Education Korea University COM515 Advanced Computer Architecture.
EKT303/4 Superscalar vs Super-pipelined.
… begin …. Parallel Computing: What is it good for? William M. Jones, Ph.D. Assistant Professor Computer Science Department Coastal Carolina University.
Real-time Embedded System Lab, ASU WCAE_panel_ 1 Panel on Panel on Teaching Embedded Systems Yann-Hang Lee and Aung Oo Computer Science and Engineering.
University of Michigan Electrical Engineering and Computer Science 1 Embracing Heterogeneity with Dynamic Core Boosting Hyoun Kyu Cho and Scott Mahlke.
McGraw-Hill©The McGraw-Hill Companies, Inc., 2000 OS 1.
NSF/TCPP Curriculum Planning Workshop Joseph JaJa Institute for Advanced Computer Studies Department of Electrical and Computer Engineering University.
Silberschatz, Galvin and Gagne ©2013 Operating System Concepts – 9 th Edition Chapter 4: Threads.
1 CS/ECE 354 Fall 2013 “New, and improved!”. 2 Karen Miller Phone: CS.
LECTURE #1 INTRODUCTON TO PARALLEL COMPUTING. 1.What is parallel computing? 2.Why we need parallel computing? 3.Why parallel computing is more difficult?
Page 1 2P13 Week 1. Page 2 Page 3 Page 4 Page 5.
Incorporating PDC Topics into University Level Digital Principles Class Abstract: Digital Computer Principles (CSC 115) is a university wide freshman level.
Multicore Computing Lecture 1 : Course Overview Bong-Soo Sohn Associate Professor School of Computer Science and Engineering Chung-Ang University.
CSC322 OPERATING SYSTEM Mr. Dilawar Lecturer, Department of Computer Science, Jahan University Kabul, Afghanistan.
ECE 3056: Architecture, Concurrency and Energy in Computation
Scope of this workshop and that of curriculum initiative (What?)
X10: Performance and Productivity at Scale
Logic and Computer Design Fundamentals
Inculcating “Parallel Programming” in UG curriculum
INTERNATIONAL BURCH UNIVERSITY
Parallel Computing has been moving into University training for several years… IAC Membership indicates commitment to parallel computing in undergraduate.
B.Ramamurthy Chapter 2 : Appendix
EE 4xx: Computer Architecture and Performance Programming
Human Media Multicore Computing Lecture 1 : Course Overview
Presentation transcript:

Thinking in Parallel Adopting the TCPP Core Curriculum in Computer Systems Principles Tim Richards University of Massachusetts Amherst

Computer Systems Principles A Core Course in Computer Systems UMass Amherst Computer Science Department To teach students fundamental principles and techniques in computer systems and how to program them. Hardware Software

Problem Introducing parallelism into an existing course is difficult Program Representation Architecture Virtual Memory Memory Management First Half Process & Exceptions Threads Synchronization Network Programming Second Half

Problem Introducing parallelism into an existing course is difficult Program Representation Architecture Virtual Memory Memory Management First Half Process & Exceptions Threads Synchronization Network Programming Second Half Abrupt Switch from sequential to parallel programming model Gap in Understanding

Goal #1 Re-focus existing course material to make parallelism a common thread Program Representation Architecture Virtual Memory Memory Management First Half Thinking in Parallel Multi-Processing in Life & Shell Pipelines, ILP, Multicore, GPUs Processing in Parallel

Enhanced assignments to include problems in parallelism, concurrency, & synchronization Enhanced assignments to include problems in parallelism, concurrency, & synchronization Goal #2 Migrate course material over time, teach students to think in parallel early, to reduce gap in understanding Program Representation Architecture Virtual Memory Memory Management First Half Thinking in Parallel Multi-Processing in Life & Shell Pipelines, ILP, Multicore, GPUs Processing in Parallel

Results Introducing parallelism incrementally in existing course infrastructure is easy. Making parallelism a common thread improved student success rates in project assignments. Improved discussion and understanding in class and online forums. Increased overall student performance in course.

Survey Results S13 Introducing parallelism incrementally in existing course infrastructure is easy. Making parallelism a common thread improved student success rates in project assignments. Improved discussion and understanding in class and online forums. Increased overall student performance in course.

Survey Results S13 Introducing parallelism incrementally in existing course infrastructure is easy. Making parallelism a common thread improved student success rates in project assignments. Improved discussion and understanding in class and online forums. Increased overall student performance in course.

Thanks! Tim Richards University of Massachusetts Amherst Computer Science Department