?

Log in

Previous Entry

I avoided “The Black Swan” for some years because I was completely unimpressed with the reviews. However, I was sufficiently impressed a recent Nassim Taleb essay to purchase his “Incerto” series. I have read the first two books so far (“Fooled by Randomness” and “The Black Swan”), and highly recommend both of them.

The key point of these two books is that in real life, extremely low-probability events can have extreme effects, and such events are the black swans of the second book's title. This should be well in the realm of common sense: Things like earthquakes, volcanoes, tidal waves, and asteroid strikes should illustrate this point. A follow-on point is that low-probability events are inherently difficult to predict. This also should be non-controversial: The lower the probability, the less the frequency, and thus the less the experience with that event. And of my four examples, we are getting semi-OK at predicting volcanic eruptions (Mt. St. Helens being perhaps the best example of a predicted eruption), not bad at tidal waves (getting this information to those who need it still being a challenge), and hopeless at earthquakes and asteroid strikes.

Taleb then argues that the increasing winner-takes-all nature of our economy increases the frequency and severity of economic black-swan events, in part by rendering normal-distribution-based statistics impotent. If you doubt this point, feel free to review the economic events of the year 2008. He further argues that this process began with the invention of writing, which allowed one person to have an outsized effect on contemporaries and on history. I grant that modern transportation and communication systems can amplify black-swan events in ways that weren't possible in prehistoric times, but would argue that individual prehistoric people had just as much fun with the black swans of the time, including plague, animal attacks, raids by neighboring tribes, changes in the habits of prey, and so on. Nevertheless, I grant Taleb's point that most prehistoric black swans didn't threaten the human race as a whole, at least with the exception of asteroid strikes.

My favorite quote of the book is “As individuals, we should love free markets because operators in them can be as incompetent as they wish.” My favorite question is implied by his surprise that so few people embrace both sexual and economic freedom. Well, ask a stupid question around me and you are likely to get a stupid answer. Here goes: Contraceptives have not been in widespread use for long enough for human natural selection to have taken much account of their existence. Therefore, one should expect the deep subconscious to assume that sexual freedom will produce lots of babies, and that these babies will need care and feeding. Who will pay for this? The usual answer is “everyone” with consequent restrictions on economic freedom. If you don't like this answer, fine, but please consider that it is worth at least what you are paying for it. ;–)

So what does all of this have to do with parallel programming???

As it turns out, quite a lot.

But first, I will also point out my favorite misconception in the book, which is that NP has all that much to do with incomputability. On the other hand, the real surprise is that the trader-philosopher author would say anything at all about them. Furthermore, Taleb would likely point out that in the real world, the distinction between “infeasible to compute” and “impossible to compute” is a distinction without a difference.

The biggest surprise for me personally from these books is that one of the most feared category of bugs, race conditions, are not black-swan bugs, but are instead white-swan bugs. They are quite random, and very amenable to the Gaussian statistical tools that Taleb so rightly denigrates for black-swan situations. You can even do finite amounts of testing and derive good confidence bounds for the reliability of your software—but only with respect to white-swan bugs such as race conditions. So I once again feel lucky to have the privilege of working primarily on race conditions in concurrent code!

What is a black-swan bug? One class of such bugs caused me considerable pain at Sequent in the 1990s. You see, we didn't have many single-CPU systems, and we not infrequently produced software that worked only on systems with at least two CPUs. Arbitrarily large amounts of testing on multi-CPU systems would fail to spot such bugs. And perhaps you have encountered bugs that happened only at specific times in specific states, or as they are sometimes called, “new moon on Tuesdays” bugs.

Taleb talks about using mathematics from fractals to turn some classes of black-swan events into grey-swan events, and something roughly similar can be done with validation. We have an ever-increasing suite of bugs that people have injected in the past, and we can make some statements about how likely someone is to make that same error again. We can then use this experience to guide our testing efforts, as I try to do with the rcutorture test suite. That said, I expect to continue pursuing additional bug-spotting methods, including formal verification. After all, that fact that race conditions are not black swans does not necessarily make them easy, particularly in cases, such as the Linux kernel, where there are billions of users.

In short, ignore the reviews of “Fooled by Randomness” and “The Black Swan”, including this one, and go read the actual books. If you only have time to read one of them, your should of course pick one at random. ;–)

Comments

( 4 comments — Leave a comment )
Richard Woodruff
Apr. 19th, 2017 03:36 am (UTC)
Incerto
Hi Paul, while checking on "Perfbook" I see you found some good books. I found and read all the Taleb books in 2013 when following quoted works in the fascinating book "Thinking Fast and Slow" by Kahneman. While I recommend all Taleb's books, probably "Antifragle" provided the biggest perspective changer/expander. I recently re-read "Antifragle" after noticing Kindle had several updates (now 3+ edition) and found several ideas are now more clearly presented. A fun aspect of Taleb's books is one's vocabulary will be expanded. He drops 'Easter egg' words around which require a looking up in the dictionary as they are uncommon. At first, these word choices seems unnecessary but after a bit becomes kind of fun. "The Bed of Procrustes" was my least favorite, it's not meant to be read cover to cover and should be spread over a longer time. Please pass on any other good book recommendations.
paulmck
Apr. 19th, 2017 04:04 am (UTC)
Re: Incerto
Good to hear from you Richard! How are things going?

I just started Antifragile, but thus far agreed, a good read! I haven't been as disciplined as I should be about looking up the "Easter Eggs", but in part because I normally read books on the exercise bicycle at the gym. I should probably write them down and look them up later, but that probably requires more organization than I am likely to muster. I did like "Thinking Fast and Slow" as well. And agreed, "The Bed of Procrustes" is best browsed rather than read.

Anyway, lots more books on the shelf, both read and to be read. I do expect to post more reviews, but no promises on schedule. ;-)
Richard Woodruff
Apr. 19th, 2017 04:08 pm (UTC)
Re: Incerto
Hi Paul, things are going OK, thanks for asking.

As a hint: The Kindle has a contextually touch activated dictionary for fast/easy lookups. This plus search is convenient. Equations and figures are not as good as printed, but books I consume here have less of those. Many can even be listened to saving the eyes some strain.

There are a lot of good books out there to learn from. Thanks for sharing your thoughts! Maybe in the future, I'll comment on the content :)
paulmck
Apr. 22nd, 2017 08:43 pm (UTC)
Re: Incerto
I might get an ebook reader yet! Still on paper and ink.

Interestingly enough, Taleb labels ebook readers as "fragile". Which I guess they are, if you don't have a way to charge the battery. Or if you compare book lifetime with electronic-device lifetime. Nevertheless, the ability to just touch an unfamiliar word to get its definition is extremely attractive.

My problem at the moment is which of 1000+ books to review. But of course, this is child's play compared to the decision as to which of millions of books to read. And that is child's play as well, given that there is an extremely large number of books that could be written. :-)
( 4 comments — Leave a comment )