comp.lang.idl-pvwave archive
Messages from Usenet group comp.lang.idl-pvwave, compiled by Paulo Penteado

Home » Public Forums » archive » Re: IDL with multiple processors
Show: Today's Messages :: Show Polls :: Message Navigator
E-mail to friend 
Return to the default flat view Create a new topic Submit Reply
Re: IDL with multiple processors [message #13708 is a reply to message #13701] Fri, 04 December 1998 00:00 Go to previous messageGo to previous message
steinhh is currently offline  steinhh
Messages: 260
Registered: June 1994
Senior Member
In article <7479pd$j5i$1@agate.berkeley.edu>
korpela@islay.ssl.berkeley.edu (Eric J. Korpela) writes:

> IDL is pretty much single threaded. If you've got two processors, it's up
> to you to use 'em. You'd be suprised what you can do if you try.....
> This works under sunos... (you need to write your own kill proceedure,
> though. That's not too hard.)
>
> pid=call_external("/usr/lib/libc.so.1.9","_fork") ; your libc name may vary
> if pid then begin
> do some processing
> kill,pid
> endif else begin
> do some other processing
> dummy=call_external("/usr/lib/libc.so.1.9","_wait")
> endelse
>

Hmmm... dreaming of a "PIDL" (Parallel IDL).... How about
something like a few extra "directives":

parallel begin

task begin
<some processing>
endtask

task begin
<some other processing>
endtask

task begin
<some third kind of processing>
endtask

endpara

... having approximately the same meaning as your example,
but with an unspecified mechanism. If no parallel processing
is available on the platform, IDL could just evaluate the tasks
in sequence. I.e. the programmer should never *rely* on these
tasks being executed in parallel, and (for now) interprocess
communication should thus not be used.. but making the
mechanism more or less like threads (threads share the
same address space/global variables) would eliminate most
of the need - synchronization would be done by syntax instead
(at each "endpara" directive).

In fact, RSI could implement something like this pretty soon
(after a tiny period of thinking it through, but without
putting any meat on the bone until later... Just
*allowing* the directives and ignoring them would be ok,
but one would at least be able to write programs that
*will* be speeded up in some future version...

I don't see it happening, though in my view it could be a nice
selling point over competitors to have "mechanisms to take
advantage of multiple processors, anticpating future h/w & s/w
developments".

[..snip..]

> I don't suppose RSI would be willing to add fork, kill, and wait to the
> language. :) It's also probably illegal to use fork on a machine with
> a floating license.

Actually, I don't think RSI would mind from the licensing point of
view: AFAIK, they have a "one user, one screen, any number of processes"
policy (you can even run two IDL processes on separate machines,
but on the same display, using just one license).

Regards,

Stein Vidar
[Message index]
 
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Previous Topic: Message command output sent to Journal file?
Next Topic: Re: How to kill a procedure?

-=] Back to Top [=-
[ Syndicate this forum (XML) ] [ RSS ] [ PDF ]

Current Time: Fri Oct 10 23:47:23 PDT 2025

Total time taken to generate the page: 1.44216 seconds