public inbox for linux-kernel@vger.kernel.org
 help / color / mirror / Atom feed
From: David Schwartz <davids@webmaster.com>
To: <kernel@tekno-soft.it>
Cc: <linux-kernel@vger.kernel.org>
Subject: Re: Developing multi-threading applications
Date: Thu, 13 Jun 2002 03:13:36 -0700	[thread overview]
Message-ID: <20020613101337.AAA26116@shell.webmaster.com@whenever> (raw)
In-Reply-To: <5.1.1.6.0.20020613104128.02c119a0@mail.tekno-soft.it>


On Thu, 13 Jun 2002 11:08:27 +0200, Roberto Fichera wrote:
>You are right! But "computational intensive" is not totaly right as I say ;-
>),

	It's really not fair to change the premises in the middle of an argument.

>because most of thread are waiting for I/O,

	Still wrong. You don't tie up threads waiting for I/O. You can wait without 
having a thread doing the waiting.

>after I/O are performed the
>computational intensive tasks, finished its work all the result are sent
>to thread-father,

	Okay, so you need a new abstraction -- separate the waiting from the 
working. Create as many threads to do the work as you have processors to do 
the work on. As for the waiting, minimize threads waiting, they're pure 
overhead. If it's sockets, use 'poll' so one thread can do lots of waiting.

>the father collect all the child's result and perform some
>computational work and send its result to its father and so on with many
>thread-father controlling other child. So I think the main problem/overhead
>is thread creation and the thread's numbers.

	So get rid of the problem! Don't create so many threads, create only as many 
threads as can do useful work and reuse them rather than destroying and 
recreating them. Solve the actual problem/overhead since it's totally 
artificial and due to your model rather than your problem!

	DS



  parent reply	other threads:[~2002-06-13 10:13 UTC|newest]

Thread overview: 19+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2002-06-13  8:13 Developing multi-threading applications 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 [this message]
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
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=20020613101337.AAA26116@shell.webmaster.com@whenever \
    --to=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