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


Making things come alive in a secure way

Considering the security of one single business application is not enough anymore. With the IoT, multiple applications across multiple industries can share and exchange data across different types...

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...