Explore chapters and articles related to this topic
Real-Time Operating Systems
Published in Leanna Rierson, Developing Safety-Critical Software, 2017
Deadlock is a condition where no processes will be completed because they cannot access the resources they require to make progress. The following conditions must be true for a deadlock to occur: (1) mutual exclusion (resources may only be allocated to one process at a time), (2) hold and wait (a process may allocate a resource and wait for others), (3) no preemption (a resource may not be forcibly taken away), and (4) circular wait (processes are holding resources that other processes need). Deadlock is almost impossible to find by testing, but may be found by analysis (formal methods can help with this). Deadlock is typically avoided through design [7] by preventing one of the four conditions in the RTOS architecture [21].
Structural Deadlock Prevention Policies for Flexible Manufacturing Systems
Published in Javier Campos, Carla Seatzu, Xiaolan Xie, in Manufacturing, 2018
Juan-Pablo López-Grao, José-Manuel Colom, Fernando Tricas
Petri nets (PNs) [29] have a success story as models aimed at the study of resource allocation systems (RASs) from a systemic perspective [3]. An RAS is a discrete event system in which a set of concurrent processes coexist, and these must compete in order to be granted the allocation of some shared resources. Deadlocks arise when a set of processes is indefinitely waiting for resources that are already held by other processes of the same set. From a qualitative standpoint, the RAP consists in meeting the demand for resources of the set of processes while dealing with the set of potential system deadlocks.
High-Performance Computing and Its Requirements in Deep Learning
Published in Sanjay Saxena, Sudip Paul, High-Performance Medical Image Processing, 2022
Biswajit Jena, Gopal Krishna Nayak, Sanjay Saxena
Deadlock and race conditions are the main concern for the kind of program under the shared memory concept [15, 16]. Deadlock is a situation where the two more processes cannot progress further as they are in turn waiting for some other processes to finish, which in turn are again waiting for some other processes to finish and so on. Furthermore, the race condition is a situation where two or more processes try to access and modify the same data almost simultaneously. The final results might not be the desired results in this case. However, multi-core processors support shared memory concepts with languages and libraries like OpenMP.
Dynamic Budget-Total Need Based Resource Reservation Technique
Published in Smart Science, 2020
Madhavi Devi Botlagunta, Smriti Agrawal, R. Rajeshwara Rao
Resource sharing creates contention among the processes demanding it leading to chaos in the system. Thus, a resource manager is needed to streamline the resource allocation and save the system from the deadlock. One class of the deadlock management techniques is Deadlock Avoidance, which performs a test to ensure that any deadlock is avoided in the future based on the knowledge of the resource requirement of the processes in the system. However, the requisite knowledge of the resource requirement is a serious limitation. Further, the test performed for deadlock avoidance is also a major overhead. An existing Total Need-based Resource Reservation Technique for Deadlock Avoidance (TNRR) suggests reserving a pool of resources for avoiding deadlock. They show a considerable reduction in the overhead by eliminating the need for testing to ensure deadlock avoidance. However, they need prior knowledge of the resource required to estimate the resources in the reservation pool.
Modelling of flexible manufacturing system: a review
Published in International Journal of Production Research, 2018
Deadlock is a condition in which parts keep on waiting for other parts to vacate the resources. Such state is undesirable in any system. Viswanadham, Narahari, and Johnson (1990) for the prevention and avoidance of deadlocks in FMS used PN model. Generic PN model based on on-line controller was employed for implementing the process of deadlock prevention. The model was capable of predicting the future evolution for making appropriate resource allocation decision. Also, reachability graph of the PN model used static resource allocation policies for preventing the occurrence of deadlock. At last, it was concluded that for a small-sized system exhaustive path analysis of reachability graph of PN model was beneficial. Lei et al. (2014) minimised system makespan by giving deadlock-free scheduling algorithm that was embedded in heuristic search algorithm. PN model reachability graph was employed for scheduling process and heuristic function for searching process, also one step look-ahead method checked the safety of the state formed.
Polynomial-complexity supervisory control for flexible assembly systems based on Petri nets
Published in International Journal of Computer Integrated Manufacturing, 2018
Hao Yue, Hesuan Hu, Weimin Wu, Hongye Su, Jihui Zhang
Deadlock handling strategies are often classified as prevention, avoidance and detection and recovery. By imposing constraints on a system’s evolution, deadlock prevention tries to control the request for resources so as to prevent the occurrence of deadlocks. In deadlock avoidance, a resource allocation is granted only if it results in a safe state. Note that the safeness of a state implies at least one execution sequence leading all processes to run to completion. The optimal or maximally permissive control policy will permit a system event to occur if and only if the resulting state is safe. Generally speaking, prevention utilises an offline computational mechanism, while avoidance approaches are online ones. The third kind of strategies periodically detect whether there exists a deadlock; then the system is made recover from any detected deadlock by aborting one or more victim processes. The implementation of detection and recovery usually needs human operators and, thus, is expensive. For example, there are deadlock prevention approaches based on siphons of Petri-net model (Hou et al. 2014; Li, Li, and Hu 2011; Piroddi, Cordone, and Fumagalli 2009; Wang, Wu, and Yang 2015), optimal policies (Cordone et al. 2013; Nazeem and Reveliotis 2015) and robust supervisory controllers for deadlock avoidance (Chew, Wang, and Lawley 2011).