120 likes | 133 Views
Explore Texas State University's novel initiative to incorporate Parallel and Distributed Computing (PDC) early and consistently within the CS major through a strategic course subset and hands-on capstone projects.
E N D
Adding PDC within a Six-Course Subset of the CS Major Apan Qasem Texas State University
Context • Texas State University • Current enrollment ~35000 • 30,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) Texas State University
The Early-and-Often Approach upper-level elective major path collation capstone reinforcement major path early introduction • 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 Texas State University
E. Performance Speedup Efficiency Scalability Cache Locality Load Balancing Complexity Analysis high Communication Synchronization Scheduling for Power and Performance Data Dependence D. Task Orchestration SMP, Clusters NUMA, UMA Cache Sharing Cache Coherence C. Parallel Architectures B. Parallelization Techniques and Parallel Algorithms Data and Task Parallelism Divide-and-conquer Dynamic Programming A. Elementary Notions Concurrency and Parallelism, Decomposition Power and Performance Level of Abstraction low freshman Programming for Mutlicore and Manycore Platforms CS I Compilers Graphics Computer Architecture Operating Systems Computer Networks CS II Data Structures D,E A,B, E A D,E B, C C,D,E A,B,E A,B,C,D,E B,D Year indicates prerequisite Indicates new course [Texas State CS curriculum] Texas State University senior
Module Implementations to Date Adding two more in Fall 14 CS 2013 Coverage • 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 Texas State University
Parallelization Techniques • Description • Data and task parallelization techniques • Data parallel programs with OpenMP • CS2013 Mapping • Recommended Courses • CS II, Data Structures, Algorithms Texas State University
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 Texas State University
Inter-processor Parallel Architecture • Description • Shared-memory multiprocessors, distributed memory systems • GPUS, SMTs, SSEs • CS 2013 Mapping • Recommended Courses • Computer Organization, Computer Architecture Texas State University
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 Texas State University
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 Texas State University
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 Texas State University