Loading…
The attendees list includes all authors (even thought they may not be attending), speakers, artists, etc. 

View the full conference website here:
IEEE Cluster 2013 Conference
Wednesday, September 25 • 3:30pm - 3:55pm
HPC Runtime Support for Fast and Power Efficient Locking and Synchronization

Sign up or log in to save this to your schedule, view media, leave feedback and see who's attending!

As compute nodes increase in parallelism, existing intra-node locking and synchronization primitives need to be scalable, fast, and power efficient. Most parallel runtime systems try to find a balance between these properties during synchronization by fine-tuned spin-waiting and processor yielding to the OS. Unfortunately, the code path followed by the OS to put the processor into a lower power state for idling almost always includes the interrupt processing path. This introduces an unnecessary overhead for both the waiting tasks and the task waking them up. In this work we investigate a pair of x86 specific instructions, MONITOR and MWAIT, that can be used to build these primitives with the desired performance and power efficiency properties. This pair of instructions allow a processor to quickly pause execution until another one wakes it up with single memory store avoiding the overhead of switching to the idle thread of the OS for the waiting task and sending IPIs for the waking task. We implement a locking primitive using these instructions and evaluate its effectiveness in OpenMP on low to high scales. In these tests we have seen performance improvements of up to 38x and power reduction by 10% at 64 cores and very good scaling. With these results as a motivation we propose that other high- core count processors include these type of instructions and make them available from userspace.


Wednesday September 25, 2013 3:30pm - 3:55pm EDT
15th Floor - Circle City 15 (Hilton) 120 W. Market St, Indianapolis, IN

Attendees (0)