Adding PDC within a Six-Course Subset of the CS Major Apan Qasem Texas State University.

Slides:



Advertisements
Similar presentations
CSE431 Chapter 7A.1Irwin, PSU, 2008 CSE 431 Computer Architecture Fall 2008 Chapter 7A: Intro to Multiprocessor Systems Mary Jane Irwin (
Advertisements

Distributed Systems CS
Integrating Parallel Computing into the Undergraduate Curriculum: Efforts at Texas State University Martin Burtscher Wuxu Peng Apan Qasem Hongchi Shi Dan.
Multiprocessors— Large vs. Small Scale Multiprocessors— Large vs. Small Scale.
Lecture 6: Multicore Systems
Class CS 775/875, Spring 2011 Amit H. Kumar, OCCS Old Dominion University.
Parallel Programming Motivation and terminology – from ACM/IEEE 2013 curricula.
Princess Sumaya Univ. Computer Engineering Dept. Chapter 7:
CISC 879 : Software Support for Multicore Architectures John Cavazos Dept of Computer & Information Sciences University of Delaware
NSF/TCPP Early Adopter Experience at Jackson State University Computer Science Department.
Introductory Courses in High Performance Computing at Illinois David Padua.
Tuesday, September 12, 2006 Nothing is impossible for people who don't have to do it themselves. - Weiler.
Chapter Hardwired vs Microprogrammed Control Multithreading
Multiprocessors CSE 471 Aut 011 Multiprocessors - Flynn’s Taxonomy (1966) Single Instruction stream, Single Data stream (SISD) –Conventional uniprocessor.
 Parallel Computer Architecture Taylor Hearn, Fabrice Bokanya, Beenish Zafar, Mathew Simon, Tong Chen.
Lecture 37: Chapter 7: Multiprocessors Today’s topic –Introduction to multiprocessors –Parallelism in software –Memory organization –Cache coherence 1.
Fundamental Issues in Parallel and Distributed Computing Assaf Schuster, Computer Science, Technion.
Early Adopter: ASU - Intel Collaboration in Parallel and Distributed Computing Yinong Chen, Eric Kostelich, Yann-Hang Lee, Alex Mahalov, Gil Speyer, and.
CS 470/570:Introduction to Parallel and Distributed Computing.
CSinParallel Modules and the Topics in the Curriculum 2013 Core Libby Shoop Math, Statistics, and Computer Science Macalester College.
Introduction to Symmetric Multiprocessors Süha TUNA Bilişim Enstitüsü UHeM Yaz Çalıştayı
Jawwad A Shamsi Nouman Durrani Nadeem Kafi Systems Research Laboratories, FAST National University of Computer and Emerging Sciences, Karachi Novelties.
The Vector-Thread Architecture Ronny Krashinsky, Chris Batten, Krste Asanović Computer Architecture Group MIT Laboratory for Computer Science
Parallel and Distributed Computing in CS2013 Mehran Sahami Computer Science Department Stanford University.
Early Adopter Introduction to Parallel Computing: Research Intensive University: 4 th Year Elective Bo Hong Electrical and Computer Engineering Georgia.
Lecture 29 Fall 2006 Lecture 29: Parallel Programming Overview.
Computer System Architectures Computer System Software
18-447: Computer Architecture Lecture 30B: Multiprocessors Prof. Onur Mutlu Carnegie Mellon University Spring 2013, 4/22/2013.
Parallel Programming Models Jihad El-Sana These slides are based on the book: Introduction to Parallel Computing, Blaise Barney, Lawrence Livermore National.
Integrating Parallel and Distributed Computing Topics into an Undergraduate CS Curriculum Andrew Danner & Tia Newhall Swarthmore College Third NSF/TCPP.
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.
Introduction, background, jargon Jakub Yaghob. Literature T.G.Mattson, B.A.Sanders, B.L.Massingill: Patterns for Parallel Programming, Addison- Wesley,
Spreading Curricular Change in PDC: Some Practical Tools This material is based on work supported by the National Science Foundation under Grant Nos. DUE / /
Course Wrap-Up Miodrag Bolic CEG4136. What was covered Interconnection network topologies and performance Shared-memory architectures Message passing.
Chapter 6 Multiprocessor System. Introduction  Each processor in a multiprocessor system can be executing a different instruction at any time.  The.
SJSU SPRING 2011 PARALLEL COMPUTING Parallel Computing CS 147: Computer Architecture Instructor: Professor Sin-Min Lee Spring 2011 By: Alice Cotti.
Practices of Integrating Parallel and Distributed Computing Topics into CS Curriculum at UESTC Guoming Lu University of Electronic Science and Technology.
CSC 7600 Lecture 28 : Final Exam Review Spring 2010 HIGH PERFORMANCE COMPUTING: MODELS, METHODS, & MEANS FINAL EXAM REVIEW Daniel Kogler, Chirag Dekate.
Summary Background –Why do we need parallel processing? Moore’s law. Applications. Introduction in algorithms and applications –Methodology to develop.
Early Adopter: Integration of Parallel Topics into the Undergraduate CS Curriculum at Calvin College Joel C. Adams Chair, Department of Computer Science.
{ Applying the NSF/TCPP Curriculum Recommendations to a Liberal Arts Curriculum Akshaye Dhawan, Ursinus College.
Multi-Semester Effort and Experience to Integrate NSF/IEEE-TCPP PDC into Multiple Department- wide Core Courses of Computer Science and Technology Department.
Lecture 3 : Performance of Parallel Programs Courtesy : MIT Prof. Amarasinghe and Dr. Rabbah’s course note.
CS- 492 : Distributed system & Parallel Processing Lecture 7: Sun: 15/5/1435 Foundations of designing parallel algorithms and shared memory models Lecturer/
Incorporating Parallel & Distributed Computing Across a Liberal Arts Computer Science Curriculum Tia Newhall, Andrew Danner, Kevin Webb Swarthmore College.
1 Concurrent and Distributed Programming Lecture 2 Parallel architectures Performance of parallel programs References: Based on: Mark Silberstein, ,
Computer Organization CS224 Fall 2012 Lesson 52. Introduction  Goal: connecting multiple computers to get higher performance l Multiprocessors l Scalability,
Lecture 27 Multiprocessor Scheduling. Last lecture: VMM Two old problems: CPU virtualization and memory virtualization I/O virtualization Today Issues.
August 13, 2001Systems Architecture II1 Systems Architecture II (CS ) Lecture 11: Multiprocessors: Uniform Memory Access * Jeremy R. Johnson Monday,
Computer Architecture Lecture 24 Parallel Processing Ralph Grishman November 2015 NYU.
Uses some of the slides for chapters 3 and 5 accompanying “Introduction to Parallel Computing”, Addison Wesley, 2003.
Parallel Computing Presented by Justin Reschke
CDA-5155 Computer Architecture Principles Fall 2000 Multiprocessor Architectures.
Computer Science and Engineering Parallel and Distributed Processing CSE 8380 April 28, 2005 Session 29.
Computer Architecture Lecture 27: Multiprocessors Prof. Onur Mutlu Carnegie Mellon University Spring 2015, 4/6/2015.
Elec/Comp 526 Spring 2015 High Performance Computer Architecture Instructor Peter Varman DH 2022 (Duncan Hall) rice.edux3990 Office Hours Tue/Thu.
Lecture 13 Parallel Processing. 2 What is Parallel Computing? Traditionally software has been written for serial computation. Parallel computing is the.
INTRODUCTION TO HIGH PERFORMANCE COMPUTING AND TERMINOLOGY.
Concurrent and Distributed Programming Lecture 1 Introduction References: Slides by Mark Silberstein, 2011 “Intro to parallel computing” by Blaise Barney.
Fall 2012 Parallel Computer Architecture Lecture 4: Multi-Core Processors Prof. Onur Mutlu Carnegie Mellon University 9/14/2012.
Introduction to Parallel Computing: MPI, OpenMP and Hybrid Programming
CS5102 High Performance Computer Systems Thread-Level Parallelism
X10: Performance and Productivity at Scale
Morgan Kaufmann Publishers
Guoliang Chen Parallel Computing Guoliang Chen
Symmetric Multiprocessing (SMP)
EE 4xx: Computer Architecture and Performance Programming
Mattan Erez The University of Texas at Austin
Presentation transcript:

Adding PDC within a Six-Course Subset of the CS Major Apan Qasem Texas State University

Context Texas State University Current enrollment ~ ,000 undergrad, 5,000 graduate Student body reflects area demographic 28% of students are of Hispanic origin HSI designation since 2011 CS Department Faculty 21 TTF + 6 Lecturers 7-8 “rotating” adjuncts every semester Students ~650 declared CS majors ~90 graduate students Class sizes relatively small (< 40) SIGCSE14Texas State University 2

The Early-and-Often Approach Breaks away from the traditional approach of teaching parallel programming as an upper-level elective Follows the CSinParallel model (Brown, Shoop, Adams et al. ) Introduce parallelism early in the curriculum in required courses Repeat key concepts in different courses throughout the curriculum Tie concepts together in an upper- level capstone course SIGCSE14 upper-level elective major path capstone major path early introduction reinforce ment collation Texas State University 3

indicates prerequisite Indicates new course [Texas State CS curriculum] Data and Task Parallelism Divide-and-conquer Dynamic Programming B. Parallelization Techniques and Parallel Algorithms Communication Synchronization Scheduling for Power and Performance Data Dependence D. Task Orchestration SMP, Clusters NUMA, UMA Cache Sharing Cache Coherence C. Parallel Architectures Speedup Efficiency Scalability Cache Locality Load Balancing Complexity Analysis E. Performance Concurrency and Parallelism, Decomposition Power and Performance A. Elementary Notions low high Level of Abstraction CS II A,B,E CS I A Data Structures A,B, E Computer Architecture C,D,E Computer Networks B,D Operating Systems D,E Compilers D,E Graphics B, C Programming for Mutlicore and Manycore Platforms A,B,C,D,E freshman senior Year SIGCSE14Texas State University 4

Module Implementations to Date NoModule B1Parallelization techniques C1Intra-processor parallel architecture C2Inter-processor parallel architecture D1Task orchestration – synchronization and communication D2Task orchestration - scheduling and mapping E1Performance - basic concepts SIGCSE14 7 of 11 KUs from Tier 1 8 of 16 KUs from Tier 2 8 of 21 KUs from Elective 19 of 41 KUs total CS 2013 Coverage Adding two more in Fall 14 Texas State University 5

Parallelization Techniques Description Data and task parallelization techniques Data parallel programs with OpenMP CS2013 Mapping Recommended Courses CS II, Data Structures, Algorithms SIGCSE14 KAKnowledge UnitLevel SFComputational ParadigmsTier 1 SFParallelismTier 1 PDParallel DecompositionTier 1, Tier 2 PDParallel PerformanceTier 2 PDProcessing Elective PLConcurrency and Parallelism Texas State University 6

Intra-processor Parallel Architecture Description Instruction-level parallelism, superscalar, out-of-order execution Vector instructions, SMT Multicore memory hierarchy CS 2013 Mapping Recommended Courses Computer Organization, Computer Architecture SIGCSE14 KAKnowledge UnitLevel ARAssembly level machine organizationTier 2 ARFunctional organizationElective Texas State University 7

Inter-processor Parallel Architecture Description Shared-memory multiprocessors, distributed memory systems GPUS, SMTs, SSEs CS 2013 Mapping Recommended Courses Computer Organization, Computer Architecture SIGCSE14 KAKnowledge UnitLevel PDParallel Architecture Tier 1, Tier 2, Elective ARMultiprocessing and alternative architectures Elective Texas State University 8

Task Orchestration : Synchronization and Communication Description Point-to-point and collective communication Semaphores, locks, critical sections MPI and OpenMP CS 2013 Mapping Recommended Courses Operating Systems, Computer Networks SIGCSE14 KAKnowledge UnitLevel PDParallelism FundamentalsTier 1 PDCommunication and Coordination OSOperating System PrinciplesTier 2 OSConcurrency ARInterfacing and communication HCCollaboration and communicationElective Texas State University 9

Task Orchestration : Scheduling and Mapping Description Pipelined parallelism, producer-consumer applications Load balancing, energy efficiency, thread affinity SMT and hardware threads CS 2013 Mapping Recommended Courses Operating Systems SIGCSE14 KAKnowledge UnitLevel OSOperating System PrinciplesTier 2 OSConcurrency PDParallel Algorithms, Analysis, and ProgrammingTier 2, Elective Texas State University 10

Performance : Basic Concepts Description Amdahl’s law, linear and superlinear speedup, throughput, data locality, communication cost Study of parallel merge sort and matrix multiplication CS2013 Mapping Recommended Course CS I, Computer Architecture, Algorithms, Compilers SIGCSE14 KAKnowledge UnitLevel SFParallelismTier 1 SFEvaluation ARDigital logic and digital systemsTier 2 PDParallel PerformanceElective PLConcurrency and Parallelism Texas State University 11

Questions