Synchronization, Communication, and Scheduling in Parallel Systems