Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]


Groups > comp.lang.c > #18751

Re: things i would ban from clc

From Don Y <this@isnotme.com>
Newsgroups comp.lang.c
Subject Re: things i would ban from clc
Date 2012-03-14 00:51 -0700
Organization Aioe.org NNTP Server
Message-ID <jjpim1$vka$1@speranza.aioe.org> (permalink)
References (10 earlier) <jjn07n$rv2$1@speranza.aioe.org> <lnsjhcd5cj.fsf@nuthaus.mib.org> <jjo1lk$jrm$1@speranza.aioe.org> <87zkbktlvn.fsf@blp.benpfaff.org> <kfn1uowm6c4.fsf@x-alumni2.alumni.caltech.edu>

Show all headers | View raw


Hi Tim,

On 3/13/2012 4:25 PM, Tim Rentsch wrote:
> blp@cs.stanford.edu (Ben Pfaff) writes:
>> Don Y<this@isnotme.com>  writes:
>>> On 3/13/2012 5:59 AM, Keith Thompson wrote:
>>>> Don Y<this@isnotme.com>   writes:
>>>>> Why not support for *tasking* -- native to the language
>>>>> (instead of in a library!) like Limbo?
>>>>
>>>> The 2011 ISO C standard includes (optional) support for threading.
>>>>
>>>> See<http://www.open-std.org/jtc1/sc22/wg14/www/docs/n1570.pdf>
>>>> section 7.26.
>>>
>>> OK.  But that's just another standard library.  The language
>>> itself doesn't include those provisions.
>
> (to repeat myself, IMO this statement is inaccurate for C2011.)
>
>> What's the advantage of putting threading into language instead
>> of the library?  (You explained *how* Limbo integrates threading
>> into the language, but not why it does.)
>
> I assume most people in the group have seen this, but for those
> who have not:
>
>    Threads Cannot be Implemented as a Library
>
>    Boehm, Hans-J.
>
>    HPL-2004-209
>
>    Abstract:  In many environments, multi-threaded code is written
>    in a language that was originally designed without thread support
>    (e.g.  C), to which a library of threading primitives was
>    subsequently added.  There appears to be a general understanding
>    that this is not the right approach.  We provide specific
>    arguments that a pure library approach, in which the compiler is
>    designed independently of threading issues, cannot guarantee
>    correctness of the resulting code.  We first review why the
>    approach almost works, and then examine some of the surprising
>    behavior it may entail.  We further illustrate that there are
>    very simple cases in which a pure library-based approach seems
>    incapable of expressing an efficient parallel algorithm.  Our
>    discussion takes place in the context of C with Pthreads, since
>    it is commonly used, reasonably well specified, and does not
>    attempt to ensure type-safety, which would entail even stronger
>    constraints.  The issues we raise are not specific to that
>    context.
>
>    http://www.hpl.hp.com/techreports/2004/HPL-2004-209.pdf

I think the problem being addressed, here, boil down to
removing the need for the developer to "take precautions"
(i.e., manually ensure that the compiler doesn't "get ahead
of him") along with wanting to be able to use the language
to *efficiently* implement truly parallel threads of
execution.

In practice (at least in the applications I've designed),
you partition an application with an eye towards keeping
individual threads "disjoint".  "Communication is
expensive" so you want to minimize the amount of data
that has to be shared between threads (and processes,
too, but that's another level).

As you reduce the communication interconnects, the relative
cost of synchronization, mutual exclusion, etc. drop.  So, the
cost to *implement* them can creep up without having dramatic
effects on the overall performance of the application.

I.e., a truly parallel approach to a problem having multiple
threads (possibly executing on SMP) each actively accessing
the same data set is impractical with the overhead of library
calls (even if they are lightweight).

OTOH, having one thread do <something> and another thread
doing <somethingcompletelydifferent> -- with little or no
interaction between them -- incurs very little added cost.

If you want to allow the programmer to divorce himself
from this responsibility (?), then the compiler has to
take a more active role in guaranteeing this behavior.

Back to comp.lang.c | Previous | Next — Previous in thread | Next in thread | Find similar | Unroll thread


Thread

things i would ban from clc jgk@panix.com (Joe keane) - 2012-03-11 23:05 +0000
  Re: things i would ban from clc Keith Thompson <kst-u@mib.org> - 2012-03-12 10:33 -0700
    Re: things i would ban from clc gazelle@shell.xmission.com (Kenny McCormack) - 2012-03-12 23:57 +0000
  Re: things i would ban from clc jacob navia <jacob@spamsink.net> - 2012-03-12 18:44 +0100
    Re: things i would ban from clc Don Y <this@isnotme.com> - 2012-03-12 12:26 -0700
      Re: things i would ban from clc "osmium" <r124c4u102@comcast.net> - 2012-03-12 14:36 -0600
        Re: things i would ban from clc Don Y <this@isnotme.com> - 2012-03-12 13:57 -0700
      Re: things i would ban from clc James Kuyper <jameskuyper@verizon.net> - 2012-03-12 17:34 -0400
        Re: things i would ban from clc Don Y <this@isnotme.com> - 2012-03-12 15:00 -0700
          Re: things i would ban from clc James Kuyper <jameskuyper@verizon.net> - 2012-03-12 18:21 -0400
            Re: things i would ban from clc Don Y <this@isnotme.com> - 2012-03-12 15:43 -0700
              Re: things i would ban from clc jacob navia <jacob@spamsink.net> - 2012-03-12 23:53 +0100
                Re: things i would ban from clc Don Y <this@isnotme.com> - 2012-03-12 17:17 -0700
                Re: things i would ban from clc jacob navia <jacob@spamsink.net> - 2012-03-13 09:09 +0100
                Re: things i would ban from clc Don Y <this@isnotme.com> - 2012-03-13 01:24 -0700
                Re: things i would ban from clc Keith Thompson <kst-u@mib.org> - 2012-03-13 05:59 -0700
                Re: things i would ban from clc Don Y <this@isnotme.com> - 2012-03-13 10:55 -0700
                Re: things i would ban from clc blp@cs.stanford.edu (Ben Pfaff) - 2012-03-13 11:07 -0700
                Re: things i would ban from clc Don Y <this@isnotme.com> - 2012-03-13 11:25 -0700
                Re: things i would ban from clc blp@cs.stanford.edu (Ben Pfaff) - 2012-03-13 11:32 -0700
                Re: things i would ban from clc Keith Thompson <kst-u@mib.org> - 2012-03-13 12:18 -0700
                Re: things i would ban from clc Don Y <this@isnotme.com> - 2012-03-13 16:13 -0700
                Re: things i would ban from clc Don Y <this@isnotme.com> - 2012-03-13 13:49 -0700
                Re: things i would ban from clc James Kuyper <jameskuyper@verizon.net> - 2012-03-13 17:14 -0400
                Re: things i would ban from clc Don Y <this@isnotme.com> - 2012-03-13 14:35 -0700
                Re: things i would ban from clc James Kuyper <jameskuyper@verizon.net> - 2012-03-13 18:09 -0400
                Re: things i would ban from clc Don Y <this@isnotme.com> - 2012-03-13 16:06 -0700
                Re: things i would ban from clc "io_x" <a@b.c.invalid> - 2012-03-14 08:18 +0100
                Re: things i would ban from clc "io_x" <a@b.c.invalid> - 2012-03-14 10:07 +0100
                Re: things i would ban from clc Don Y <this@isnotme.com> - 2012-03-14 12:41 -0700
                Re: things i would ban from clc "io_x" <a@b.c.invalid> - 2012-03-14 21:53 +0100
                Re: things i would ban from clc Don Y <this@isnotme.com> - 2012-03-15 14:16 -0700
                Re: things i would ban from clc "io_x" <a@b.c.invalid> - 2012-03-18 07:14 +0100
                Re: things i would ban from clc Jens Gustedt <jens.gustedt@loria.fr> - 2012-03-14 10:39 +0100
                Re: things i would ban from clc Ben Pfaff <blp@cs.stanford.edu> - 2012-03-13 14:33 -0700
                Re: things i would ban from clc Don Y <this@isnotme.com> - 2012-03-13 14:40 -0700
                Re: things i would ban from clc Tim Rentsch <txr@alumni.caltech.edu> - 2012-03-13 16:25 -0700
                Re: things i would ban from clc Don Y <this@isnotme.com> - 2012-03-14 00:51 -0700
                Re: things i would ban from clc Tim Rentsch <txr@alumni.caltech.edu> - 2012-03-14 14:25 -0700
                Re: things i would ban from clc Don Y <this@isnotme.com> - 2012-03-15 13:40 -0700
                Re: things i would ban from clc Tim Rentsch <txr@alumni.caltech.edu> - 2012-03-18 17:05 -0700
                Re: things i would ban from clc Don Y <this@isnotme.com> - 2012-03-23 11:59 -0700
                Re: things i would ban from clc Robert Wessel <robertwessel2@yahoo.com> - 2012-03-23 17:02 -0500
                Re: things i would ban from clc Don Y <this@isnotme.com> - 2012-03-23 16:51 -0700
                Re: things i would ban from clc "io_x" <a@b.c.invalid> - 2012-03-24 07:16 +0100
                Re: things i would ban from clc Tim Rentsch <txr@alumni.caltech.edu> - 2012-03-27 11:26 -0700
                Re: things i would ban from clc Kaz Kylheku <kaz@kylheku.com> - 2012-03-23 19:43 +0000
                Re: things i would ban from clc Rui Maciel <rui.maciel@gmail.com> - 2012-03-23 19:45 +0000
                Re: things i would ban from clc Jens Gustedt <jens.gustedt@loria.fr> - 2012-03-23 23:49 +0100
                Re: things i would ban from clc Ian Collins <ian-news@hotmail.com> - 2012-03-24 11:54 +1300
                Re: things i would ban from clc Jens Gustedt <jens.gustedt@loria.fr> - 2012-03-24 09:26 +0100
                Re: things i would ban from clc gwowen <gwowen@gmail.com> - 2012-03-26 07:31 -0700
                Re: things i would ban from clc Kaz Kylheku <kaz@kylheku.com> - 2012-03-24 05:45 +0000
                Re: things i would ban from clc Jens Gustedt <jens.gustedt@loria.fr> - 2012-03-24 09:31 +0100
                Re: things i would ban from clc James Kuyper <jameskuyper@verizon.net> - 2012-03-13 14:34 -0400
                Re: things i would ban from clc Tim Rentsch <txr@alumni.caltech.edu> - 2012-03-13 16:18 -0700
                Re: things i would ban from clc "io_x" <a@b.c.invalid> - 2012-03-14 08:18 +0100
                Re: things i would ban from clc Tim Rentsch <txr@alumni.caltech.edu> - 2012-03-14 14:06 -0700
                Re: things i would ban from clc Jorgen Grahn <grahn+nntp@snipabacken.se> - 2012-03-15 15:22 +0000
                Re: things i would ban from clc Don Y <this@isnotme.com> - 2012-03-15 12:26 -0700
                Re: things i would ban from clc jacob navia <jacob@spamsink.net> - 2012-03-15 21:28 +0100
                Re: things i would ban from clc Don Y <this@isnotme.com> - 2012-03-15 13:49 -0700
                Re: things i would ban from clc Ben Bacarisse <ben.usenet@bsb.me.uk> - 2012-03-15 16:36 +0000
                Re: things i would ban from clc Don Y <this@isnotme.com> - 2012-03-15 12:16 -0700
                Re: things i would ban from clc Ben Bacarisse <ben.usenet@bsb.me.uk> - 2012-03-16 00:13 +0000
                Re: things i would ban from clc Don Y <this@isnotme.com> - 2012-03-15 20:40 -0700
                Re: things i would ban from clc gwowen <gwowen@gmail.com> - 2012-03-13 01:52 -0700
                Re: things i would ban from clc "io_x" <a@b.c.invalid> - 2012-03-13 11:31 +0100
                Re: things i would ban from clc jacob navia <jacob@spamsink.net> - 2012-03-13 11:41 +0100
                Re: things i would ban from clc gwowen <gwowen@gmail.com> - 2012-03-13 06:06 -0700
                Re: things i would ban from clc jacob navia <jacob@spamsink.net> - 2012-03-13 15:06 +0100
                Re: things i would ban from clc ImpalerCore <jadill33@gmail.com> - 2012-03-13 07:46 -0700
                Re: things i would ban from clc jacob navia <jacob@spamsink.net> - 2012-03-13 19:08 +0100
                Re: things i would ban from clc Ben Bacarisse <ben.usenet@bsb.me.uk> - 2012-03-13 13:20 +0000
                Re: things i would ban from clc Jens Gustedt <jens.gustedt@loria.fr> - 2012-03-13 20:41 +0100
                Re: things i would ban from clc Kaz Kylheku <kaz@kylheku.com> - 2012-03-13 19:34 +0000
                Re: things i would ban from clc Don Y <this@isnotme.com> - 2012-03-13 16:14 -0700
                Re: things i would ban from clc Kaz Kylheku <kaz@kylheku.com> - 2012-03-13 23:28 +0000
                Re: things i would ban from clc Don Y <this@isnotme.com> - 2012-03-13 21:18 -0700
      Re: things i would ban from clc Ian Collins <ian-news@hotmail.com> - 2012-03-13 20:19 +1300
        Re: things i would ban from clc Don Y <this@isnotme.com> - 2012-03-13 01:09 -0700
          Re: things i would ban from clc Ian Collins <ian-news@hotmail.com> - 2012-03-13 21:32 +1300
  Re: things i would ban from clc nick_keighley_nospam@hotmail.com - 2012-03-13 01:52 -0700
    Re: things i would ban from clc "io_x" <a@b.c.invalid> - 2012-03-13 11:31 +0100
      Re: things i would ban from clc nick_keighley_nospam@hotmail.com - 2012-03-14 01:18 -0700
        Re: things i would ban from clc Don Y <this@isnotme.com> - 2012-03-14 12:09 -0700
  Re: things i would ban from clc ArifulHossain tuhin <etothepowerpi@gmail.com> - 2012-03-14 13:01 -0700

csiph-web