Introduction to Parallel Programming

Introduction to Parallel Programming focuses on the techniques, processes, methodologies, and approaches involved in parallel programming. The book first offers information on Fortran, hardware and operating system models, and processes, shared memory, and simple parallel programs. Discussions focus on processes and processors, joining processes, shared memory, time-sharing with multiple processors, hardware, loops, passing arguments in function/subroutine calls, program structure, and arithmetic expressions. The text then elaborates on basic parallel programming techniques, barriers and race conditions, and nested loops. The manuscript takes a look at overcoming data dependencies, scheduling summary, linear recurrence relations, and performance tuning. Topics include parallel programming and the structure of programs, effect of the number of processes on overhead, loop splitting, indirect scheduling, block scheduling and forward dependency, and induction variable. The publication is a valuable reference for researchers interested in parallel programming.