mirror of https://lore.kernel.org/lkml/
 help / color / mirror / Atom feed
From: Ingo Oeser <ingo.oeser@informatik.tu-chemnitz.de>
To: Roberto Fichera <kernel@tekno-soft.it>
Cc: David Schwartz <davids@webmaster.com>, linux-kernel@vger.kernel.org
Subject: Re: Developing multi-threading applications
Date: Sat, 15 Jun 2002 12:30:16 +0200	[thread overview]
Message-ID: <20020615123016.M22429@nightmaster.csn.tu-chemnitz.de> (raw)
In-Reply-To: <5.1.1.6.0.20020613171707.03f09720@mail.tekno-soft.it> <20020614205601.AAA9369@shell.webmaster.com@whenever> <5.1.1.6.0.20020615104206.05291720@mail.tekno-soft.it>

On Sat, Jun 15, 2002 at 11:01:44AM +0200, Roberto Fichera wrote:
> >         Even if that's true, and it's often not, how many different types 
> > of data
> >acquisition can you have? Ten? Twenty? That's a far cry from 300.
> 
> Currently are 190! Always active are ~110! So thinking by separating I/O from
> the computation we double the threads.

So basically you are just traversing your data depedency graph
wrongly. Do a level order traversion if it is a dependency forest
or an breadth first traversion if not.

If this node require IO -> schedule the IO and return back to the upper
level noticing it, that you like to be woken, if the IO is
finished.

If this node require Computation -> do it, if this CPU is the one with
lowest load, else schedule it for the CPU with lowest load.

Continue with next node.

(load is meant "number of compuations with same metric scheduled
on this thread")

Use only one thread per CPU. Try to make the IO-Waiting as unique
as possible (poll would be perfect).


So this is all doable, once you analyze your data dependency
graph properly and make the simulation data driven (which it
usally is).

Regards

Ingo Oeser
-- 
Science is what we can tell a computer. Art is everything else. --- D.E.Knuth

  reply	other threads:[~2002-06-15 10:57 UTC|newest]

Thread overview: 19+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2002-06-13  8:13 Roberto Fichera
2002-06-13  8:26 ` David Schwartz
2002-06-13  9:08   ` Roberto Fichera
2002-06-13  9:44     ` Peter Wächtler
2002-06-13  9:52       ` Roberto Fichera
2002-06-13 10:16         ` Peter Wächtler
2002-06-13 10:42           ` Roberto Fichera
2002-06-13 10:13     ` David Schwartz
2002-06-13 11:21       ` Roberto Fichera
2002-06-13 11:58         ` David Schwartz
2002-06-13 16:26           ` Roberto Fichera
2002-06-14 20:56             ` David Schwartz
2002-06-15  9:01               ` Roberto Fichera
2002-06-15 10:30                 ` Ingo Oeser [this message]
2002-06-17  8:17                   ` Roberto Fichera
2002-06-17 16:07                     ` Marco Colombo
2002-06-17 18:00                       ` Roberto Fichera
2002-06-17 18:55                       ` Jakob Oestergaard
     [not found] <20020613113158.I22429@nightmaster.csn.tu-chemnitz.de>
2002-06-13 10:25 ` Roberto Fichera

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20020615123016.M22429@nightmaster.csn.tu-chemnitz.de \
    --to=ingo.oeser@informatik.tu-chemnitz.de \
    --cc=davids@webmaster.com \
    --cc=kernel@tekno-soft.it \
    --cc=linux-kernel@vger.kernel.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox

all inboxes | Powered by JetHome®