首页> 外文期刊>Foundations and trends in theoretical computer science >Hashing, Load Balancing and Multiple Choice
【24h】

Hashing, Load Balancing and Multiple Choice

机译:Hashing, Load Balancing and Multiple Choice

获取原文
       

摘要

Many tasks in computer systems could be abstracted as distributingitems into buckets, so that the allocation of items across buckets is asbalanced as possible, and furthermore, given an item’s identifier it ispossible to determine quickly to which bucket it was assigned. A canonicalexample is a dictionary data structure, where ‘items’ stands forkey-value pairs and ‘buckets’ for memory locations. Another exampleis a distributed key-value store, where the buckets represent locationsin disk or even whole servers. A third example may be a distributedexecution engine where items represent processes and buckets computedevices, and so on. A common technique in this domain is the use ofa hash-function that maps an item into a relatively short fixed lengthstring. The hash function is then used in some way to associate theitem to its bucket. The use of a hash function is typically the first stepin the solution and additional algorithmic ideas are required to dealwith collisions and the imbalance of hash values. In this monograph wesurvey some of these techniques. We focus on multiple choice schemeswhere items are placed into buckets via the use of several independenthash functions, and typically an item is placed at the least loadedbucket at the time of placement. We analyze the distributions obtainedin detail, and show how these ideas could be used to design basic datastructures. With respect to data structures we focus on dictionaries,presenting linear probing, cuckoo hashing and many of their variants.

著录项

获取原文

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号