Langbeschreibung
This book introduces beginning undergraduate students of computing and computational disciplines to modern parallel and distributed programming languages and environments, including map-reduce, general-purpose graphics processing units (GPUs), and graphical user interfaces (GUI) for mobile applications. The book also guides instructors via selected essays on what and how to introduce parallel and distributed computing topics into the undergraduate curricula, including quality criteria for parallel algorithms and programs, scalability, parallel performance, fault tolerance, and energy efficiency analysis. The chapters designed for students serve as supplemental textual material for early computing core courses, which students can use for learning and exercises. The illustrations, examples, and sequences of smaller steps to build larger concepts are also tools that could be inserted into existing instructor material. The chapters intended for instructors are written at a teaching level and serve as a rigorous reference to include learning goals, advice on presentation and use of the material, within early and advanced undergraduate courses.
Inhaltsverzeichnis
1 Introduction. 2 What do we need to know about parallel algorithms and their efficient implementation?.- 3 Modules for Teaching Parallel Performance Concepts.- 4 Scalability in Parallel Processing.- 5 Energy Efficiency Issues in Computing Systems.- 6 Scheduling for fault-tolerance.- 7 MapReduce for Beginners - The Clustered Data Processing Solution.- 8 The Realm of Graphical Processing Unit (GPU) Computing.- 9 Managing Concurrency in Mobile User Interfaces with Examples in Android.- 10 Parallel Programming for Interactive GUI Applications.- Scheduling in Parallel and Distributed Computing Systems.