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


Groups > comp.lang.forth > #41721

Re: GA144 use cases

From Bernd Paysan <bernd.paysan@gmx.de>
Newsgroups comp.lang.forth
Subject Re: GA144 use cases
Date 2015-09-04 15:09 +0200
Organization A noiseless patient Spider
Message-ID <msc53k$en6$1@dont-email.me> (permalink)
References (8 earlier) <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> <2015Sep4.102450@mips.complang.tuwien.ac.at>

Show all headers | View raw


Anton Ertl wrote:

> 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.

No, that's not a resource lock, that's a wakeup signal.  Therefore, the 
contented (expensive) case is when one or the other sleeps, and the 
uncontended is when both are awake.

>>  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.

When the consumers are faster than the produces, your buffers won't fill up.  
You can introduce arbitrary delays to keep your buffers filled, but this 
also reduces performance, as other tasks will be waiting much longer for the 
results.

And yes, I've a model in mind, where more compute cores are sleeping than 
working; with a x64-style implementation, you would use SMT for that, not 
multiple cores.  Some part of the large register file is for sleeping tasks.

> 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.

And buffering reduces performance, as it requires way more actual 
parallelism.

>>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, that's the entire point of suggesting that the wake/sleep IPC should 
be done in hardware.

-- 
Bernd Paysan
"If you want it done right, you have to do it yourself"
net2o ID: kQusJzA;7*?t=uy@X}1GWr!+0qqp_Cn176t4(dQ*
http://bernd-paysan.de/

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