Internet Surveillance Gear (Spy Files) | WikiLeaks

Internet Surveillance Gear & Process Manuals

Can Seqlocks Get Along With Programming Language Memory Models? | Boehm

Hans-J. Boehm (HP); Can Seqlocks Get Along With Programming Language Memory Models?; Technical Report HPL-2012-68, Hewlett-Packard; 2012-06-06; ; In Proceedings of ACM SIGPLAN Workshop on Memory Systems Performance and Correctness (MSPC 2012); 9 pages.


Seqlocks are an important synchronization mechanism and represent a significant improvement over conventional reader-writer locks in some contexts. They avoid the need to update a synchronization variable during a reader critical section, and hence improve performance by avoiding cache coherence misses on the lock object itself. Unfortunately, they rely on speculative racing loads inside the critical section. This makes them an interesting problem case for programming-language-level memory models that emphasize data-race-free programming. We analyze a variety of implementation alternatives within the C++11 memory model, and briefly address the corresponding issue in Java. In the process, we observe that there may be a use for “read-dont-modify- write” operations, i.e. read-modify-write operations that atomically write back the original value, without modifying it, solely for the memory model consequences, and that it may be useful for compilers to optimize such operations.

Telepolis – How NSA access was built into Windows

Duncan Campbell; How NSA access was built into Windows; In Heise News; 1999-04-09,
Teaser: Careless mistake reveals subversion of Windows by NSA.

<quote>Had the next-generation CPU’s with encrypted instruction sets already been deployed, we would have never found out about NSAKEY.” </quote> attributed to “one [leading] US cryptographer”