My life has just been a blur recently, but the weather is beautiful and I found a few moments to surf the web.
Here's some fun stuff I found, maybe you will like it too
- The JSR-133 Cookbook for Compiler Writers
This is an unofficial guide to implementing the new Java Memory Model (JMM) specified by JSR-133 . It provides at most brief backgrounds about why various rules exist, instead concentrating on their consequences for compilers and JVMs with respect to instruction reorderings, multiprocessor barrier instructions, and atomic operations. It includes a set of recommended recipes for complying to JSR-133.
- Relaxed-Memory Concurrency
Multiprocessors are now pervasive and concurrent programming is becoming mainstream, but typical multiprocessors (x86, Sparc, Power, ARM, Itanium) and programming languages (C, C++, Java) do not provide the sequentially consistent shared memory that has been assumed by most work on semantics and verification. Instead, they have subtle relaxed (or weak) memory models, exposing behaviour that arises from hardware and compiler optimisations to the programmer. Moreover, these memory models have usually described only in ambiguous (and sometimes flawed) prose, leading to widespread confusion. This page collects work by a group of people working to develop mathematically rigorous and usable semantics for multiprocessor programs. We are focussing on three processor architectures (x86, Power, and ARM), on the recent revisions of the C++ and C languages (C++11 and C11), and on reasoning and verification using these models.
- The Slow Winter
John was terrified by the collapse of the parallelism bubble, and he quickly discarded his plans for a 743-core processor that was dubbed The Hydra of Destiny and whose abstract Platonic ideal was brief ly the third-best chess player in Gary, Indiana. Clutching a bottle of whiskey in one hand and a shot-gun in the other, John scoured the research literature for ideas that might save his dreams of infinite scaling.
- The Belt: Talk by Ivan Godard – 2013-07-11 at Google
The belt machine model is inherently free of update hazards because all operation results go onto the belt by Single Assignment; in other words, once created they never change their value. Belt machines have no general registers and thus no rename registers that physically embody them. Result addressing is implicit, which produces compact code and easily accommodates operations like integer divide that logically produce multiple results. The machine model integrates naturally with function call, eliminating caller/callee save conventions and complex call preamble and postamble code.
- The History of Packets
This guide seeks to take you on the adventure of the changing packet, and how it has survived over the past four decades of networking hardware and computer software.
- No More Callbacks: 10,000 Actors, 10,000 Threads, 10,000 Spaceships: Adopting Ideas from Erlang and Clojure for a Highly Concurrent, Simple and Maintainable Application
The first spaceships demo used only the second component of the two-pillared solution – namely a concurrent, transactional data structure that helps with business logic scaling – but not the first: a concurrency-oriented programming language or paradigm.
To test how well the two parts fit together, we’ve re-written the demo so it uses Quasar actors, as well as the newly released SpaceBase 2.0, which integrates with Quasar. While written in Java rather than in a concurrency-oriented language, the demo uses Quasar’s API which is heavily based on ideas taken from Erlang and Clojure, and I think that the code demonstrates the approach well.
- Slides and Bibliography of Mohan’s “Tutorial: An In-Depth Look at Modern Database Systems”
This tutorial is targeted at a broad set of database systems and applications people. It is intended to let the attendees better appreciate what is really behind the covers of many of the modern database systems (e.g., NoSQL and NewSQL systems), going beyond the hype associated with these open source, commercial and research systems. The capabilities and limitations of such systems will be addressed. Modern extensions to decades old relational DBMSs will also be described. Some application case studies will also be presented.
- Happy Arachtober! There Are Spiders in Your Car
You probably have spiders in and around your car all the time. That’s part of living in a biological world. Spiders in cars are a problem primarily when the big apes driving the cars freak out.