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.

68KB Sizes 2 Downloads 162 Views

Recommend Documents

Supplement to “A Critical Value Function Approach, with an ...
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.

Supplement to “A Critical Value Function Approach, with an ...
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% ...

Gadchiroli Section List 2016.pdf
^v*. KUMARE CHARAN RAVNU 21 25 47 484. KUMOTI AJAY RATIRAM 23 18 28 855. MADAVI DANU DASRU 26 22 26 493. MADAVI KALIDAS MOTIRAM 28 ...

Exclusion to Listing.pdf
Page 1 of 1. EXCLUSION TO LISTING. (Date). (Listing Agency) (Agency ID). (Address). (City). In connection with Listing #. covering my property at. __,.

A Critical Value Function Approach, with an Application ...
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 ...

The Subjective Approach to Ambiguity: A Critical ... - Semantic Scholar
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 ...

Renormalization approach to the self-organized critical ...
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 ...

The Subjective Approach to Ambiguity: A Critical ... - Semantic Scholar
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.

DOWNLOAD An Interdisciplinary Approach to Early Childhood ...
Education and Care: Perspectives from Australia (Routledge Research in. Early Childhood Education) pdf by Susanne Garvis Full KINDLE ePub. Online.

Micropinion Generation: An Unsupervised Approach to ... - CiteSeerX
unsupervised, it uses a graph data structure that relies on the structural redundancies ..... For example, “Pros: battery, sound; Cons: hard disk, screen”. Since we ...

An Interpersonal Neurobiology Approach to ...
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 ...

An Institutionwide Approach to Redesigning Management of ...
rest events occur annually in the United States.1 Despite widespread training ... achieve the highest likelihood of success, the emergency must be identified, and ...

Section 0 Section 1 Section 2 Section 3 -
Bit 1 = 0, No optional section. Bit 1 = 1, Optional section follows. 00. Bits 2-8 ... Field. Units. Width. (bits). Scale Reference. Numeric value. Character value. End.

Linked Lists
while (ptr != NULL). { if (ptr->n == n). { return true;. } ptr = ptr->next;. } return false;. } Page 5. Insertion. 2. 3. 9 head. 1. Page 6. Insertion. 2. 3. 9 head. 1. Page 7 ...

section.
the​ ​centroidal​ ​axis​ ​parallel​ ​to​ ​axis​ ​1)MI​ ​about​ ​axiz​ ​passing​ ​through​ ​base​ ​2)MI​ ​about​ ​axis​ ​passing through​ ...

An Enhanced Approach to Providing Secure Point-to ...
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.

An oblique approach to prediction of conversion to ...
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

Collusion on Exclusion
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, ...

BMI exclusion form.pdf
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