• DocumentCode
    413053
  • Title

    Almost wait-free resizable hashtables

  • Author

    Gao, H. ; Groote, J.F. ; Hesselink, H.W.

  • Author_Institution
    Dept. of Comput. Sci., Groningen Univ., Netherlands
  • fYear
    2004
  • fDate
    26-30 April 2004
  • Firstpage
    50
  • Abstract
    Summary form only given. In multiprogrammed systems, synchronization often turns out to be a performance bottleneck and the source of poor fault-tolerance. Wait-free and lock-free algorithms can do without locking mechanisms, and therefore do not suffer from these problems. We present an efficient almost wait-free algorithm for parallel accessible hashtables, which promises more robust performance and reliability than conventional lock-based implementations. Our solution is as efficient as sequential hashtables. It can easily be implemented using C-like languages and requires on average only constant time for insertion, deletion or accessing of elements. The algorithm allows the hashtables to grow and shrink when needed. A true problem of wait-free and lock-free algorithms is that they are hard to design correctly, even when apparently straightforward. The reason for this is that processes can execute all statements in every conceivable order. Since our algorithm is quite large and rather complex, we turned to the interactive theorem prover PVS to prove safety of our algorithm, which we could not have done reliably by hand. To our knowledge no algorithms of comparable complexity have ever been mechanically verified. Wait-freedom is shown informally.
  • Keywords
    computational complexity; file organisation; multiprocessing programs; parallel processing; performance evaluation; theorem proving; C-like languages; PVS interactive theorem prover; fault-tolerance; lock-free algorithms; multiprogrammed systems; parallel accessible hashtables; performance bottleneck; sequential hashtables; synchronization; wait-free algorithms; wait-free resizable hashtables; wait-freedom; Algorithm design and analysis; Data structures; Delay; Distributed processing; Fault tolerant systems; Memory management; Parallel algorithms; Reliability theory; Robustness; Safety;
  • fLanguage
    English
  • Publisher
    ieee
  • Conference_Titel
    Parallel and Distributed Processing Symposium, 2004. Proceedings. 18th International
  • Print_ISBN
    0-7695-2132-0
  • Type

    conf

  • DOI
    10.1109/IPDPS.2004.1302969
  • Filename
    1302969