How a Rogue Optimization Breaks C11 Memory Consistency

A widely used compiler optimization contains a serious error that breaks C11's memory consistency model by introducing a shared memory data race. Although the optimization is perfectly valid for single-threaded programs, it has the potential to break multi-threaded programs based on  both C11's threaded model and the commonly used pthreaded model.

By Marcel Beemster, Solid Sands


Related


Monitoring and Securing the Smart Grid

Smart grids use phasor measurement units (PMUs) to assess and manage independently operated grid systems. National Instruments, Hewlett Packard Enterprise, and OSIsoft created a "best of bree...

Monetizing the IoT: Show Me the Money

The Internet of Things (IoT) is disrupting entire industries around the world. There is a lot of ‘new’ –including new devices, software, services – along with new opportunities...