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


Groups > comp.lang.forth > #41696

Re: GA144 use cases

From Bernd Paysan <bernd.paysan@gmx.de>
Newsgroups comp.lang.forth
Subject Re: GA144 use cases
Date 2015-09-03 15:54 +0200
Organization A noiseless patient Spider
Message-ID <ms9jb8$fre$1@dont-email.me> (permalink)
References (6 earlier) <d8ff911c-ba3c-4c65-8769-dd571aef4285@googlegroups.com> <ms7sg0$78f$1@dont-email.me> <5a1458c0-a2b6-4f63-8ea0-57b7f19aa41f@googlegroups.com> <34f1f225-c6e9-47e7-91cb-ba225d5d9bca@googlegroups.com> <2015Sep3.123542@mips.complang.tuwien.ac.at>

Show all headers | View raw


Anton Ertl wrote:
> And the same goes for paragraphs.  OTOH, TeX is so fast on modern CPUs
> that one can really say that paralellizing it would not enhance it.
> Also, parallelizing it would require quite a bit of effort.

Well, TeX is written in an "unmaintainable" programming language, c-web.  
Let's go with the paragraphs: TeX tries to render the paragraph with several 
different attempts, and chooses the best-"looking", with a metric of what is 
"best".  That is fairly easy to parallelize, you just run all the trials in 
parallel, and then collect the results.  The one with the lowest badness 
wins, and the others get deleted.

The problem with parallelism I have is not that I can't imagine it, but that 
the overhead is too large.  E.g. take net2o:  I send and receive messages 
(each takes time in the kernel), and I decrypt and encrypt them.  With a 
four-core CPU, I could run that in four tasks.

However, when trying that, I found that the IPC is killing the performance.  
These tasks don't take too much time - en/decrypting a 1k block takes 10k 
cycles, and the IPC then takes about as long, too, so all the gain goes down 
the flush.

What we need for this sort of lightweight tasks done in parallel is a 
lightweight, fast, in-hardware IPC, similar in spirit to the GA144 
connections or Transputer links.

Such a link would pass up to one word (that's 64 bit now) in a go, and each 
process can wait for data from a link or several links (whichever comes 
first, will be used).  The links would be routed links, so there's no need 
to put a task on a specific core.  And the registers of a waiting task would 
still be kept in the register file; maybe you can have 2 active tasks per 
core (SMT), and 8 waiting.  If the OS decides that one task needs to be 
swapped out of the core, its links become dangling, and will send a "wake me 
up" token to the scheduler task (which the OS never throws out of a core).

This sort of GA144-like nanosecond-turnaround for IPC is necessary the 
microseconds we need today is completely inacceptable for distributing small 
tasks.

And many tasks that can be parallelized *are* small tasks.

The next issue I have is that the shared memory approach is broken, it is 
way too hard to debug.  I'd prefer a single-writer, multiple reader shared 
memory approach, so each process would have its writable memory, and all 
other threads can only read that.  You may have common shared memory for 
something like the root pointers of RCU trees (you can read and copy from 
other nodes into your own writable memory, and then update the root 
pointer), which need more care, but most of the memory really shouldn't be 
writable by every thread.  A common address space is still ok.

That could be done with some more fields in the page table entry, having 
access rights for the thread itself and others.  The thread itself is 
identified by some higher bits in the virtual address, so the property "this 
thread" vs "other threads" is decided by the first level page table.

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