Schrödinger's Cat and RCU (Well, Structured Procrastination, Actually)
davecb writes "Paul E. McKenney, one of the Linux RCU implementors, addresses the problem of synchronization using structured deferral on, what else, Mr Schrödinger's famous cat. Courtesy of deferral/procrastination, the cat can be both alive and dead at the same time. 'In this example, Schrödinger would like to construct an in-memory database to keep track of the animals in his zoo. Births would of course result in insertions into this database, while deaths would result in deletions. The database is also queried by those interested in the health and welfare of Schrödinger's animals. Schrödinger has numerous short-lived animals such as mice, resulting in high update rates. In addition, there is a surprising level of interest in the health of Schrödinger's cat, so much so that Schrödinger sometimes wonders whether his mice are responsible for most of these queries. Regardless of their source, the database must handle the large volume of cat-related queries without suffering from excessive levels of contention. Both accesses and updates are typically quite short, involving accessing or mutating an in-memory data structure, and therefore synchronization overhead cannot be ignored.'"
I feel like this submission was generated by SCIgen.
sysadmins and parents of newborns get the same amount of sleep.
I know! Let's explain the workings of a deterministic computational system using analogies to quantum mechanics! Everyone find quantum mechanics clear and intuitive.
Slashdot Translation: It's similar to how an article exists in a superposition of both interesting and uninteresting at the same time, so long as no one reads it. Rather than RTFA and collapse the superposition, we can simply read the quantumly entangled comments to determine the degree of interest in accordance with our groupthink.
He can be both ignorant and knowledgeable at same time until measured.
And if in an entangled pair of students one just copies notes off other, measuring one of them will immediately collapse the wave function of another.
... would feel about the fact that his cat became a household name to illustrate quantum weirdness.
After all he created that thought experiment to mock the Copenhagen Interpretation. He was severely unhappy with the latter, and argued against it in his article on the meaning of wave mechanics.
And still have not determined it's state.
You are being MICROattacked, from various angles, in a SOFT manner.
Key of the problem is that we can not know whether the cat is dead or alive without looking at it. Poor cat. But could we maybe determine the dead/alive state of the cat indirectly? For example by looking at the death rates of the mice? After all, when the cat is alive mice will die. So by just looking at the death rate of mice we can tell the cat is alive or dead, without looking at the cat directly. And as we never look at the cat directly it will remain dead and alive forever, without being forced in one of its quantum states "dead" or "alive". And in the meantime we actually know whether the cat is alive or dead, without the cat itself knowing. Meaning it can live forever.
Makes sense? No more than the submission to me... Oh well.
Just no.
While births indeed should mean insertions in to the database, deaths should not be deletions. They should be updating the Living flag to 'N' and populating the Date of Death and Cause of Death fields.
They're going to want reports and stats not just on the current living animals. I didn't RTFA ('natch) but if they missed that requirement, what else have they overlooked?
The article is well worth a read: hell, I've implemented RCU myself, and I learned by reading it.
Hope that helps!
Rusty.