All Topics  
Software lockout

 

   Email Print
   Bookmark   Link






 

Software lockout



 
 
In multiprocessor computer systems, software lockout is the issue of performance degradation due to the idle wait times spent by the CPUs in kernel-level critical section
Critical section

In concurrent programming a critical section is a piece of code that accesses a shared resource that must not be concurrently accessed by more than one thread of execution....
s. Software lockout is the major cause of scalability
Scalability

In telecommunications and software engineering, scalability is a desirable property of a system, a network, or a process, which indicates its ability to either handle growing amounts of work in a graceful manner, or to be readily enlarged....
 degradation in a multiprocessor system, posing a limit on the maximum useful number of processors. To mitigate the phenomenon, the kernel must be designed to have its critical section
Critical section

In concurrent programming a critical section is a piece of code that accesses a shared resource that must not be concurrently accessed by more than one thread of execution....
s as short as possible, therefore decomposing each data structure
Data structure

A data structure in computer science is a way of storing data in a computer so that it can be used efficiently. It is an organization of mathematical and logical concepts of data....
 in smaller substructures.

ost multiprocessor systems, each processor schedules and controls itself, therefore there's no "supervisor" processor, and kernel data structure
Data structure

A data structure in computer science is a way of storing data in a computer so that it can be used efficiently. It is an organization of mathematical and logical concepts of data....
s are globally shared critical section
Critical section

In concurrent programming a critical section is a piece of code that accesses a shared resource that must not be concurrently accessed by more than one thread of execution....
s.






Discussion
Ask a question about 'Software lockout'
Start a new discussion about 'Software lockout'
Answer questions from other users
Full Discussion Forum



Encyclopedia


In multiprocessor computer systems, software lockout is the issue of performance degradation due to the idle wait times spent by the CPUs in kernel-level critical section
Critical section

In concurrent programming a critical section is a piece of code that accesses a shared resource that must not be concurrently accessed by more than one thread of execution....
s. Software lockout is the major cause of scalability
Scalability

In telecommunications and software engineering, scalability is a desirable property of a system, a network, or a process, which indicates its ability to either handle growing amounts of work in a graceful manner, or to be readily enlarged....
 degradation in a multiprocessor system, posing a limit on the maximum useful number of processors. To mitigate the phenomenon, the kernel must be designed to have its critical section
Critical section

In concurrent programming a critical section is a piece of code that accesses a shared resource that must not be concurrently accessed by more than one thread of execution....
s as short as possible, therefore decomposing each data structure
Data structure

A data structure in computer science is a way of storing data in a computer so that it can be used efficiently. It is an organization of mathematical and logical concepts of data....
 in smaller substructures.

Kernel-level critical sections

In most multiprocessor systems, each processor schedules and controls itself, therefore there's no "supervisor" processor, and kernel data structure
Data structure

A data structure in computer science is a way of storing data in a computer so that it can be used efficiently. It is an organization of mathematical and logical concepts of data....
s are globally shared critical section
Critical section

In concurrent programming a critical section is a piece of code that accesses a shared resource that must not be concurrently accessed by more than one thread of execution....
s. This design choice is made to improve scaling, reliability and modularity. Examples of such kernel data structure are ready list and communication channels.

A "conflict" happens when more than one processor is trying to access the same resource (a memory portion) at the same time. To prevent critical races and inconsistency, only one processor (CPU) at a given time is allowed to access a particular data structure
Data structure

A data structure in computer science is a way of storing data in a computer so that it can be used efficiently. It is an organization of mathematical and logical concepts of data....
 (a memory portion), while other CPUs trying to access at the same time are locked-out
Lock (computer science)

In computer science, a lock is a Synchronization mechanism for enforcing limits on access to a resource in an environment where there are many thread ....
, waiting in idle status.

Three cases can be distinguished when this idle wait is (1) necessary (2) convenient and (3) not convenient. The idle wait is necessary when the access is to a ready list for a low level scheduling
Scheduling (computing)

Scheduling is a key concept in computer multitasking and multiprocessing operating system design, and in real-time operating system design. In modern operating systems, there are typically many more processes running than there are CPUs available to run them....
 operation. The idle wait is not necessary but convenient in the case of a critical section for a synchronization
Synchronization (computer science)

In computer science, synchronization refers to one of two distinct but related concepts: synchronization of process , and synchronization of data....
/IPC
Inter-process communication

Inter-Process Communication is a set of techniques for the exchange of data among multiple thread in one or more Process . Processes may be running on one or more computers connected by a computer network....
 operations, which require less time than a context switch
Context switch

A context switch is the computing process of storing and restoring the State of a Central processing unit such that multiple Process es can share a single CPU resource....
 (executing another process
Process

Process may refer to:Biology*Process , a projection or outgrowth of tissue from a larger body* Biological processScience and technnology*Process , a computer program or an instance of a program running concurrently with other programs...
 to avoid idle wait). Idle wait is instead not convenient in case of a kernel critical section for device management
Device Management

Device Management is a set of technologies, protocols and standards used to allow the remote management of mobile devices, often involving updates of FOTA ....
, present in monolithic kernel
Monolithic kernel

A monolithic kernel is a Kernel architecture where the entire operating system is run in kernel space as supervisor mode. In difference with other architectures , the monolithic kernel defines alone a high-level virtual interface over computer hardware, with a set of primitives or system calls to implement all operating system services such...
s only. A microkernel
Microkernel

In computer science, a microkernel is a computer kernel which provides the mechanisms needed to implement an operating system, such as low-level address space management, thread management, and inter-process communication....
 instead falls on just the first two of the above cases.

In a multiprocessor system, most of the conflicts are kernel-level conflicts, due to the access to the kernel level critical sections, and thus the idle wait periods generated by them have a major impact in performance degradation. This idle wait time decrease the average number of idle processors and thus scalability
Scalability

In telecommunications and software engineering, scalability is a desirable property of a system, a network, or a process, which indicates its ability to either handle growing amounts of work in a graceful manner, or to be readily enlarged....
 and relative efficiency.

Analytical studies

Taking as parameters the average time interval spent by a processor in kernel level critical sections (L, for time in locked state), and the average time interval spent by a processor in tasks outside critical sections (E), the ratio L/E is crucial in 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
Uniprocessor

A uniprocessor system is a computer system with a single central processing unit. As more and more computers employ multiprocessing architectures, such as Symmetric multiprocessing and Massively parallel processing, the term is used to refer to systems that still have only one central processing unit....
 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
Multiprocessing

Multiprocessing is the use of two or more CPU within a single computer system. The term also refers to the ability of a system to support more than one processor and/or the ability to allocate tasks between them....
 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 bandwidth of the uniprocessor despite the number of CPUs.

Bibliography

  • (1968) Proceedings of the 1968 23rd ACM national conference, pp. 19 - 24
  • M Dubois, F Briggs IEEE Transactions on Computers, November 1991 (Vol. 40, No. 11) pp. 1260-1266
  • Randy J. Raynor, John M. Gwynn, Jr. ACM SIGSIM Simulation Digest. Volume 7 , Issue 4 (July 1976). pp.61 - 69


Further reading:
  • Rodgers, David P. (1985) 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
    International Symposium on Computer Architecture

    The International Symposium on Computer Architecture is generally viewed as the top-tier academic conference on Computer Architecture....
     (ISCA '85) Pages: 225 - 231 Year of Publication: 1985 ISSN:0163-5964. Also published in International Symposium on Computer Architecture, Proceedings of the 12th annual international symposium on Computer architecture, 1985 , Boston, Massachusetts, United States


See also

  • Amdahl's law
    Amdahl's law

    Amdahl's law, also known as Amdahl's argument, is named after Computer architecture Gene Amdahl, and is used to find the maximum expected improvement to an overall system when only part of the system is improved....
  • Dependency issues on Superscalar
    Superscalar

    A superscalar Central processing unit architecture implements a form of parallel computer called instruction level parallelism within a single processor....
     architectures
  • Lockout (telecommunication)
    Lockout (telecommunication)

    In telecommunications, the term lockout has the following meanings:# In telephone systems, treatment of a User 's telephone line or trunking that is in trouble, or in a permanent signal condition, by automatically disconnecting the line from the telephone exchange equipment....
  • Concurrency control#Concurrency_control_mechanism
    Concurrency control

    In computer science, especially in the fields of computer programming , operating systems , multiprocessors, and databases, concurrency control ensures that correct results for concurrent operations are generated, while getting those results as quickly as possible....
  • Schedule (computer_science)#Serializable
    Schedule (computer science)

    In the field of databases, a schedule is a list of actions, , from a set of Database transaction.Here is a sample schedule:In this example, Schedule D is the set of 3 transactions T1, T2, T3....
  • Serializability
    Serializability

    In databases and transaction processing, a Schedule is serializable, has the Serializability property, if its outcome is equal to the outcome of its transactions executed serially, i.e., sequentially without overlapping in time....


External links

  • J. Cordsen, W. Schroder-Preikschat [ftp://ftp.gmd.de/GMD/peace/ScalableOSDesign.ps.gz Towards a Scalable Kernel Architecture] In Proceedings of the Autumn 1992 Openforum Technical Conference. pp. 15