Using Patterns to Teach Parallel Computing

被引:3
作者
Ferner, Clayton [1 ]
Wilkinson, Barry [2 ]
Heath, Barbara [3 ]
机构
[1] Univ North Carolina Wilmington, 601 S Coll Rd, Wilmington, NC 28403 USA
[2] Univ North Carolina Charlotte, Charlotte, NC 28223 USA
[3] East Main Evaluat & Consulting LLC, Wilmington, NC 28405 USA
来源
PROCEEDINGS OF 2014 IEEE INTERNATIONAL PARALLEL & DISTRIBUTED PROCESSING SYMPOSIUM WORKSHOPS (IPDPSW) | 2014年
基金
美国国家科学基金会;
关键词
pattern programming; compiler directives; parallel computing; distributed computing;
D O I
10.1109/IPDPSW.2014.123
中图分类号
TP301 [理论、方法];
学科分类号
081202 ;
摘要
In this paper, we describe the results of teaching a parallel programming course using a pattern programming approach in a course taught across the State of North Carolina on a televideo network in Fall 2013. Five universities participated in this study. The course begins with a higher-level tool called the Seeds framework that creates and executes high-level message passing patterns such as a workpool without writing low level MPI code. To avoid going directly to MPI next, we used another tool (Paraguin compiler) which uses compiler directives to create MPI code for patterns. Once students understand the pattern programming approach we then present low level MPI routines and their more complex parameters but now with the knowledge of parallel patterns. An independent professional evaluator is employed to deploy survey instruments and produce an analysis of the results. The lessons we learned from this data collected in Fall 2013 are: 1) Teaching parallel computing in the context of patterns has a positive impact on student learning; 2) Teaching the lower level tools first would be beneficial; 3) The improvements made to the Paraguin compiler directives significantly improved the students confidence in using the tool; and 4) The lower level tools can still be taught in the context of patterns.
引用
收藏
页码:1107 / 1114
页数:8
相关论文
共 14 条
[1]  
Adams J., 2013, 3 NSF TCPP WORKSH PA
[2]  
[Anonymous], STRUCTURED PARALLEL
[3]  
Ferner C., 2013, 3 NSF TCPP WORKSH PA
[4]  
Ferner C., 2013, SIGCSE 2013 44 ACM T
[5]   Revisiting communication code generation algorithms for message-passing systems [J].
Ferner, Clayton .
INTERNATIONAL JOURNAL OF PARALLEL EMERGENT AND DISTRIBUTED SYSTEMS, 2006, 21 (05) :323-344
[6]  
Ferner CS, 2002, IEEE SOUTHEASTCON 2002: PROCEEDINGS, P1
[7]  
Keutzer K., Our Pattern Language
[8]  
Mattson T.G., 2004, Patterns for parallel programming
[9]  
McCool M. D., 2013, SUPERCOMPUTING SC 13
[10]  
Parrot C., 2006, P 2006 INT C PAR PRO