evaluating software lockout. Typical values for L/E range from 0.01 to 0.1. In a system with a L/E ratio of 0.05, for instance, if there are 15 CPUs, it is expected that on average 1 CPU will always be idle; with 21 CPUs, 2.8 will be idle; with 40 CPUs, 19 will be idle; with 41 CPUs, 20 will be idle. Therefore, adding more than 40 CPUs to that system would be useless. In general, for each L/E value, there's a threshold for the maximum number of useful CPUs. Software lockout mitigation To reduce the performance degradation of software lockout to reasonable levels (L/E between 0.05 and 0.1), the kernel and/or the operating system must be designed accordingly. Conceptually, the most valid solution is to decompose each kernel data structure in smaller independent substructures, having each a shorter elaboration time. This allows more than one CPU to access the original data structure. Many uniprocessor systems with hierarchical protection domains have been estimated to spend up to 50% of the time performing "supervisor mode" operations. If such systems were adapted for multiprocessing by setting a lock at any access to "supervisor state", L/E would easily be greater than 1, resulting in a system with the same throughput as the uniprocessor despite the number of CPUs. See also Amdahl's law Dependency issues on Superscalar architectures Serializability Notes References Madnick, Stuart Elliot (1968) Multi-processor software lockout Proceedings of the 1968 23rd ACM national conference, pp. 19 – 24 M. Dubois, F. Briggs The run-time efficiency of parallel asynchronous algorithms IEEE Transactions on Computers, November 1991 (Vol. 40, No. 11) pp. 1260–1266 Randy J. Raynor, John M. Gwynn, Jr.Minimization of supervisor conflict for multiprocessor computer systems ACM SIGSIM Simulation Digest. Volume 7, Issue 4 (July 1976). pp. 61 – 69 Further reading Rodgers, David P. (1985) Improvements in multiprocessor system design ACM SIGARCH Computer Architecture News archive Volume 13, Issue 3 (June 1985) table of contents Special Issue: Proceedings of the 12th annual International Symposium on Computer Architecture (ISCA '85) Pages: 225 - 231 Year of Publication: 1985 . Also published in International Symposium on Computer Architecture, Proceedings of the 12th annual international symposium on Computer architecture, 1985, Boston, Massachusetts, United States Jörg Cordsen, Wolfgang Schröder-Preikschat Towards a Scalable Kernel Architecture In: Proceedings of the Autumn 1992 Openforum Technical Conference. pp. 15–33, Utrecht, The Netherlands, November 23–27, 1992. Computer performance Concurrency control Operating system