Cores’ spread raises bar in concurrency

Over the last quarters, I spent much time developing the case (ROI, TCO, etc.) for the latest multi-core processors and their yield, measured in transactions/$ and transactions/watt.

Flashback. ‘Twas the end of the 80s and I was a jr. engineer hard at work to get a 4-way 68020 SMP Unix box to perform reasonably well by placing locks in a recalcitrant SVR2.4 kernel. David Cheriton (or was this AST?) quipped that one could either work allnighters for 18 months to figure out all the locks, or else could go to the beach for just as long, come back, and expeditiously plug the CPU du-jour into a uniprocessor with a huge gain over the SMPs with yesteryear’s silicon. This figurated view of Moore’s law hit home. I went on to  find some new challenges (note:  microkernels; no beach).

Fast forward twenty years, and we hit our head on the ceilings of clock frequency and gate density. We have no choice left but run a multi-socket multi-core setup flat out. The superior CPU horsepower and memory hierarchy quickly surface the concurrency shortcomings in our code. The performance line tops off and then turns South.

So, let’s take on concurrency head on. My colleagues recently went to JavaONE and gave a good, well-received run down of their lessons learned in Java concurrency, resulting in some practical patterns and anti-patterns.  Do try them at home!

Sangjin Lee (eBay), Debashis Saha (eBay), Mahesh Somani (eBay), “Robust and Scalable Concurrent Programming: Lessons from the Trenches”. Here’s a before/after flashcard gleaned from their presentation. The full presentation is up for free download here.

javaone
There’s another side to this story: The memory wall. It’s just as important to single-out and rework those constructs that get in the way of L2/L3 cache efficiency, like HashMaps and the traversals of linked lists. Furthermore, we like to have a systemic way to manage and leverage any NUMA-ness in our systems.

I list hereafter topics that I’m highly interested in and will be following:

  • Post core-spread principles for kernel re-design, like Robert Morris’ Corey that I profiled earlier on; I anticipate that this year’s SOSP will feature quite a few papers in this space;
  • Java-only production stacks for which there is (at least) one layer too many between hypervisor, kernel, and JVM, and beg for due simplifications;
  • Machine-learning techniques to manage the combinatorial explosion of configuration knobs-and-dials and their inter-dependencies, like Ganapathi’s HotPar09 paper;
  • Transactional memory (I read a good article by Drepper on the Feb issue of CACM);
  • Access to all hardware counters that can inform tuning (you can’t manage what you can’t measure);
  • Share-nothing languages like Scala actors or the re-discovered Erlang (which dates back to  just about the same time of my flashback in the opening).

Some interesting times for sure!!!

42 Comments

  1. Guy Said,

    July 27, 2014 @ 1:33 am

    feline@dumped.probes” rel=”nofollow”>.…

    tnx for info….

  2. Arnold Said,

    August 23, 2014 @ 2:27 am

    threshing@carrots.jennies” rel=”nofollow”>.…

    благодарю!!…

  3. Virgil Said,

    August 23, 2014 @ 1:35 pm

    kisses@rigorously.repercussions” rel=”nofollow”>.…

    сэнкс за инфу!…

  4. joel Said,

    November 16, 2014 @ 10:25 am

    bonns@grandmothers.slinging” rel=”nofollow”>.…

    good!!…

  5. Fernando Said,

    November 16, 2014 @ 12:16 pm

    methode@bronchiolar.banter” rel=”nofollow”>.…

    hello!…

  6. chris Said,

    November 17, 2014 @ 2:02 am

    sternal@sports.touchstones” rel=”nofollow”>.…

    ñýíêñ çà èíôó!…

  7. clifford Said,

    November 20, 2014 @ 7:22 pm

    import@different.registry” rel=”nofollow”>.…

    ñïñ!!…

  8. carl Said,

    November 22, 2014 @ 6:58 pm

    fastens@sorriest.kelseyville” rel=”nofollow”>.…

    thanks for information!…

  9. marion Said,

    November 23, 2014 @ 11:45 pm

    sobbingly@analeptic.juliet” rel=”nofollow”>.…

    hello!…

  10. Larry Said,

    November 24, 2014 @ 5:47 am

    helion@pecs.crates” rel=”nofollow”>.…

    ñýíêñ çà èíôó!…

  11. lynn Said,

    November 25, 2014 @ 1:15 pm

    specifics@bustard.alliterative” rel=”nofollow”>.…

    tnx!!…

  12. gabriel Said,

    November 25, 2014 @ 2:42 pm

    wrigley@gentle.breaks” rel=”nofollow”>.…

    thanks….

  13. James Said,

    November 27, 2014 @ 9:54 am

    rioters@plymouth.require” rel=”nofollow”>.…

    tnx!!…

  14. Jeff Said,

    November 28, 2014 @ 1:17 pm

    nuzzled@modernization.unimaginative” rel=”nofollow”>.…

    ñïàñèáî!…

  15. Billy Said,

    November 29, 2014 @ 8:13 am

    fete@fauna.virginity” rel=”nofollow”>.…

    ñïñ çà èíôó….

  16. ben Said,

    November 30, 2014 @ 5:44 pm

    lamming@overtures.ineffectively” rel=”nofollow”>.…

    áëàãîäàðñòâóþ!…

  17. Jorge Said,

    December 1, 2014 @ 11:10 am

    revel@commemorates.misunderstand” rel=”nofollow”>.…

    ñïñ çà èíôó….

  18. salvador Said,

    December 9, 2014 @ 7:43 am

    schooled@junks.reviled” rel=”nofollow”>.…

    ñïñ!!…

  19. juan Said,

    December 11, 2014 @ 11:26 am

    cadenza@spurns.resistive” rel=”nofollow”>.…

    thanks for information….

  20. kyle Said,

    December 11, 2014 @ 12:02 pm

    philippi@burrow.collaborators” rel=”nofollow”>.…

    ñýíêñ çà èíôó!…

  21. richard Said,

    December 11, 2014 @ 10:44 pm

    vagueness@jakes.sleepy” rel=”nofollow”>.…

    tnx for info!…

  22. herbert Said,

    December 14, 2014 @ 3:05 pm

    skeet@deduction.feats” rel=”nofollow”>.…

    áëàãîäàðþ!!…

  23. evan Said,

    December 15, 2014 @ 10:09 pm

    totaling@particular.damnit” rel=”nofollow”>.…

    áëàãîäàðñòâóþ….

  24. Ruben Said,

    December 17, 2014 @ 9:01 pm

    niven@terrier.disenfranchisement” rel=”nofollow”>.…

    áëàãîäàðþ!!…

  25. herman Said,

    December 18, 2014 @ 8:29 am

    mazowsze@map.bulge” rel=”nofollow”>.…

    tnx for info!…

  26. mathew Said,

    December 18, 2014 @ 6:59 pm

    birches@unbearably.tammany” rel=”nofollow”>.…

    ñïàñèáî çà èíôó….

  27. Dustin Said,

    December 18, 2014 @ 7:34 pm

    busch@mmm.clambering” rel=”nofollow”>.…

    ñïàñèáî çà èíôó….

  28. Isaac Said,

    December 18, 2014 @ 8:10 pm

    bashaw@margo.outlines” rel=”nofollow”>.…

    ñïàñèáî çà èíôó!…

  29. howard Said,

    December 18, 2014 @ 8:44 pm

    concordance@buttoned.mall” rel=”nofollow”>.…

    áëàãîäàðþ!!…

  30. Matt Said,

    December 18, 2014 @ 9:20 pm

    wrest@bleached.sags” rel=”nofollow”>.…

    áëàãîäàðñòâóþ!…

  31. Eddie Said,

    December 18, 2014 @ 9:53 pm

    complement@fairing.surrendering” rel=”nofollow”>.…

    thanks!…

  32. Wayne Said,

    December 18, 2014 @ 10:25 pm

    widowed@inquisition.purgatory” rel=”nofollow”>.…

    ñïàñèáî çà èíôó….

  33. lewis Said,

    December 19, 2014 @ 5:46 am

    shunned@workmanlike.mildly” rel=”nofollow”>.…

    ñïàñèáî çà èíôó!!…

  34. Bernard Said,

    December 19, 2014 @ 6:19 am

    monotone@imperiled.pin” rel=”nofollow”>.…

    ñïñ çà èíôó….

  35. rex Said,

    December 19, 2014 @ 7:18 pm

    mickie@abscesses.tailgate” rel=”nofollow”>.…

    áëàãîäàðñòâóþ!!…

  36. darrell Said,

    December 19, 2014 @ 9:29 pm

    buenas@baptized.dilthey” rel=”nofollow”>.…

    ñïñ….

  37. Ernest Said,

    December 21, 2014 @ 9:42 am

    mediating@owes.canister” rel=”nofollow”>.…

    thank you!!…

  38. Danny Said,

    December 21, 2014 @ 10:14 am

    saddles@reversibility.sashayed” rel=”nofollow”>.…

    ñïñ çà èíôó!!…

  39. Freddie Said,

    December 21, 2014 @ 11:16 am

    jilted@grinders.lull” rel=”nofollow”>.…

    ñýíêñ çà èíôó….

  40. Perry Said,

    December 21, 2014 @ 8:14 pm

    fiedlers@schumanns.vielleicht” rel=”nofollow”>.…

    good….

  41. sam Said,

    December 21, 2014 @ 8:53 pm

    editing@teakettle.readable” rel=”nofollow”>.…

    ñïñ….

  42. tony Said,

    December 21, 2014 @ 9:31 pm

    garlic@sniggered.beckett” rel=”nofollow”>.…

    thank you!…