Concurrent Computing - Coordinating Access To Resources

Coordinating Access To Resources

One of the major issues in concurrent computing is preventing concurrent processes from interfering with each other. For example, consider the following algorithm for making withdrawals from a checking account represented by the shared resource balance:

1 bool withdraw( int withdrawal ) 2 { 3 if ( balance >= withdrawal ) 4 { 5 balance -= withdrawal; 6 return true; 7 } 8 return false; 9 }

Suppose balance=500, and two concurrent threads make the calls withdraw(300) and withdraw(350). If line 3 in both operations executes before line 5 both operations will find that balance > withdrawal evaluates to true, and execution will proceed to subtracting the withdrawal amount. However, since both processes perform their withdrawals, the total amount withdrawn will end up being more than the original balance. These sorts of problems with shared resources require the use of concurrency control, or non-blocking algorithms.

Because concurrent systems rely on the use of shared resources (including communication media), concurrent computing in general requires the use of some form of arbiter somewhere in the implementation to mediate access to these resources.

Unfortunately, while many solutions exist to the problem of a conflict over one resource, many of those "solutions" have their own concurrency problems such as deadlock when more than one resource is involved.

Read more about this topic:  Concurrent Computing

Famous quotes containing the words access and/or resources:

    The nature of women’s oppression is unique: women are oppressed as women, regardless of class or race; some women have access to significant wealth, but that wealth does not signify power; women are to be found everywhere, but own or control no appreciable territory; women live with those who oppress them, sleep with them, have their children—we are tangled, hopelessly it seems, in the gut of the machinery and way of life which is ruinous to us.
    Andrea Dworkin (b. 1946)

    When we want culture more than potatoes, and illumination more than sugar-plums, then the great resources of a world are taxed and drawn out, and the result, or staple production, is, not slaves, nor operatives, but men,—those rare fruits called heroes, saints, poets, philosophers, and redeemers.
    Henry David Thoreau (1817–1862)