Path: utzoo!yunexus!geac!syntron!jtsv16!uunet!lll-winken!lll-tis!helios.ee.lbl.gov!pasteur!agate!saturn!mudd-j@bear.cis.ohio-state.edu From: mudd-j@bear.cis.ohio-state.edu (John R. Mudd) Newsgroups: comp.os.research Subject: Re: THREADS, Light weight processes Message-ID: <5287@saturn.ucsc.edu> Date: 27 Oct 88 22:40:18 GMT Article-I.D.: saturn.5287 Sender: usenet@saturn.ucsc.edu Organization: The Ohio State University Dept. of Computer & Information Science Lines: 59 Approved: comp-os-research@jupiter.ucsc.edu In article <5279@saturn.ucsc.edu> rutgers!mist.math.uoregon.edu!renga@beaver.cs.washington.edu (Renganathan Sundararajan) writes: > What exactly is a light weight process? > Is it the same as a thread? A lightweight process, sometimes called task (Encore's UMAX) or thread (Mach), is a smaller thread of execution that doesn't have all the capabilities of a UNIX process, and as such it is cheaper to create and has less overhead associated to it. As UNIX processes are scheduled on a machine's processor(s), so are tasks scheduled on a program's available UNIX processes. A parallel program creates a number of UNIX processes on which the program's tasks can be created. > Where did the notion of a LWP originate and in what context? To do efficient (in terms of the OS) parallel processing, it isn't a wise idea to create a lot of UNIX processes. UNIX processes tend to have a lot of 'stuff' in them that isn't necessary for parallel processing. > Is the sole purpose of a LWP to help switch contexts fast? Not the sole purpose, just one of the convenient purposes. If you intend to create a lot of tasks, you want to be able to schedule them on a process as fast as possible. > If a LWP does not own/use any registers and so saving a context > involves only saving the PC and condition flags, what is great > about it? Speed. See above. > Do LWPs and HWPs (H = Heavy - whatever that may mean) co-exist in an OS? LWPs exist in a HWP, which are then scheduled by the OS. See above. > Is the notion of a thread unique to MACH or do other os like V use it? Nope. I don't know about V, but Encore's UMAX uses the concept of 'tasks.' >From what I've read on Sequent's DYNIX, they seem to simply run straight UNIX processes. I wouldn't want to say for sure, and I don't know about any other systems. Anybody else care to add to this? > Are there any machines out there that provide some kind of hardware > support to LWP switching? Unknown. > Any clarifications/references would be appreciated. > > Renganathan I made a stab at answering your questions; if anybody has anything additional on this topic, I'd like to see it too. (That means POST, not email) John ------------------------------------------------------------------------------- John R. Mudd Department of Computer & Information Science The Ohio State University, 2036 Neil Avenue, Columbus, Ohio, USA 43210-1277 email: mudd-j@cis.ohio-state.edu