Introduction to programming shared-memory and distributed-memory parallel computers. - Quammen, Cory (Crossroads : the ACM student magazine.)