[lkml]   [2001]   [Jun]   [13]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
Messages in this thread
SubjectRe: threading question
"J . A . Magallon" wrote:
> On 20010613 Kurt Garloff wrote:
> >
> > What I do in my numerics code to avoid this problem, is to create all the
> > threads (as many as there are CPUs) on program startup and have then wait
> > (block) for a condition. As soon as there's something to to, variables for
> > the thread are setup (protected by a mutex) and the thread gets signalled
> > (cond_signal).
> > If you're interested in the code, tell me.
> >
> I use the reverse approach. you feed work to the threads, I create the threads
> and let them ask for work to a master until it says 'done'. When the
> master is queried for work, it locks a mutex, decide the next work for
> that thread, and unlocks it. I think it gives the lesser contention and
> is simpler to manage.

Question was poping in my mind and finally got negative answer by my mind ;-)

Is it possible to make somethis like:

char a[100] = {...}
char b[100] = {...}
char c[100];
char d[100];

1: { // run this on first CPU
for (int i=0; i<100; i++) c[i] = a[i] + b[i];
2: { // run this on any other CPU
for (int i=0; i<100; i++) d[i] = a[i] * b[i];

// do something else...

wait 1,2; // to be sure c[] and d[] are ready.

what was popping in my mind - some prefix (like 0x66 Intel used for 32
instructions) to say this instruction should run on other CPU?
I know - stupid idea. Too many questions will arise.
If we will do

PREFIX jmp far some_routing

and this routing will run on other CPU not blocking current execution thread.
(who will clean stack? when?.. question without answers...)

Is there anything like this in computerworld? I heard about old computers that
have a speacial instruction set to implicit run code on given processor.
Is it possible to emulate this behavior on PCs?begin:vcard
tel;pager:+375 (0) 17 2850000#6683
tel;fax:+375 (0) 17 2841537
tel;home:+375 (0) 17 2118441
tel;work:+375 (0) 17 2841371
org:Enformatica Ltd.;Linux Developement Department
adr:;;Kalinine str. 19-18;Minsk;BY;220012;Belarus
title:Software Developer
 \ /
  Last update: 2005-03-22 12:55    [W:0.142 / U:1.772 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site