Linked List Exclusion: An Approach to Critical Section Mutual Exclusion Using Single Index Process Queues Karl A. Morris Florida International University 09/16/09 Abstract The current methods utilized in implementing mutual exclusion on critical sections require excessive communication overhead via broadcasting to processes when seeking access to a critical section, or confirming that the process is not in use by the responding process. Additionally, current implementations utilize queues of N length to track access requests for the critical section. We propose an algorithm that utilizes a queue of length 1 to realize sequential process access to a critical section by dynamically building a linked list, where effective pointers are built by queuing the request of a single subsequent process. The reduction in queue size will not only reduce the amount of storage required per process for implementing mutual exclusion, but will also aid in realizing faster hand over between processes by reducing the overall communication time between subsequent processes in the sequence.
Linked List Exclusion: An Approach to Critical Section Mutual Exclusion Using Single Index Process Queues
Page 2
Introduction An increasingly non-trivial amount of time is spent during message passing between processes. This problem is exacerbated when broadcasting and queuing is utilized to achieve a particular outcome such as Critical Section Mutual Exclusion. A simpler mechanism could increase the efficiency of the necessary interprocess communication by reducing the size of the queues and utilizing a mechanism of direct communication when possible. The Approach To access a critical section, a process (P1) broadcasts to all running processes (Pn). Once received, Pn responds iff they do not have a pending request and have not already queued a request. Pn queues a request iff they have a pending request and have not already queued a request. A process maintains its Request logical timestamp for fault tolerance purposes which will be detailed later on. P1 may accesses the critical section when it receives N-1 responses. It is queued when it receives N-2 responses. Upon exiting the critical section a process responds to the process request it has stored in its queue and clears the queue.
Table 1.Process request and response
Time/Process
P1
P2
P3
P4
P5
t1
req
ok
ok
ok
ok
t2
queue
req
ok
ok
ok
t3
ok
queue
req
ok
ok
t4
ok
ok
queue
req
ok
t5
ok
ok
ok
queue
req
The results of this are illustrated in Figure 1. Each process is able to queue the request of the most recent request following its own. A logical linked list results where processes are released using a Fist In First Out method. All new requests will be queued by the process with the preceding request.
Linked List Exclusion: An Approach to Critical Section Mutual Exclusion Using Single Index Process Queues
Page 3
Figure 1. Process message queuing Mitigating Deadlock Deadlock may occur if a process blindly queued the first request received subsequent to its own request. A simple example of deadlock is if two processes both submit a request at relatively the same time. This may result in each process queuing its sister process's request, thereby eliminating the possibility of receiving a response. To correct this issue we implement a Lamport logical clock to ascertain the timing of each event. When process P2 receives a request from process P1 that is older than the its own pending request, it does not queue the request, but instead respond to P1. P1, upon receiving P2's request, which is older, queues the request as normal and continues to wait for responses from all remaining processes.
Fault Tolerance The death of a process would result in a deadlock situation where all subsequent processes would become zombies. To correct this problem we will implement a previsioning mechanism to remove the dead process reference from the queue. When a process dies, all remaining processes broadcast the time of their last request (P1.req). Each process then listens for incoming messages from the remaining processes (Pn.req). When a process receives its first response, it compares it to its own request time.
If P1.req > P2.req P1.res(P2) else P1.enqueue(P2.req)
This continues until it finds a message which is after its own and that message is queued. After its first queued message, it compares all subsequent messages both to its own request time and the request time it has queued as depicted below.
Linked List Exclusion: An Approach to Critical Section Mutual Exclusion Using Single Index Process Queues
Page 4
If P1.req > Pn.req P1.res(Pn) else If P1.queue() < Pn.req P1.res(Pn) else P1.queue() > Pn.req P1.res(P1.dequeue) P1.enqueue(Pn.req)
This continues until each process receives at least N-2 responses. The process that receives N-1 responses is first in the linked list and may access the critical section. Processes that did not have pending requests at the time of the election would submit a sentinel value such as '0' or '-1' to indicate this. Receiving processes would ignore these values, but increment their internal counters to ensure they inevitably record N-1 responses.
Acknowledgements We would like to thank Yali Wu and Juan Carlos Martinez for their invaluable contribution to the modeling and testing of the Linked List Exclusion algorithm.
Linked List Exclusion: An Approach to Critical Section Mutual Exclusion Using Single Index Process Queues
Page 5
References
1. Lamport, L.: Time, clocks, and the ordering of events in a distribution system. Communications of the ACM, Volume 21, Issue 7, ISSN:0001-0782, 1978
Linked List Exclusion: An Approach to Critical Section ...
Florida International University. 09/16/09. Abstract. The current methods utilized in implementing mutual exclusion on critical sections require excessive.
Jun 6, 2016 - transformations on the data g ⦠(y, x)=(y + Dg, x) , where g ... Fig S2: Critical Value Function (intercept and time trend). (a) Ï = 0.95. (b) Ï = â0.95.
Jun 6, 2016 - this graph with Figure 1, it is evident that both bootstrap methods and subsampling have null rejection probabilities farther away from the 10% ...
Page 1 of 1. EXCLUSION TO LISTING. (Date). (Listing Agency) (Agency ID). (Address). (City). In connection with Listing #. covering my property at. __,.
Jun 6, 2016 - Application to Persistent Time-Series. Marcelo J. ...... model. If the model has one lag, Hansen [9] suggests a âgridâ bootstrap which delivers. 15 ...
Oct 8, 2008 - Bayesian model along these lines. We will argue .... with a difference: one would expect the forces of learning, introspection and incentives to ...
models [11], and we show its application to the class of the critical height sandpile automata. The first step of the method is the identification of the parameters ...
Oct 8, 2008 - ¬I, investing here amounts to paying S dollars in exchange for improving ...... acterized by a stock of models, or analogies, who respond to strategic .... Why is this superior to other behavioral or ad hoc explanations that fit the.
unsupervised, it uses a graph data structure that relies on the structural redundancies ..... For example, âPros: battery, sound; Cons: hard disk, screenâ. Since we ...
Reproduced with permission of the copyright owner. Further reproduction prohibited without permission. An Interpersonal Neurobiology Approach to Psychotherapy. Daniel J Siegel. Psychiatric Annals; Apr 2006; 36, 4; Psychology Module pg. 248 ...
rest events occur annually in the United States.1 Despite widespread training ... achieve the highest likelihood of success, the emergency must be identified, and ...
emerging wireless technology that provides robustness, low power-consumption ..... operation flawless, we have three different options for prior link keys, like wise, .... Applications and the Internet Workshops (SAINT'03),. 2003. [6] Creighton T.
1 Centre for Medical Image Computing, University College London. 2 Wellcome Trust Centre ... College London. 3 Dementia Research Centre, Institute of Neurology, University College London. Abstract. Machine learning approaches have had some success in
Oct 12, 2012 - contract deterrence strategy is less costly for a duopoly: an entrant into a ...... but the rate of buyer turnover is too high to support collusion, ...
Recent changes to the New York State Education Law require that BMI and. weight status group be included as part of the student's school health examination. Every school district in the state is required to report information about student weight. st