An introduction to the practical aspects of parallel programming, this book presents solutions based on Global Arrays (GAs). It provides a general understanding of a difficult and complex topic, teaching readers to solve practical problems a general and convenient way. The authors describe the GA programming model and how it fits the abstract model of modern computer architecture. They explore the programming interfaces available in GA, providing practical knowledge on how to develop programs using GA. The book includes application examples and small code kernels to illustrate the basic parallel programming concepts.