Tech posts by aclassifier
Also see Designer's note page

You are at http://oyvteig.blogspot.com
Archive by month and about me: here
Last edit: 4Sept2015
Started move: September 2012
All updates at http://www.teigfam.net/oyvind/home/, but the overview is updated

Wednesday, December 29, 2010

021 - The problems with threads

Updated 08Jan2011. Moved to https://www.teigfam.net/oyvind/home/technology/021-the-problems-with-threads/ 12Sep2025

2 comments:

  1. There's a fairly well-known paper by Hans Boehm about the problems of implementing concurrency features as a library: http://portal.acm.org/citation.cfm?doid=1065010.1065042

    He's writing from a shared-memory perspective, but his points are equally valid for message-passing approaches, if we want to be able to execute our programs in parallel.

    I think it's likely that over the next few years we'll see languages being developed that have sufficiently powerful type systems to allow the safety properties of a concurrent program to be statically verified. We're not there yet, though. I'm thinking here of languages like Agda that blur the distinction between conventional and type-level programming, which mean that the kinds of static checks we currently build into our compilers can instead be expressed in the language itself. As we've seen with Haskell, the challenge isn't so much expressing the checks as producing useful error messages when they fail...

    Go is great in terms of marketing, but I think it's actually a step back from what previous languages in the same family (Newsqueak, Alef, Limbo) offered, in terms of concurrency features, and it's a shame that the designers didn't include any of the more recent innovations in other CSP/pi-calculus-derived languages. There's some discussion of this in my thesis: http://offog.org/publications/ats-thesis.pdf

    ReplyDelete
  2. Thank you, Adam! Boehm's paper "Threads Cannot be Implemented as a Library" (2004) and slides are available on HP's repository: http://www.hpl.hp.com/techreports/2004/HPL-2004-209.html http://www.hpl.hp.com/personal/Hans_Boehm/misc_slides/pldi05_threads.pdf

    ..however, those papers seem to point to C++0x as _the_ _alternative_ (http://en.wikipedia.org/wiki/C++0x). The working draft of Nov10 is almost 1400 pages, and 60 pages cover atomic operations and the thread support _library_. Food for my next post?

    ReplyDelete

Archive and about

Popular Posts

Øyvind Teig

My photo
Trondheim, Norway

All new blogs and new home page start at
https://www.teigfam.net/oyvind/home

Overview of old blog notes here

My technology blog was at
https://oyvteig.blogspot.com

and my handicraft blog was at
https://oyvteig-2.blogspot.com

PS: just call me "Oyvind"