Symmetric multiprocessing: Difference between revisions

Content deleted Content added
m External links: convert http://www.ibm.com/developerworks/library/l-linux-smp/ to archive link (is dead redirect)
m History: formatting fix
Line 35:
| date = February 1972}}</ref> The operating systems that ran on these machines were [[OS/360]] M65MP<ref>[http://doi.acm.org/10.1145/800186.810634 M65MP: An Experiment in OS/360 multiprocessing]</ref> and [[TSS/360]]. Other software developed at universities, notably the [[Michigan Terminal System]] (MTS), used both CPUs. Both processors could access data channels and initiate I/O. In OS/360 M65MP, peripherals could generally be attached to either processor since the operating system kernel ran on both processors (though with a "big lock" around the I/O handler).<ref>{{cite book |url=http://bitsavers.org/pdf/ibm/360/os/R21.7_Apr73/plm/GY28-6616-9_OS_IO_Superv_PLM_R21.7_Apr73.pdf |title=Program Logic Manual, OS I/O Supervisor Logic, Release 21 (R21.7) |publisher=IBM |id=GY28-6616-9 |edition=Tenth |date=April 1973}}</ref> The MTS supervisor (UMMPS) has the ability to run on both CPUs of the IBM System/360 model 67–2. Supervisor locks were small and used to protect individual common data structures that might be accessed simultaneously from either CPU.<ref>[https://1a9f2076-a-62cb3a1a-s-sites.googlegroups.com/site/michiganterminalsystem/documentation/documents/timeSharingSupervisorPrograms-1971.pdf?attachauth=ANoY7crPBadRVtxTmN8sqSjFc3xC84Q_pDpvpRo7VRWz0_Ql-UKQ2SVe6hJ7lVOjGZbLkOSXco8c9_ZI6TmQZS8EpBTMlByIPM4iByyUXlXE__YfWN0jqwIQglhyvR0oSxl0I_C0JenDItLzN4btLtkug9HSHRX1s-WtlkSQ-pzJLpczJYsuzTvZVIggSTW0arjTnQsls6xcrCsMcyl58Y98Q0Sw2yecmFLiTcYjnYrgAhLGSu9b2s28oV04R6_6p6fD8UUjvnRawHn7N6qFgRIEuGj4QuZlkthZM5_fZwaPyXvLxccgLCk%3D&attredirects=0 ''Time Sharing Supervisor Programs''] by Mike Alexander (May 1971) has information on MTS, TSS, CP/67, and Multics</ref>
 
Other mainframes that supported SMP included the [[UNIVAC 1100/2200 series#1108|UNIVAC 1108 II]], released in 1965, which supported up to three CPUs, and the [[GE-600 series|GE-635 and GE-645]],<ref>{{cite book|url=http://www.bitsavers.org/pdf/ge/GE-6xx/CPB-371A_GE-635_System_Man_Jul64.pdf|title=GE-635 System Manual|date=July 1964|publisher=[[General Electric]]}}</ref><ref>{{cite book|url=http://www.bitsavers.org/pdf/ge/GE-645/GE-645_SystemMan_Jan68.pdf|title=GE-645 System Manual|date=January 1968|publisher=General Electric}}</ref> although [[General Comprehensive Operating System|GECOS]] on multiprocessor GE-635 systems ran in a master-slave asymmetric fashion, unlike [[Multics]] on multiprocessor GE-645 systems, which ran in a symmetric fashion.<ref>{{cite newsgroup|url=https://groups.google.com/d/msg/alt.folklore.computers/v-hkdKaPTXc/MX7UI3DgOokJ|title=Fear of Multiprocessing?|author=Richard Shetron|date=May 5, 1998|newsgroup=alt.folklore.computers|message-id=354e95a9.0@news.wizvax.net}}</ref>
 
Starting with its version 7.0 (1972), [[Digital Equipment Corporation]]'s operating system [[TOPS-10]] implemented the SMP feature, the earliest system running SMP was the [[PDP-10|DECSystem 1077]] dual KI10 processor system.<ref>[http://www.ultimate.com/phil/pdp10/10periphs DEC 1077 and SMP]</ref> Later KL10 system could aggregate up to 8 CPUs in a SMP manner. In contrast, DECs first multi-processor [[VAX]] system, the VAX-11/782, was asymmetric,<ref>[http://www.bitsavers.org/pdf/dec/vax/EG-21731-18_VAX_Product_Sales_Guide_Apr82.pdf VAX Product Sales Guide, pages 1-23 and 1-24]: the VAX-11/782 is described as an asymmetric multiprocessing system in 1982</ref> but later VAX multiprocessor systems were SMP.<ref>[http://www.bitsavers.org/pdf/dec/vax/8800/EK-8840H-UG-001_88xx_System_Hardware_Users_Guide_Mar88.pdf VAX 8820/8830/8840 System Hardware User's Guide]: by 1988 the VAX operating system was SMP</ref>
 
Early commercial Unix SMP implementations included the [[Sequent Computer Systems]] Balance 8000 (released in 1984) and Balance 21000 (released in 1986).<ref>{{Cite book |last1 = Hockney |first1 = R.W. |last2 = Jesshope |first2 = C.R. |title = Parallel Computers 2: Architecture, Programming and Algorithms |publisher = Taylor & Francis |year = 1988 | page = 46 |isbn = 0-85274-811-6}}</ref> Both models were based on 10&nbsp;MHz [[National Semiconductor]] [[NS320xx|NS32032]] processors, each with a small write-through cache connected to a common memory to form a [[Shared memory architecture|shared memory]] system. Another early commercial Unix SMP implementation was the NUMA based Honeywell Information Systems Italy XPS-100 designed by Dan Gielan of VAST Corporation in 1985. Its design supported up to 14 processors, but due to electrical limitations, the largest marketed version was a dual processor system. The operating system was derived and ported by VAST Corporation from AT&T 3B20 Unix SysVr3 code used internally within AT&T.
 
Earlier non-commercial multiprocessing UNIX ports existed, including a port named MUNIX created at the [[Naval Postgraduate School]] by 1975.<ref>{{Cite web|url=https://core.ac.uk/download/pdf/36714194.pdf|title=MUNIX, A Multiprocessing Version Of UNIX|last=Hawley|first=John Alfred|date=June 1975|website=core.ac.uk|access-date=11 November 2018}}</ref>