integrating parallel computing into the undergraduate curriculum: efforts at texas state university...
TRANSCRIPT
Integrating Parallel Computing into the Undergraduate
Curriculum: Efforts at Texas State University
Martin BurtscherWuxu Peng
Apan QasemHongchi ShiDan Tamir
Heather Thiry
Outline
• Motivation• The Early-and-often approach• Mapping modules to curricula• Assessment• Challenges
TUES14
Need for PDC Topics in the Curriculum
TUES14
more responsibility on software
ubiquitous parallelism
CS undergraduates need exposure to more PDC concepts to effectively exploit
current and future computers
Efforts at Integrating Parallelism
• NSF/IEEE TCPP PDC Curriculum Committee
• NSF CDER center
• ACM 2013 Curriculum Guidelines• New Knowledge Area on PDC• 5 hours in Tier 1 (0 in 2008)• 10 hours in Tier 2
TUES14
The Early and Often Approach
• Breaks away from the traditional approach of teaching parallel programming as an upper-level elective
• 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
TUES14
upper-level elective
major path
capstone m
ajor path
early introduction
reinforcement
collation
Module Principles
1. modules should be classified and introduced based on level of abstraction• Amdahl’s Law in CS I, cache coherence in senior-level
class
2. modules should provide parallel context to existing content• Data-parallelism when teaching divide-and-conquer• Pipelining when doing producer-consumer
3. modules should be self-contained for easy adoption across different institutions
TUES14
Texas State PDC Modules
• Module includes• Instructional material
• Lecture notes• In-class examples, exercises and solution• Pedagogical notes • Source code
• Evaluation material • Quizzes• Programming assignments • Exam questions
• Length : 1.25-2.5 hours (1-2 lectures) • Course recommendation• Learning outcomes mapped to NSF/TCPP
curriculum
TUES14
http://tues.cs.txstate.edu
Instructional Support
Module Topics
Index AreaA Elementary NotionsB Parallel Algorithms
C Parallel Architecture
D Task Orchestration
E Parallel Performance
TUES14
Attempt to provide coverage on a broad range of topics, not just “programming”
Areas not disjoint
Module Topics
TUES14
Index Area ACM Knowledge AreaA Elementary Notions Parallelism FundamentalsB Parallel Algorithms Parallel Algorithms, Analysis,
and ProgrammingC Parallel Architecture Parallel Architecture
D Task Orchestration Communication and Coordination
E Parallel Performance Parallel Performance
Modules
Index Module
A Parallel Computing Fundamentals
B Parallelization Techniques
C1 Intra-processor parallel architecture
C2 Inter-processor parallel architecture
D1 Scheduling and mapping
D2 Communication and Synchronization
E1 Performance - basic concepts
E2 Performance - analysis and evaluation
E3 Performance - memory, affinity and energy
TUES14
AB ABSoftware Engineering
AB
prerequisite
required course
CS II
CS I
Digital Logic
Computer Ethics
ComputerNetworks
OperatingSystems
Data Structures
Parallel Programming
freshman
senior
TUES14
Assembly Discrete Math
Computer Architecture
Compilers OODI Human Factors
Embedded Systems
sophomore
junior
Texas State CS Curriculum
Data and Task Parallelism
Divide-and-conquerDynamic Programming
B. Parallelization Techniques and
Parallel AlgorithmsCommunicationSynchronization
Scheduling for Power and Performance
Data Dependence
D. Task Orchestration
SMP, ClustersNUMA, UMA
Cache SharingCache Coherence
C. Parallel Architectures
SpeedupEfficiencyScalability
Cache LocalityLoad Balancing
Complexity Analysis
E. PerformanceConcurrency and Parallelism, Decomposition
Power and Performance
A. Elementary Notions
low
high
Level o
f A
bstra
ctio
n
CS II
A,B,E
CS I
A
Data Structures
A,B, E
Computer Architecture
C, E
ComputerNetworks
B,D
OperatingSystems
D,E
Compilers
C,E
Special Topics
B,C,D,E
Parallel Programming
A,B,C,D,E
freshman
senior
Year
TUES14
Assembly
C
A
Mapping Modules to Courses
Module Course
A Parallel Computing Fundamentals CS I
B Parallelization Techniques CS II, Data Structures
C1 Intra-processor parallel architecture Assembly, Architecture
C2 Inter-processor parallel architecture Architecture, Compilers
D2 Scheduling and mapping Operating Systems
E1 Performance - basic concepts CS II, Data Structures, Compilers
TUES14
Assessment
• Learning outcome• assessed through final exam questions and/or class
assignments
• External evaluation• Student engagement, Learning experience, Confidence• Gender, GPA and other classifications
• Longitudinal evaluation • Performance on capstone course as function of number
of modules encountered in previous courses• Keep track of modules encountered by student
TUES14
Challenges
• Coverage• Which course is the best fit?• How much time to devote to a module?• When in the semester should the module be introduced?
• Content substitution• What content should be removed or condensed?• How to convince experienced instructors, this is the right
thing?
• Consistency • How to ensure consistent coverage of material across
multiple sections taught by different instructors?
TUES14
Tackling the Challenges
• Coverage• be conservative and opt to introduce module in the
more senior-level class • introduce modules late in the semester
• Content substitution• Remove/condense content that appear ‘outdated’
• VAX
• Reduce coverage of content that is covered in more than one course • number conversion
• Consistency • For now, introducing modules in only a subset of the
sections, helps with longitudinal survey
TUES14