Revisiting Educational Parallel Computing

About four years ago, I dreamed about how multicore computing could push educational computing into a high-performance era. It turns out that the progress in multicore computing has been slow. The computer I am using to write this blog post has four physical cores that support eight virtualized cores, but I don’t feel it is dramatically faster than my previous one bought more than six years ago. Worse, it feels much slower than my new Thinkpad tablet, which is powered by a recent I7 dual-core processor. The fact that a dual-core Intel CPU beats a quad-core Intel CPU suggests something must be wrong in the multicore business.

Before the real promise of multicore computing arrives in my computers, two other things have changed the landscape of personal parallel computing. The first is general-purpose computing on graphics processing units (GPGPU), which uses hundreds of GPU processors in a graphics card to perform some calculations traditionally done in CPUs. OpenCL and CUDA are currently two frameworks that support developers to write parallel code to leverage the GPU power (or the power of hybrid CPU/GPU).

The second is cloud computing. Public clouds provide access to thousands of processors. IT companies have developed cutting-edge technologies that make modern search engines so fast. Can they be used to accelerate scientific simulations on your tablets? The Magellan Report on Cloud Computing for Science published by the U.S. Department of Energy last year provides some perspectives from the science community. Cloud gaming provides some complementary perspectives from the game industry. Putting these insights together, I think there is an opportunity here for educational technology developers who want to deliver killer animations for digital textbooks or online courses. After all, like games, the competition in the education media market will eventually be driven by the quality of animations. And when it comes to animations, high quality usually means realistic details and fast renderings.

GPGPU and cloud computing represent a departure from multicore computing to many-core computing. Regardless of what the future of computing will be, parallel computing is not optional — it is inevitable. Educational technology can benefit from this wave of paradigm shift if we take actions now.