There’s something about Russian idioms (or ‘making an alternative parallel programming glossary’)

Hi All!

We have a Russian idiom which sounds like “explain with your fingers”. It’s useful when you ask someone to be as simple as possible. I looked for English analogue in various online dictionaries and even asked my US colleagues but… I still did not find a perfect match. There are some options, for instance Jerry Baugh proposed “plain as day” and “simple as child’s play”. Bill also suggested something about crayon (unfortunately I forgot the exact phrase).  It reminds me the times when I heard Queen song Another One Bites the Dust the first time. It was about 15 years before the internet age. Can you imagine how much time I’ve spent to understand what it’s all about?

Well, enough about languages. The story is actually about parallel programming terms. In December I asked Russian community members to “explain with their fingers” several terms related to parallel programming. The idea was to make small and funny contest and collect good explanations with clear examples from real life. I set the task this way: “imagine, that you need to explain basic concepts of parallel software development to 1st year philologist students”. The contestants needed to explain these terms: Deadlock, Data Race, Lost Signal, False Sharing, Abandoned Lock, Critical Section, Semaphore, Read/Write Mutex.
We’ve got 135 explanations (!) in 10 days. I’m not going to say that all of them were accurate, funny and really easy - not at all. Because finding the good examples of parallel programming term is like an attempt to translate an idiom to foreign language.

However, we’ve got about 50 really good answers. They were accurate enough and sometimes funny. Here is my personal top-list:

  • Deadlock (by dnafigator)
    On entering the shower Angela forgot to take her bathrobe.  It wouldn’t be a problem, but this morning Anthony dropped by Angela to borrow a flash drive with her thesis materials. The flash drive is in Angela’s hand-bag and Anthony believes that it’s not quite polite to rummage in her stuff.  In her turn, the girl cannot come out without her bathrobe on, because of the guest in the room. So Anthony is waiting for Angela to give him the flash drive, and Angela is waiting when Anthony leaves the room… Typical Deadlock.

  • Data race (by Saiber)
    Data Race arises usually when several threads try to change the same data resource at one time. It’s like when three builders try to putty, prime and paint the same wall simultaneously. Nervous foreman will give them a sharp scolding for such an invention in the construction work. They should better work as usual i.e. one after another.

  • Lost signal (by ilnarb)
    Say your washing machine got broken and you phoned customer service. Then your neighbor asked you to come in and have a look at his brand new home theater “just for a minute”. The service man came, waited for half of hour and left a bit angry. So you wait him in vain – the signal was lost.

  • False sharing (by dkozlov)
    Expecting worse macroeconomic conditions a jealous husband and his beautiful wife decided to share their apartment with somebody to save some cash. Fortunately (or unfortunately, it depends) the offer was accepted by an attractive student girl, who is often visited by her classmates. Presumably, she needs some help with her homework from time-to-time. It’s worth mentioning, that our jealous husband pays some money to a janitor, who phones him each time when suspicious gentlemen visit their apartments. After each call the husband rushes home to check what’s going on. In most cases these are false alarms because of the neighbor’s guests. As a result, our unlucky hero loses his money - he spends too much time for check-ups.

  • Abandoned Lock (by Mykola)
    There is a room with a door (surprise! :)). Usually we come in, lock the door, do something, then unlock the door and leave. Suppose you jump out of the window for some reasons… The door remains locked, which is an example of abandoned lock.

  • Critical Section (by ilnarb)
    ATM serves only one person at one time. Other customers need to wait in the line.

  • Semaphore (by dserkin)
    Ice hockey arbiter is a good example of semaphore: he keeps vigilant watch on the playground to make sure that there no more than 5 players from each team on the ice. Without arbiter the exited sportsmen may jump to the rink all together, including coach, PR-manager and uncle Bob who sharpen the blades.

  • Read/Write Mutex (by ilnarb)
    There is a banner at main store entry: “Open till the last customer”. In reality, it works this way: doors are open till 10PM. At 10PM personnel closes the entry and waits when all the customers left. After that the store is “officially closed”. Till the next morning.


Please excuse me - I allowed myself to adopt the above explanations to US English (at least to my understanding of what is US English). For istance, I replaced the word "Vodka" by word "Whisky" everywhere in the text  :) .

And... May be you have some good explanations in mind? Do not hesitate to drop a comment. As well if you know a perfect match to a Russian idiom “explain with your fingers”. Tip: those who can read Russian may get more variants here.

BTW: Thanks to our judges: Alexey Kukanov and Vladimir Tsymbal. Guys! Your wise decisions and your experience are much appreciated!

Take care!
有关编译器优化的更完整信息,请参阅优化通知