Path: utzoo!utgpu!jarvis.csri.toronto.edu!mailrus!umich!yale!think!linus!alliant!neray From: neray@Alliant.COM (Phil Neray) Newsgroups: comp.sys.alliant Subject: Re: non-zero ipl Message-ID: <3723@alliant.Alliant.COM> Date: 9 Mar 90 22:13:45 GMT References: <1990Mar6.222236.7098@uokmax.uucp> Organization: Alliant Computer Systems, Littleton, MA Lines: 75 Reply-To: neray@alliant.Alliant.COM (Phil Neray) Distribution: Organization: Alliant Computer Systems, Littleton, MA Keywords: Multi-Threading UNIX In article <1990Mar7.013905.29368@Neon.Stanford.EDU> weening@Gang-of-Four.Stanford.EDU (Joe Weening) writes: >Alliant told us that Concentrix 5.5.1 would soon be sent to people >having problems, so I debated whether to wait for it, but finally >decided to roll back to 5.0. This was at the end of January, and we >haven't yet received 5.5.1, so I'm glad I decided to roll back. We >don't really need any of the features that 5.5 supports. Concentrix 5.5 has some very useful features for systems that have lots of users (and need high throughput), and/or systems with the requirement for lots of aggregate I/O. This is because Concentrix is now extensively multi-threaded. Concentrix has always been a symmetric multiprocessing implementation of UNIX (which means the kernel could run on any available processor). With 5.5, the kernel itself has been parallelized, allowing mutiple sections of the kernel to be executing simultaneously on multiple processors. Most super and mini-super multiprocessor UNIX implementations have "coarse-grain" locking - ie., the entire file system gets locked, or the entire virtual memory system, or the entire network system. Concentrix 5.5 has thousands of fine-grain locks that control access to critical data structures and code regions in the kernel. Also, Concentrix has some built-in strategies to minimize the duration of a lock and the number of locks that can be held by a particular process. (Other multi-threaded UNIX implementations that we know of include Sequent and Encore.) Multi-threading increases overall multi-user throughput, multi-stream aggregate I/O, and multi-stream network throughput. For example, the maximum number of simulated users supported on an FX/80, as measured by the AIM Multiuser Benchmark, is now over 3x what it was with Concentrix 5.0. (Of course, the FX/80 was designed for large number crunching jobs, but most systems are also used for standard UNIX development activities like compiling and file copying which is what the AIM benchmark measures.) The aggregate I/O with disk striping (TFS) is about 2x compared with Concentrix 5.0, and the aggregate network I/O is also about 2x (this is for smaller packet sizes which are representative of terminal and X11 network traffic). "Lock-wait" has been virtually eliminated. Note that multi-threading does NOT improve single-stream I/O (that's in development for a future release). Also, this multi-threaded Concentrix has now been ported to the FX/2800 (up to 28 Intel i860 40 Mhz 64-bit processors with 1 GB memory), which should be a very high throughput system due to the high scalar performance of the processors (>41 VAX MIPS, Dhrystone) and increased I/O bandwidth (multiple 20 MB/s VME channels). My apologies if this sounds too much like a commercial, but the Concentrix developers (led by Jeff Jones and Tony Anzelmo) have done some really fine work here and I thought you should know. ---------------------------------------------------------------------- Phil Neray Domain: neray@alliant.com Alliant Computer Systems UUCP: {mit-eddie|linus}!alliant!neray Littleton, MA 01460 Phone: (508) 486-1429 -- Larry Fisher Domain: fisher@alliant.com Alliant Computer Systems UUCP: {mit-eddie|linus}!alliant!fisher Littleton, MA 01460 Phone: (508) 486-1449