Thundering Herd Problem

The thundering herd problem occurs when a large number of processes waiting for an event are awoken when that event occurs, but only one process is able to proceed at a time. After the processes wake up, they all demand the resource and a decision must be made as to which process can continue. After the decision is made, the remaining processes are put back to sleep, only to all wake up again to request access to the resource.

This occurs repeatedly, until there are no more processes to be woken up. Because all the processes use system resources upon waking, it is more efficient if only one process was woken up at a time.

This may render the computer unusable, but it can also be used as a technique if there is no other way to decide which process should continue (for example when programming with semaphores).

Though the phrase is mostly used in computer science, it could be an abstraction of the observation seen when cattle are released from a shed or when wildebeest are crossing the Mara River. In both instances, the movement is suboptimal.

Famous quotes containing the words thundering, herd and/or problem:

    The thundering line of battle stands,
    And in the air Death moans and sings:
    But Day shall clasp him with strong hands,
    And Night shall fold him in soft wings.
    Julian Grenfell (1888–1915)

    [T]he Congregational minister in a neighboring town definitely stated that ‘the same spirit which drove the herd of swine into the sea drove the Baptists into the water, and that they were hurried along by the devil until the rite was performed.’
    —For the State of Vermont, U.S. public relief program (1935-1943)

    The general public is easy. You don’t have to answer to anyone; and as long as you follow the rules of your profession, you needn’t worry about the consequences. But the problem with the powerful and rich is that when they are sick, they really want their doctors to cure them.
    Molière [Jean Baptiste Poquelin] (1622–1673)