Research performed under the umbrella of the GRAND PLATFORM project by SFU researcher Dr. Alexandra Fedorova, her students Micah J Best, Shane Mottishaw, Craig Mustard and Mark Roth and their industrial collaborator Andrew Brownsword (Electronic Arts) will appear at the prestigious ACM SIGPLAN 2011 Conference on Programming Language Design and Implementation (PLDI), in the paper entitled "Synchronization via Scheduling: Techniques For Efficiently Managing Shared State".
This work features a novel way to increase efficiency of parallel programming and has specific application to games, augmented reality, computer vision and other new media applications.
A major cause of errors and programmer frustration is parallel data access conflicts. Simply put, a data access conflict occurs when parts of program running on different processors attempt to simultaneously modify some program values.
This can easily lead to data corruption and cause incorrect results and crashes. In complex systems with with highly inter-related data, this can take expert knowledge in parallelism to correctly mediate in an efficient manner.
The new technique, Synchronization via Scheduling (SvS), analyzes the program code to ascertain the values potentially accessed by each of its parts. Using this information while the program is running SvS determines whether or not two parts will have a conflict if run simultaneously, and if no possibility of conflict exists, the program regions are assigned to run parallel.
SvS significantly reduces execution time of parallel video game programs without requiring the programmer to think about shared state conflicts, thus increasing programmer productivity.