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


Groups > comp.lang.forth > #41719

Re: GA144 use cases

From anton@mips.complang.tuwien.ac.at (Anton Ertl)
Newsgroups comp.lang.forth
Subject Re: GA144 use cases
Date 2015-09-04 08:24 +0000
Organization Institut fuer Computersprachen, Technische Universitaet Wien
Message-ID <2015Sep4.102450@mips.complang.tuwien.ac.at> (permalink)
References (7 earlier) <ms9jb8$fre$1@dont-email.me> <2015Sep3.181126@mips.complang.tuwien.ac.at> <msa991$ga4$1@dont-email.me> <877fo7gqvv.fsf@jester.gateway.sonic.net> <msal0b$udo$1@dont-email.me>

Show all headers | View raw


Bernd Paysan <bernd.paysan@gmx.de> writes:
>Paul Rubin wrote:
>> In the uncontended case you check a futex in user space and proceed if
>> there's something to do, or yield to the kernel if there's nothing to
>> do.  There's only IPC overhead if there's contention in which case you
>> have to make a system call.
>
>Unfortunately, the contention is the rule, and the uncontented case the 
>exception.  The problem of asynchronous tasks is that either the producer or 
>the consumer waits, and that's the contented case.

No, the contended case is when both want to change the status at the
same time.

>  So either the producer 
>has to tell the consumer "good morning, time to wake up, I've some new data 
>for you", or the consumer says "good afternoon, producer, stop napping, and 
>give me another chunk of data".

Sounds to me like you have a GA144-like model with little or no
buffering.  Then of course you will have little parallelism; after
all, the GA144 was designed to let many of the cores sleep most of the
time.

But that's the wrong model for an AMD64 or ARM CPU.  If you really
have lots of parallelism, then there is no need for an OS-level
synchronization after every piece of work; instead, each thread calls
its scheduler, which looks in the list of tasks to be done, and then
performs the next one, possibly producing another task (in the case of
a producer).  Most of that can be done with user-level
synchronization, and if even that is too expensive, reduce it with
batching.  You do need buffering for that, however.

>In a non-trivial parallel program, you have tasks which run short, and tasks 
>which run longer, joins where you wait for all inputs to compilete, and so 
>on.  This only works well if the context switch and wake/sleep IPC by itself 
>is a lightweight operation.

So don't use the OS in the normal case.

- anton
-- 
M. Anton Ertl  http://www.complang.tuwien.ac.at/anton/home.html
comp.lang.forth FAQs: http://www.complang.tuwien.ac.at/forth/faq/toc.html
     New standard: http://www.forth200x.org/forth200x.html
   EuroForth 2015: http://www.rigwit.co.uk/EuroForth2015/

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


Thread

GA144 use cases dunno <dunno@dunno.dunno> - 2015-08-31 07:20 +0000
  Re: GA144 use cases rickman <gnuarm@gmail.com> - 2015-08-31 09:55 -0400
  Re: GA144 use cases Syd Rumpo <usenet@nononono.co.uk> - 2015-08-31 16:49 +0100
    Re: GA144 use cases rickman <gnuarm@gmail.com> - 2015-08-31 18:35 -0400
  Re: GA144 use cases Dennis Ruffer <daruffer@gmail.com> - 2015-08-31 19:08 -0700
    Re: GA144 use cases Mux <Yvo.Zoer@gmail.com> - 2015-09-02 10:57 -0700
      Re: GA144 use cases rickman <gnuarm@gmail.com> - 2015-09-02 14:17 -0400
        Re: GA144 use cases Mux <Yvo.Zoer@gmail.com> - 2015-09-02 11:28 -0700
          Re: GA144 use cases hughaguilar96@gmail.com - 2015-09-02 13:41 -0700
          Re: GA144 use cases rickman <gnuarm@gmail.com> - 2015-09-02 16:50 -0400
            Re: GA144 use cases Mux <Yvo.Zoer@gmail.com> - 2015-09-02 15:03 -0700
              Re: GA144 use cases rickman <gnuarm@gmail.com> - 2015-09-02 18:18 -0400
                Re: GA144 use cases Mux <Yvo.Zoer@gmail.com> - 2015-09-02 16:14 -0700
                Re: GA144 use cases rickman <gnuarm@gmail.com> - 2015-09-02 20:40 -0400
                Re: GA144 use cases Greg <borota@gmail.com> - 2015-09-02 17:53 -0700
                Re: GA144 use cases rickman <gnuarm@gmail.com> - 2015-09-02 21:25 -0400
                Re: GA144 use cases Mux <Yvo.Zoer@gmail.com> - 2015-09-02 22:28 -0700
                Re: GA144 use cases Paul Rubin <no.email@nospam.invalid> - 2015-09-02 22:53 -0700
                Re: GA144 use cases rickman <gnuarm@gmail.com> - 2015-09-03 11:32 -0400
                Re: GA144 use cases Paul Rubin <no.email@nospam.invalid> - 2015-09-03 11:57 -0700
                Re: GA144 use cases anton@mips.complang.tuwien.ac.at (Anton Ertl) - 2015-09-03 10:35 +0000
                Re: GA144 use cases Bernd Paysan <bernd.paysan@gmx.de> - 2015-09-03 15:54 +0200
                Re: GA144 use cases anton@mips.complang.tuwien.ac.at (Anton Ertl) - 2015-09-03 16:11 +0000
                Re: GA144 use cases rickman <gnuarm@gmail.com> - 2015-09-03 13:06 -0400
                Re: GA144 use cases anton@mips.complang.tuwien.ac.at (Anton Ertl) - 2015-09-04 08:07 +0000
                Re: GA144 use cases rickman <gnuarm@gmail.com> - 2015-09-04 11:49 -0400
                Re: GA144 use cases anton@mips.complang.tuwien.ac.at (Anton Ertl) - 2015-09-05 11:06 +0000
                Re: GA144 use cases Paul Rubin <no.email@nospam.invalid> - 2015-09-05 09:05 -0700
                Re: GA144 use cases rickman <gnuarm@gmail.com> - 2015-09-05 12:59 -0400
                Re: GA144 use cases mhx@iae.nl - 2015-09-05 10:56 -0700
                Re: GA144 use cases anton@mips.complang.tuwien.ac.at (Anton Ertl) - 2015-09-06 14:29 +0000
                Re: GA144 use cases Bernd Paysan <bernd.paysan@gmx.de> - 2015-09-03 22:08 +0200
                Re: GA144 use cases Paul Rubin <no.email@nospam.invalid> - 2015-09-03 14:00 -0700
                Re: GA144 use cases Bernd Paysan <bernd.paysan@gmx.de> - 2015-09-04 01:28 +0200
                Re: GA144 use cases franck.bensusan@gmail.com - 2015-09-03 23:04 -0700
                Re: GA144 use cases anton@mips.complang.tuwien.ac.at (Anton Ertl) - 2015-09-04 08:24 +0000
                Re: GA144 use cases Bernd Paysan <bernd.paysan@gmx.de> - 2015-09-04 15:09 +0200
                Re: GA144 use cases anton@mips.complang.tuwien.ac.at (Anton Ertl) - 2015-09-05 15:10 +0000
                Re: GA144 use cases Bernd Paysan <bernd.paysan@gmx.de> - 2015-09-05 22:04 +0200
                Re: GA144 use cases anton@mips.complang.tuwien.ac.at (Anton Ertl) - 2015-09-06 14:51 +0000
                Re: GA144 use cases Bernd Paysan <bernd.paysan@gmx.de> - 2015-09-06 22:51 +0200
                Re: GA144 use cases Greg <borota@gmail.com> - 2015-09-06 17:30 -0700
                Re: GA144 use cases Paul Rubin <no.email@nospam.invalid> - 2015-09-04 22:27 -0700
                Re: GA144 use cases Bernd Paysan <bernd.paysan@gmx.de> - 2015-09-05 13:07 +0200
                Re: GA144 use cases anton@mips.complang.tuwien.ac.at (Anton Ertl) - 2015-09-05 11:22 +0000
                Re: GA144 use cases anton@mips.complang.tuwien.ac.at (Anton Ertl) - 2015-09-04 08:14 +0000
                Re: GA144 use cases Bernd Paysan <bernd.paysan@gmx.de> - 2015-09-04 15:13 +0200
                Re: GA144 use cases anton@mips.complang.tuwien.ac.at (Anton Ertl) - 2015-09-05 16:06 +0000
                Re: GA144 use cases Bernd Paysan <bernd.paysan@gmx.de> - 2015-09-05 21:05 +0200
                Re: GA144 use cases anton@mips.complang.tuwien.ac.at (Anton Ertl) - 2015-09-06 14:37 +0000
                Re: GA144 use cases Andrew Haley <andrew29@littlepinkcloud.invalid> - 2015-11-30 04:17 -0600
                Re: GA144 use cases Bernd Paysan <bernd.paysan@gmx.de> - 2015-12-01 23:06 +0100
                Re: GA144 use cases Mark Wills <markwills1970@gmail.com> - 2015-09-03 00:05 -0700
                Re: GA144 use cases rickman <gnuarm@gmail.com> - 2015-09-03 13:08 -0400
              Re: GA144 use cases forther <forther@gmail.com> - 2015-09-07 11:26 -0700
      Re: GA144 use cases rickman <gnuarm@gmail.com> - 2015-09-02 15:15 -0400
    Re: GA144 use cases forther <forther@gmail.com> - 2015-09-07 11:21 -0700
      Re: GA144 use cases rickman <gnuarm@gmail.com> - 2015-11-30 16:33 -0500
        Re: GA144 use cases forther <forther@gmail.com> - 2015-12-03 12:12 -0800
          Re: GA144 use cases rickman <gnuarm@gmail.com> - 2015-12-03 16:10 -0500
  Re: GA144 use cases Jason Damisch <jasondamisch@yahoo.com> - 2015-09-02 12:10 -0700
  Re: GA144 use cases Stefan Mauerhofer <smauerhofer@androsoft.ch> - 2015-09-03 01:27 -0700
    Re: GA144 use cases Syd Rumpo <usenet@nononono.co.uk> - 2015-09-03 13:32 +0100
      Re: GA144 use cases rickman <gnuarm@gmail.com> - 2015-09-03 11:32 -0400
  Re: GA144 use cases mhx@iae.nl (Marcel Hendrix) - 2015-09-03 18:57 +0200
    Re: GA144 use cases Bernd Paysan <bernd.paysan@gmx.de> - 2015-09-03 23:58 +0200
    Re: GA144 use cases anton@mips.complang.tuwien.ac.at (Anton Ertl) - 2015-09-04 07:52 +0000
    Re: GA144 use cases Waldek Hebisch <hebisch@antispam.uni.wroc.pl> - 2015-09-05 16:32 +0000
      Re: GA144 use cases mhx@iae.nl - 2015-09-05 10:52 -0700
        Re: GA144 use cases Bernd Paysan <bernd.paysan@gmx.de> - 2015-09-05 22:11 +0200
          Re: GA144 use cases anton@mips.complang.tuwien.ac.at (Anton Ertl) - 2015-09-06 14:18 +0000
            Re: GA144 use cases anton@mips.complang.tuwien.ac.at (Anton Ertl) - 2015-09-07 07:49 +0000
        Re: GA144 use cases Waldek Hebisch <hebisch@math.uni.wroc.pl> - 2015-09-05 23:42 +0000
          Re: GA144 use cases Paul Rubin <no.email@nospam.invalid> - 2015-09-05 17:25 -0700
  Re: GA144 use cases Stefan Mauerhofer <smauerhofer@androsoft.ch> - 2015-09-07 03:18 -0700
    Re: GA144 use cases Raimond Dragomir <raimond.dragomir@gmail.com> - 2015-09-07 03:31 -0700
      Re: GA144 use cases rickman <gnuarm@gmail.com> - 2015-09-07 15:06 -0400
        Re: GA144 use cases Stefan Mauerhofer <smauerhofer@androsoft.ch> - 2015-09-08 21:41 -0700
          Re: GA144 use cases rickman <gnuarm@gmail.com> - 2015-09-09 02:54 -0400
            Re: GA144 use cases Stefan Mauerhofer <smauerhofer@androsoft.ch> - 2015-09-09 03:02 -0700
              Re: GA144 use cases rickman <gnuarm@gmail.com> - 2015-09-09 16:55 -0400
                Re: GA144 use cases Paul Rubin <no.email@nospam.invalid> - 2015-09-09 20:12 -0700
                Re: GA144 use cases rickman <gnuarm@gmail.com> - 2015-09-09 23:40 -0400
                Re: GA144 use cases rickman <gnuarm@gmail.com> - 2015-09-09 23:43 -0400
                Re: GA144 use cases rickman <gnuarm@gmail.com> - 2015-09-10 00:07 -0400
                Re: GA144 use cases Stefan Mauerhofer <smauerhofer@androsoft.ch> - 2015-09-09 21:55 -0700
                Re: GA144 use cases rickman <gnuarm@gmail.com> - 2015-09-10 01:43 -0400
                Re: GA144 use cases Stefan Mauerhofer <smauerhofer@androsoft.ch> - 2015-09-09 23:49 -0700
                Re: GA144 use cases rickman <gnuarm@gmail.com> - 2015-09-10 14:43 -0400
                Re: GA144 use cases rickman <gnuarm@gmail.com> - 2015-09-10 16:10 -0400
                Re: GA144 use cases Stefan Mauerhofer <smauerhofer@androsoft.ch> - 2015-09-12 03:15 -0700
                Re: GA144 use cases rickman <gnuarm@gmail.com> - 2015-09-12 10:28 -0400
                Re: GA144 use cases Greg <abiforth@gmail.com> - 2015-09-13 13:05 -0700
                Re: GA144 use cases rickman <gnuarm@gmail.com> - 2015-09-13 18:59 -0400
                Re: GA144 use cases Greg <abiforth@gmail.com> - 2015-09-13 18:42 -0700
                Re: GA144 use cases rickman <gnuarm@gmail.com> - 2015-09-13 22:47 -0400
                Re: GA144 use cases Greg <abiforth@gmail.com> - 2015-09-13 21:24 -0700
                Re: GA144 use cases rickman <gnuarm@gmail.com> - 2015-09-14 02:00 -0400
                Re: GA144 use cases borota@gmail.com - 2015-09-14 08:35 -0700
                Re: GA144 use cases rickman <gnuarm@gmail.com> - 2015-09-14 12:06 -0400
                Re: GA144 use cases borota@gmail.com - 2015-09-14 09:33 -0700
                Re: GA144 use cases rickman <gnuarm@gmail.com> - 2015-09-14 13:25 -0400
                Re: GA144 use cases Greg <borota@gmail.com> - 2015-09-14 14:17 -0700
                Re: GA144 use cases rickman <gnuarm@gmail.com> - 2015-09-14 18:12 -0400
                Re: GA144 use cases Greg <schmegner@gmail.com> - 2015-09-14 18:15 -0700
                Re: GA144 use cases rickman <gnuarm@gmail.com> - 2015-09-14 22:16 -0400
                Re: GA144 use cases Greg <borota@gmail.com> - 2015-09-18 14:50 -0700
                Re: GA144 use cases Jason Damisch <jasondamisch@yahoo.com> - 2015-09-18 15:11 -0700
                Re: GA144 use cases Greg <borota@gmail.com> - 2015-09-19 05:32 -0700
                Re: GA144 use cases Dennis Ruffer <daruffer@gmail.com> - 2015-09-19 08:39 -0700
                Re: GA144 use cases Greg <borota@gmail.com> - 2015-09-20 19:03 -0700
                Re: GA144 use cases Dennis Ruffer <daruffer@gmail.com> - 2015-09-21 06:44 -0700
                Re: GA144 use cases Dennis Ruffer <daruffer@gmail.com> - 2015-09-22 13:10 -0700
                Re: GA144 use cases Mark Wills <markwills1970@gmail.com> - 2015-09-18 16:18 -0700
                Re: GA144 use cases schmegner@gmail.com - 2015-09-14 18:21 -0700

csiph-web