Control abstraction is the process by which programmers define new control constructs by specifying an ordering of statement execution. Using control abstraction, we can create new control constructs for parallel programming, separate the specification of parallelism and synchronization from the rest of the application code, and vary the parallelism exploited...