Recently I faced with parallel computing: different technologies hardware and software, sw architecture, libraries, patterns, etc.
I was very beginner in early steps, and after searching a while for the right doc to start from, I found this introduction essay about parallel computing here: Introduction to Parallel Computing by Blaise Barney .
Barney makes easy to understand different types of parallelism (shared memory, thread, etc), and what they are releated to.
The chapter I liked most is “Designing Parallel Programs”, about partitioning, balancing, communications, granularity 🙂
It helps you in early steps, while defining your application’s architecture.