home *** CD-ROM | disk | FTP | other *** search
- Xref: sparky comp.arch:8262 comp.benchmarks:1185 comp.sys.sun.misc:3315 comp.unix.solaris:114
- Newsgroups: comp.arch,comp.benchmarks,comp.sys.sun.misc,comp.unix.solaris
- Path: sparky!uunet!iWarp.intel.com|ichips!ichips!glew
- From: glew@pdx007.intel.com (Andy Glew)
- Subject: Master Slave, SMP, etc.
- In-Reply-To: hyatt@cis.uab.edu's message of 15 Jul 92 14:52:20 GMT
- Message-ID: <GLEW.92Jul23222402@pdx007.intel.com>
- Sender: news@ichips.intel.com (News Account)
- Organization: Intel Corp., Hillsboro, Oregon
- References: <BrFnoE.1yx@news.cso.uiuc.edu> <1992Jul15.145220.25434@cis.uab.edu>
- Date: Fri, 24 Jul 1992 06:24:02 GMT
- Lines: 68
-
-
- Going further on the discussion of master/slave, floating master, etc:
-
-
- A system where only one processor *at* *all* *times* can execute the
- kernel or handle I/O is not necessarily a master/slave. I've found it
- useful to make the following distinctions:
-
-
- Master/slave(s):
- One master CPU executes the kernel.
- The master CPU determines what processes are to run on the
- slaves, and then sends them to the slaves.
- If a process running on the slave makes a system call,
- the slave stops, tells the master, and then
- waits until the master reschedules it.
-
- Self-scheduling crippled equals:
- One or several CPUs execute the kernel (masters).
- One or several CPUs executes user code only (cripples).
- All CPUs access a common run queue scheduling structure.
- If a process running on a cripple makes a system call,
- the cripple places it on the run queue, and then
- gets the next process that does not require a
- run queue off. (Note that it doesn't wait)
- The "cripples" can basically be imagined as "compute servers"
- on a shared memory network.
-
- Floating master:
- One kernel lock
-
- Multithreaded kernel:
- Locks around several different kernel data structures,
- permitting multiple people to be in the CPU simultaneously.
-
-
-
- Master/slave systems slope off distinctly with number of processors,
- on all but the most purely computational workloads.
-
- There are a lot of workloads, however, where self-scheduling crippled
- equals, with only one master, provide performance comparable to
- floating master and a true multithreaded kernel.
-
- I recall having to explain this to a very annoyed manager (Hi Butch!),
- who had been trying to demonstrate the advantages of a multithreaded
- kernel on a multiuser workload (MUSBUS). The multithreaded kernel, in
- fact, scaled less well than the self-scheduling crippled equal system.
- One may conjecture that this may have been true up to the point at
- which the workload saturated a single CPU, but that did not occur - we
- got disk I/O bound before we got kernel bound.
-
- Self-scheduling crippled equals often provide better performance than
- the floating master, because the kernel gets localized to one
- processor's caches. The cost is increased latency on system calls -
- but for a thruput oriented workload, that's okay.
-
-
- --
-
- Andy Glew, glew@ichips.intel.com
- Intel Corp., M/S JF1-19, 5200 NE Elam Young Pkwy,
- Hillsboro, Oregon 97124-6497
-
- This is a private posting; it does not indicate opinions or positions
- of Intel Corp.
-
- Intel Inside (tm)
-