Path: sparky!uunet!pipex!bnr.co.uk!uknet!edcastle!dcs.ed.ac.uk!epcc.ed.ac.uk!cmb
From: c...@epcc.ed.ac.uk (C M Brough)
Newsgroups: comp.os.linux
Subject: Threads Package?
Keywords: Threads, Lightweight Processes
Message-ID: <C2LB7y.9y3@dcs.ed.ac.uk>
Date: 17 Feb 93 11:14:22 GMT
Sender: cn...@dcs.ed.ac.uk (UseNet News Admin)
Followup-To: comp.os.linux
Organization: Edinburgh Parallel Computing Centre
Lines: 8
Is there a threads or lightweight process package available for Linux?
How difficult would it be to provide one (either outside (like SunOS)
or inside (like Solaris) the kernel)?
Just interested...!
__________________________________________________________________________
Colin Brough c...@epcc.ed.ac.uk Edinburgh Parallel Computing Centre
Newsgroups: comp.os.linux
From: ja...@purplet.demon.co.uk (Mike Jagdis)
Path: sparky!uunet!pipex!demon!purplet!jaggy
Subject: Threads Package?
Organization: FidoNet node 2:252/305 - The Purple Tentacle, Reading
Date: Thu, 18 Feb 1993 00:08:00 +0000
Message-ID: <114.2B841012@purplet.demon.co.uk>
Sender: use...@demon.co.uk
Lines: 20
* In message <C2LB7y....@dcs.ed.ac.uk>, C M Brough said:
CB> Is there a threads or lightweight process package available for Linux?
CB> How difficult would it be to provide one (either outside
CB> (like SunOS) or inside (like Solaris) the kernel)?
Putting them at kernel level is going to be a bitch I think. It involves a
fair amount of work on the VM handling, page tables etc. never mind the task
structs. :-(
I'm working on a process level threads package. It's really incredibly
difficult of course... Well, actually since Linux has POSIX signals, virtual
and real time itimers etc. it's pretty easy - just list manipulation :-).
The port to SCO was rather more exciting! So far it does the basic thread
operations, forking, joining and the like, preemption (configurable time),
non-blocking sleeps, mutexs, wait 'n signal. To come is msg queues, I/O
handling, thread aware library functions...
Mike
Newsgroups: comp.os.linux
Path: sparky!uunet!ukma!gatech!ee.gatech.edu!cc.gatech.edu!news
From: vern...@cc.gatech.edu (Vernard C. Martin)
Subject: Re: Threads Package?
Message-ID: <1993Feb18.192424.29834@cc.gatech.edu>
Keywords: Threads, Lightweight Processes
Sender: n...@cc.gatech.edu
Reply-To: vern...@cc.gatech.edu (Vernard C. Martin)
Organization: Georgia Institute of Technology
References: <C2LB7y.9y3@dcs.ed.ac.uk>
Date: Thu, 18 Feb 1993 19:24:24 GMT
Lines: 18
In article <C2LB7y....@dcs.ed.ac.uk> c...@epcc.ed.ac.uk (C M Brough) writes:
>Is there a threads or lightweight process package available for Linux?
>How difficult would it be to provide one (either outside (like SunOS)
>or inside (like Solaris) the kernel)?
>
>Just interested...!
Not that I know of. However, I have been working on porting an version of the
Ga Tech Cthreads package over to linux. They are user level so that you don't
have to pay the OS overhead. Anyone interested should send me email.
Hey maybe we can start the Linux Parallel Computing Group :-)
V
Vernard Martin Internet Mail: vern...@cc.gatech.edu
High Perfofrmancd Computing "Where this is a will, there is a way to
PacTech Lab subvert it" - me
College of Computing Georgia Institute of Technology, Atlanta, GA 30332
Path: sparky!uunet!ukma!tulane!uflorida!travis.csd.harris.com!
gcx1.ssd.csd.harris.com!donh
From: d...@gcx1.ssd.csd.harris.com (Don Holzworth)
Newsgroups: comp.os.linux
Subject: Re: Threads Package?
Keywords: Threads, Lightweight Processes
Message-ID: <1m10asINNc9f@travis.csd.harris.com>
Date: 18 Feb 93 21:50:20 GMT
References: <C2LB7y.9y3@dcs.ed.ac.uk> <1993Feb18.192424.29834@cc.gatech.edu>
Reply-To: d...@gcx1.ssd.csd.harris.com (Don Holzworth)
Distribution: ssd
Organization: Harris Computer Systems Division, Fort Lauderdale, FL
Lines: 26
NNTP-Posting-Host: gcx1.ssd.csd.harris.com
In article <1993Feb18.192424.29...@cc.gatech.edu>, vern...@cc.gatech.edu
(Vernard C. Martin) writes:
|> In article <C2LB7y....@dcs.ed.ac.uk> c...@epcc.ed.ac.uk (C M Brough) writes:
|> >Is there a threads or lightweight process package available for Linux?
|> >How difficult would it be to provide one (either outside (like SunOS)
|> >or inside (like Solaris) the kernel)?
|> >
|> >Just interested...!
|>
|> Not that I know of. However, I have been working on porting an version of the
|> Ga Tech Cthreads package over to linux. They are user level so that you don't
|> have to pay the OS overhead. Anyone interested should send me email.
|>
|>
If the threads are user level, wouldn't one thread blocking block the
rest of the threads of a process? Is that not a concern, or is it
less overhead than the OS overhead? (I suppose by OS overhead you mean
the context switch time to trap to the OS.)------------------------------------------------------------------------------
##### #### # # # # | Don Holzworth
# # # # ## # # # | Harris Computer Systems Division
# # # # # # # ###### | 2101 W. Cypress Creek Rd.
# # # # # # # # # | Ft. Lauderdale, Fl. 33309
# # # # # ## # # | (305) 977-5563
##### #### # # # # | e-mail: d...@travis.csd.harris.com
|
"Sow the wind, reap the whirlwind."
------------------------------------------------------------------------------
Newsgroups: comp.os.linux
From: ja...@purplet.demon.co.uk (Mike Jagdis)
Path: sparky!uunet!pipex!demon!purplet!jaggy
Subject: Re: Threads Package?
Organization: FidoNet node 2:252/305 - The Purple Tentacle, Reading
Date: Fri, 19 Feb 1993 21:57:00 +0000
Message-ID: <117.2B86EF38@purplet.demon.co.uk>
Sender: use...@demon.co.uk
Lines: 17
* In message <1m10asINN...@travis.csd.harris.com>, Don Holzworth said:
DH> If the threads are user level, wouldn't one thread blocking block the
DH> rest of the threads of a process? Is that not a concern, or
DH> is it less overhead than the OS overhead? (I suppose by OS
DH> overhead you mean the context switch time to trap to the OS)
Zigactly! Implementing a user level thread handler isn't particularly
difficult once you've figured out the layout of a jmpbuf and the precise
signal behaviour. The main problem is existing libraries. You need to figure
out how to fake I/O so you can monitor descriptors with select and wake
threads up at the appropraite time, wrap critical regions in mutexes, make
functions reentrant etc. Then of course you have to figure out how you are
going to use it all to best effect in your applications :-).
Mike
|