MULTILISP: a language for concurrent symbolic computation
ACM Transactions on Programming Languages and Systems (TOPLAS)
Software engineering: a practitioner's approach (2nd ed.)
Software engineering: a practitioner's approach (2nd ed.)
Experimental Evaluation of a Reusability-Oriented Parallel Programming Environment
IEEE Transactions on Software Engineering
A report on the Sisal language project
Journal of Parallel and Distributed Computing - Special issue: data-flow processing
An introduction to parallel algorithms
An introduction to parallel algorithms
LogP: towards a realistic model of parallel computation
PPOPP '93 Proceedings of the fourth ACM SIGPLAN symposium on Principles and practice of parallel programming
Compiling Fortran 90D/HPF for distributed memory MIMD computers
Journal of Parallel and Distributed Computing - Special issue on data parallel algorithms and programming
The PVM concurrent computing system: evolution, experiences, and trends
Parallel Computing - Special issue: message passing interfaces
A message passing standard for MPP and workstations
Communications of the ACM
The Fork95 parallel programming language: design, implementation, application
International Journal of Parallel Programming
Explicit multi-threading (XMT) bridging models for instruction parallelism (extended abstract)
Proceedings of the tenth annual ACM symposium on Parallel algorithms and architectures
BSPlib: The BSP programming library
Parallel Computing
Implementing Linda for distributed and parallel processing
ICS '89 Proceedings of the 3rd international conference on Supercomputing
A comparative study of the NAS MG benchmark across parallel languages and architectures
Proceedings of the 2000 ACM/IEEE conference on Supercomputing
Towards a first vertical prototyping of an extremely fine-grained parallel programming approach
Proceedings of the thirteenth annual ACM symposium on Parallel algorithms and architectures
Pthreads for dynamic and irregular parallelism
SC '98 Proceedings of the 1998 ACM/IEEE conference on Supercomputing
Performance Metrics: Keeping the Focus on Runtime
IEEE Parallel & Distributed Technology: Systems & Technology
OpenMP: An Industry-Standard API for Shared-Memory Programming
IEEE Computational Science & Engineering
The Case for High-Level Parallel Programming in ZPL
IEEE Computational Science & Engineering
Euro-Par '99 Proceedings of the 5th International Euro-Par Conference on Parallel Processing
Parallelism in random access machines
STOC '78 Proceedings of the tenth annual ACM symposium on Theory of computing
Complexity and Performance in Parallel Programming Languages
HIPS '97 Proceedings of the 1997 Workshop on High-Level Programming Models and Supportive Environments (HIPS '97)
Combining self-reported and automatic data to improve programming effort measurement
Proceedings of the 10th European software engineering conference held jointly with 13th ACM SIGSOFT international symposium on Foundations of software engineering
PRAM-on-chip: first commitment to silicon
Proceedings of the nineteenth annual ACM symposium on Parallel algorithms and architectures
HOTI '07 Proceedings of the 15th Annual IEEE Symposium on High-Performance Interconnects
The TAME project: towards improvement-oriented software environments
IEEE Transactions on Software Engineering
Fpga-based prototype of a pram-on-chip processor
Proceedings of the 5th conference on Computing frontiers
Teaching parallel computing in a small college: meeting a renewed demand
Journal of Computing Sciences in Colleges
The role of MPI in development time: a case study
Proceedings of the 2008 ACM/IEEE conference on Supercomputing
A breadth-first course in multicore and manycore programming
Proceedings of the 41st ACM technical symposium on Computer science education
Using simple abstraction to reinvent computing for parallelism
Communications of the ACM
The last mile: parallel programming and usability
Proceedings of the FSE/SDP workshop on Future of software engineering research
Algorithm engineering: bridging the gap between algorithm theory and practice
Algorithm engineering: bridging the gap between algorithm theory and practice
User evaluation of correctness conditions: a case study of cooperability
Evaluation and Usability of Programming Languages and Tools
Hi-index | 0.02 |
Context: Writing software for the current generation of parallel systems requires significant programmer effort, and the community is seeking alternatives that reduce effort while still achieving good performance. Objective: Measure the effect of parallel programming models (message-passing vs. PRAM-like) on programmer effort. Design, setting, and subjects: One group of subjects implemented sparse-matrix dense-vector multiplication using message-passing (MPI), and a second group solved the same problem using a PRAM-like model (XMTC). The subjects were students in two graduate-level classes: one class was taught MPI and the other was taught XMTC. Main outcome measures: Development time, program correctness. Results: Mean XMTC development time was 4.8h less than mean MPI development time (95% confidence interval, 2.0-7.7), a 46% reduction. XMTC programs were more likely to be correct, but the difference in correctness rates was not statistically significant (p=.16). Conclusions: XMTC solutions for this particular problem required less effort than MPI equivalents, but further studies are necessary which examine different types of problems and different levels of programmer experience.