The Research archive provides access to all Research articles published in past issues of Communications of the ACM.
It is widely held that parallel programming is far more difficult and error prone than writing sequential code. In particular, the myriad allowable interleavings of thread execution mean that different runs of a program can…
Say you want to simulate the motion over time of the stars in a galaxy to learn about how galaxies formed and why the universe appears as it does. Is it feasible on a single processor? Sadly, even using today's fastest single…
We introduce a new parallel programming model addressing the issues facing current methods of executing parallel programs deterministically, and use Determinator, a proof-of-concept OS, to demonstrate the model's practicality…
We describe a parallel fast multipole method for highly nonuniform distributions of particles. We employ both distributed memory parallelism and shared memory parallelism to rapidly evaluate two-body nonoscillatory potentials…