home *** CD-ROM | disk | FTP | other *** search
/ NetNews Usenet Archive 1992 #16 / NN_1992_16.iso / spool / comp / arch / 8262 < prev    next >
Encoding:
Internet Message Format  |  1992-07-23  |  3.1 KB

  1. Xref: sparky comp.arch:8262 comp.benchmarks:1185 comp.sys.sun.misc:3315 comp.unix.solaris:114
  2. Newsgroups: comp.arch,comp.benchmarks,comp.sys.sun.misc,comp.unix.solaris
  3. Path: sparky!uunet!iWarp.intel.com|ichips!ichips!glew
  4. From: glew@pdx007.intel.com (Andy Glew)
  5. Subject: Master Slave, SMP, etc.
  6. In-Reply-To: hyatt@cis.uab.edu's message of 15 Jul 92 14:52:20 GMT
  7. Message-ID: <GLEW.92Jul23222402@pdx007.intel.com>
  8. Sender: news@ichips.intel.com (News Account)
  9. Organization: Intel Corp., Hillsboro, Oregon
  10. References: <BrFnoE.1yx@news.cso.uiuc.edu> <1992Jul15.145220.25434@cis.uab.edu>
  11. Date: Fri, 24 Jul 1992 06:24:02 GMT
  12. Lines: 68
  13.  
  14.  
  15. Going further on the discussion of master/slave, floating master, etc:
  16.  
  17.  
  18. A system where only one processor *at* *all* *times* can execute the
  19. kernel or handle I/O is not necessarily a master/slave. I've found it
  20. useful to make the following distinctions:
  21.  
  22.  
  23. Master/slave(s):
  24.     One master CPU executes the kernel.
  25.     The master CPU determines what processes are to run on the
  26.         slaves, and then sends them to the slaves.
  27.     If a process running on the slave makes a system call,
  28.         the slave stops, tells the master, and then
  29.         waits until the master reschedules it.
  30.  
  31. Self-scheduling crippled equals:
  32.     One or several CPUs execute the kernel (masters).
  33.     One or several CPUs executes user code only (cripples).
  34.     All CPUs access a common run queue scheduling structure.
  35.     If a process running on a cripple makes a system call,
  36.         the cripple places it on the run queue, and then
  37.         gets the next process that does not require a
  38.         run queue off. (Note that it doesn't wait)
  39.     The "cripples" can basically be imagined as "compute servers"
  40.         on a shared memory network.
  41.  
  42. Floating master:
  43.     One kernel lock
  44.  
  45. Multithreaded kernel:
  46.     Locks around several different kernel data structures,
  47.     permitting multiple people to be in the CPU simultaneously.
  48.  
  49.  
  50.  
  51. Master/slave systems slope off distinctly with number of processors,
  52. on all but the most purely computational workloads.
  53.  
  54. There are a lot of workloads, however, where self-scheduling crippled
  55. equals, with only one master, provide performance comparable to
  56. floating master and a true multithreaded kernel.
  57.  
  58. I recall having to explain this to a very annoyed manager (Hi Butch!),
  59. who had been trying to demonstrate the advantages of a multithreaded
  60. kernel on a multiuser workload (MUSBUS).  The multithreaded kernel, in
  61. fact, scaled less well than the self-scheduling crippled equal system.
  62. One may conjecture that this may have been true up to the point at
  63. which the workload saturated a single CPU, but that did not occur - we
  64. got disk I/O bound before we got kernel bound.
  65.  
  66. Self-scheduling crippled equals often provide better performance than
  67. the floating master, because the kernel gets localized to one
  68. processor's caches. The cost is increased latency on system calls -
  69. but for a thruput oriented workload, that's okay.
  70.  
  71.  
  72. --
  73.  
  74. Andy Glew, glew@ichips.intel.com
  75. Intel Corp., M/S JF1-19, 5200 NE Elam Young Pkwy, 
  76. Hillsboro, Oregon 97124-6497
  77.  
  78. This is a private posting; it does not indicate opinions or positions
  79. of Intel Corp.
  80.  
  81. Intel Inside (tm)
  82.