{"status":"ok","message-type":"work","message-version":"1.0.0","message":{"indexed":{"date-parts":[[2025,8,22]],"date-time":"2025-08-22T04:57:00Z","timestamp":1755838620778,"version":"3.37.3"},"reference-count":59,"publisher":"Springer Science and Business Media LLC","issue":"5","license":[{"start":{"date-parts":[[2017,8,21]],"date-time":"2017-08-21T00:00:00Z","timestamp":1503273600000},"content-version":"unspecified","delay-in-days":0,"URL":"http:\/\/www.springer.com\/tdm"}],"content-domain":{"domain":["link.springer.com"],"crossmark-restriction":false},"short-container-title":["The VLDB Journal"],"published-print":{"date-parts":[[2017,10]]},"DOI":"10.1007\/s00778-017-0479-0","type":"journal-article","created":{"date-parts":[[2017,8,21]],"date-time":"2017-08-21T03:50:36Z","timestamp":1503287436000},"page":"729-750","update-policy":"https:\/\/doi.org\/10.1007\/springer_crossmark_policy","source":"Crossref","is-referenced-by-count":7,"title":["A distributed in-memory key-value store system on heterogeneous CPU\u2013GPU cluster"],"prefix":"10.1007","volume":"26","author":[{"ORCID":"https:\/\/orcid.org\/0000-0001-7518-5466","authenticated-orcid":false,"given":"Kai","family":"Zhang","sequence":"first","affiliation":[]},{"given":"Kaibo","family":"Wang","sequence":"additional","affiliation":[]},{"given":"Yuan","family":"Yuan","sequence":"additional","affiliation":[]},{"given":"Lei","family":"Guo","sequence":"additional","affiliation":[]},{"given":"Rubao","family":"Li","sequence":"additional","affiliation":[]},{"given":"Xiaodong","family":"Zhang","sequence":"additional","affiliation":[]},{"given":"Bingsheng","family":"He","sequence":"additional","affiliation":[]},{"given":"Jiayu","family":"Hu","sequence":"additional","affiliation":[]},{"given":"Bei","family":"Hua","sequence":"additional","affiliation":[]}],"member":"297","published-online":{"date-parts":[[2017,8,21]]},"reference":[{"key":"479_CR1","unstructured":"CPU Frequency Scaling. https:\/\/wiki.archlinux.org\/index.php\/CPU_frequency_scaling\/"},{"key":"479_CR2","unstructured":"Intel dpdk. http:\/\/dpdk.org\/"},{"key":"479_CR3","unstructured":"Memcached. http:\/\/memcached.org\/"},{"key":"479_CR4","unstructured":"Nvidia management library. https:\/\/developer.nvidia.com\/nvidia-management-library-nvml\/"},{"key":"479_CR5","unstructured":"Redis. http:\/\/redis.io\/"},{"key":"479_CR6","doi-asserted-by":"crossref","unstructured":"Andersen, D.G., Franklin, J., Kaminsky, M., Phanishayee, A., Tan, L., Vasudevan, V.: Fawn: a fast array of wimpy nodes. In: SOSP, pp. 1\u201314 (2009)","DOI":"10.1145\/1629575.1629577"},{"key":"479_CR7","doi-asserted-by":"crossref","unstructured":"Atikoglu, B., Xu, Y., Frachtenberg, E., Jiang, S., Paleczny, M.: Workload analysis of a large-scale key-value store. In: SIGMETRICS, pp. 53\u201364 (2012)","DOI":"10.1145\/2254756.2254766"},{"key":"479_CR8","doi-asserted-by":"crossref","unstructured":"Berezecki, M., Frachtenberg, E., Paleczny, M., Steele, K.: Many-core key-value store. In: IGCC, pp. 1\u20138 (2011)","DOI":"10.1109\/IGCC.2011.6008565"},{"key":"479_CR9","doi-asserted-by":"crossref","unstructured":"Chalamalasetti, S.R., Lim, K., Wright, M., AuYoung, A., Ranganathan, P., Margala, M.: An FPGA memcached appliance. In: FPGA, pp. 245\u2013254 (2013)","DOI":"10.1145\/2435264.2435306"},{"key":"479_CR10","doi-asserted-by":"crossref","unstructured":"Cooper, B.F., Silberstein, A., Tam, E., Ramakrishnan, R., Sears, R.: Benchmarking cloud serving systems with YCSB. In: SoCC, pp. 143\u2013154 (2010)","DOI":"10.1145\/1807128.1807152"},{"key":"479_CR11","volume-title":"Introduction to Algorithm","author":"TH Cormen","year":"2009","unstructured":"Cormen, T.H., Leiserson, C.E., Rivest, R.L., Stein, C.: Introduction to Algorithm, 3rd edn. The MIT Press, Cambridge (2009)","edition":"3"},{"key":"479_CR12","unstructured":"Erlingsson, \u00da., Manasse, M., McSherry, F.: A cool and practical alternative to traditional hash tables. In: WDAS, pp. 1\u20136 (2006)"},{"issue":"4","key":"479_CR13","doi-asserted-by":"crossref","first-page":"25","DOI":"10.1145\/2377677.2377681","volume":"42","author":"R Escriva","year":"2012","unstructured":"Escriva, R., Wong, B., Sirer, E.G.: Hyperdex: a distributed, searchable key-value store. ACM SIGCOMM Comput. Commun. Rev. 42(4), 25\u201336 (2012)","journal-title":"ACM SIGCOMM Comput. Commun. Rev."},{"key":"479_CR14","unstructured":"Fan, B., Andersen, D.G., Kaminsky, M.: Memc3: Compact and concurrent memcache with dumber caching and smarter hashing. In: NSDI, pp. 371\u2013384 (2013)"},{"key":"479_CR15","doi-asserted-by":"crossref","unstructured":"Ferdman, M., Adileh, A., Kocberber, O., Volos, S., Alisafaee, M., Jevdjic, D., Kaynak, C., Popescu, A., Ailamaki, A., Falsafi, B.: A case for specialized processors for scale-out workloads. In: Micro, pp. 31\u201342 (2014)","DOI":"10.1109\/MM.2014.41"},{"key":"479_CR16","unstructured":"Geambasu, R., Levy, A.A., Kohno, T., Krishnamurthy, A., Levy, H.M.: Comet: an active distributed key-value store. In: OSDI (2010)"},{"key":"479_CR17","doi-asserted-by":"crossref","unstructured":"Gray, J., Sundaresan, P., Englert, S., Baclawski, K., Weinberger, P.J.: Quickly generating billion-record synthetic databases. In: SIGMOD, pp. 243\u2013252 (1994)","DOI":"10.1145\/191839.191886"},{"key":"479_CR18","doi-asserted-by":"crossref","unstructured":"Gutierrez, A., Cieslak, M., Giridhar, B., Dreslinski, R.G., Ceze, L., Mudge, T.: Integrated 3d-stacked server designs for increasing physical density of key-value stores. In: ASPLOS, pp. 485\u2013498 (2014)","DOI":"10.1145\/2541940.2541951"},{"key":"479_CR19","doi-asserted-by":"crossref","unstructured":"Han, S., Jang, K., Park, K., Moon, S.: Packetshader: A GPU-accelerated software router. In: SIGCOMM, pp. 195\u2013206 (2010)","DOI":"10.1145\/1851275.1851207"},{"key":"479_CR20","doi-asserted-by":"crossref","unstructured":"He, B., Yang, K., Fang, R., Lu, M., Govindaraju, N., Luo, Q., Sander, P.: Relational joins on graphics processors. In: SIGMOD, pp. 511\u2013524 (2008)","DOI":"10.1145\/1376616.1376670"},{"key":"479_CR21","doi-asserted-by":"crossref","unstructured":"He, B., Yu, J.X.: High-throughput transaction executions on graphics processors. In: PVLDB (2011)","DOI":"10.14778\/1952376.1952381"},{"key":"479_CR22","doi-asserted-by":"crossref","unstructured":"Heimel, M., Saecker, M., Pirk, H., Manegold, S., Markl, V.: Hardware-oblivious parallelism for in-memory column-stores. In: PVLDB, pp. 709\u2013720 (2013)","DOI":"10.14778\/2536360.2536370"},{"key":"479_CR23","doi-asserted-by":"crossref","unstructured":"Hetherington, T., Rogers, T., Hsu, L., O\u2019Connor, M., Aamodt, T.: Characterizing and evaluating a key-value store application on heterogeneous CPU-GPU systems. In: ISPASS, pp. 88\u201398 (2012)","DOI":"10.1109\/ISPASS.2012.6189209"},{"key":"479_CR24","doi-asserted-by":"crossref","unstructured":"Hetherington, T.H., O\u2019Connor, M., Aamodt, T.M.: Memcachedgpu: Scaling-up scale-out key-value stores. In: SoCC, pp. 43\u201357 (2015)","DOI":"10.1145\/2806777.2806836"},{"issue":"3","key":"479_CR25","doi-asserted-by":"crossref","first-page":"280","DOI":"10.1145\/1816038.1815998","volume":"38","author":"S Hong","year":"2010","unstructured":"Hong, S., Kim, H.: An integrated GPU power and performance model. ACM SIGARCH Comput. Archit. News 38(3), 280\u2013289 (2010)","journal-title":"ACM SIGARCH Comput. Archit. News"},{"key":"479_CR26","unstructured":"Jeong, E.Y., Woo, S., Jamshed, M., Jeong, H., Ihm, S., Han, D., Park, K.: mTCP: A highly scalable user-level tcp stack for multicore systems. In: NSDI (2014)"},{"key":"479_CR27","doi-asserted-by":"crossref","unstructured":"Kaldewey, T., Lohman, G., Mueller, R., Volk, P.: GPU join processing revisited. In: DaMoN, pp. 55\u201362 (2012)","DOI":"10.1145\/2236584.2236592"},{"key":"479_CR28","doi-asserted-by":"crossref","unstructured":"Kapoor, R., Porter, G., Tewari, M., Voelker, G.M., Vahdat, A.: Chronos: predictable low latency for data center applications. In: SoCC, pp. 9:1\u20139:14 (2012)","DOI":"10.1145\/2391229.2391238"},{"key":"479_CR29","doi-asserted-by":"crossref","unstructured":"Karger, D., Lehman, E., Leighton, T., Panigrahy, R., Levine, M., Lewin, D.: Consistent hashing and random trees: distributed caching protocols for relieving hot spots on the world wide web. In: STOC, pp. 654\u2013663 (1997)","DOI":"10.1145\/258533.258660"},{"issue":"2","key":"479_CR30","doi-asserted-by":"crossref","first-page":"57","DOI":"10.1109\/L-CA.2013.17","volume":"13","author":"M Lavasani","year":"2013","unstructured":"Lavasani, M., Angepat, H., Chiou, D.: An fpga-based in-line accelerator for memcached. Comput. Archit. Lett. 13(2), 57\u201360 (2013)","journal-title":"Comput. Archit. Lett."},{"key":"479_CR31","doi-asserted-by":"crossref","unstructured":"Lee, J., Sathisha, V., Schulte, M., Compton, K., Kim, N. S.: Improving throughput of power-constrained GPUs using dynamic voltage\/frequency and core scaling. In: 2011 International Conference on Parallel Architectures and Compilation Techniques. Galveston, TX, pp. 111\u2013120 (2011)","DOI":"10.1109\/PACT.2011.17"},{"issue":"3","key":"479_CR32","doi-asserted-by":"crossref","first-page":"487","DOI":"10.1145\/2508148.2485964","volume":"41","author":"J Leng","year":"2013","unstructured":"Leng, J., Hetherington, T., Eltantawy, A., Gilani, S., Kim, N.S., Aamodt, T.M., Reddi, V.J.: GPUWattch: enabling energy optimizations in GPGPUs. ACM SIGARCH Comput. Archit. News 41(3), 487\u2013498 (2013)","journal-title":"ACM SIGARCH Comput. Archit. News"},{"key":"479_CR33","unstructured":"Leng, T., Ali, R., Hsieh, J., Mashayekhi, V., Rooholamini, R.: An empirical study of hyper-threading in high performance computing clusters. Linux HPC Revolution (2002)"},{"key":"479_CR34","doi-asserted-by":"crossref","unstructured":"Li, C., Cox, A.L.: Gd-wheel: A cost-aware replacement policy for key-value stores. In: Proceedings of the Tenth European Conference on Computer Systems, EuroSys (2015)","DOI":"10.1145\/2741948.2741956"},{"key":"479_CR35","doi-asserted-by":"crossref","unstructured":"Li, S., Lim, H., Lee, V.W., Ahn, J.H., Kalia, A., Kaminsky, M., Andersen, D.G., Seongil, O., Lee, S., Dubey, P.: Architecting to achieve a billion requests per second throughput on a single key-value store server platform. In: ISCA, pp. 476\u2013488 (2015)","DOI":"10.1145\/2749469.2750416"},{"key":"479_CR36","unstructured":"Lim, H., Han, D., Andersen, D.G., Kaminsky, M.: Mica: A holistic approach to fast in-memory key-value storage. In: NSDI, pp. 429\u2013444 (2014)"},{"key":"479_CR37","doi-asserted-by":"crossref","first-page":"36","DOI":"10.1145\/2508148.2485926","volume":"41","author":"K Lim","year":"2013","unstructured":"Lim, K., Meisner, D., Saidi, A.G., Ranganathan, P., Wenisch, T.F.: Thin servers with smart pipes: designing soc accelerators for memcached. SIGARCH Comput. Archit. News 41, 36\u201347 (2013)","journal-title":"SIGARCH Comput. Archit. News"},{"key":"479_CR38","doi-asserted-by":"crossref","unstructured":"Ma, K., Li, X., Chen W., Zhang, C., Wang, X.: Green GPU: a holistic approach to energy efficiency in GPU-CPU heterogeneous architectures. In: 2012 41st International Conference on Parallel Processing. Pittsburgh, PA, pp. 48\u201357 (2012)","DOI":"10.1109\/ICPP.2012.31"},{"key":"479_CR39","doi-asserted-by":"crossref","unstructured":"Mao, Y., Kohler, E., Morris, R.T.: Cache craftiness for fast multicore key-value storage. In: EuroSys, pp. 183\u2013196 (2012)","DOI":"10.1145\/2168836.2168855"},{"key":"479_CR40","doi-asserted-by":"crossref","unstructured":"Metreveli, Z., Zeldovich, N., Kaashoek, M.F.: Cphash: A cache-partitioned hash table. In: PPoPP, pp. 319\u2013320 (2012)","DOI":"10.1145\/2145816.2145874"},{"key":"479_CR41","unstructured":"Mitchell, C., Geng, Y., Li, J.: Using one-sided rdma reads to build a fast, CPU-efficient key-value store. In: USENIX ATC, pp. 103\u2013114 (2013)"},{"key":"479_CR42","unstructured":"Nishtala, R., Fugal, H., Grimm, S., Kwiatkowski, M., Lee, H., Li, H.C., McElroy, R., Paleczny, M., Peek, D., Saab, P., Stafford, D., Tung, T., Venkataramani, V.: Scaling memcache at facebook. In: NSDI, pp. 385\u2013398 (2013)"},{"key":"479_CR43","doi-asserted-by":"crossref","first-page":"92","DOI":"10.1145\/1713254.1713276","volume":"43","author":"J Ousterhout","year":"2010","unstructured":"Ousterhout, J., Agrawal, P., Erickson, D., Kozyrakis, C., Leverich, J., Mazi\u00e8res, D., Mitra, S., Narayanan, A., Parulkar, G., Rosenblum, M., Rumble, S.M., Stratmann, E., Stutsman, R.: The case for ramclouds: scalable high-performance storage entirely in dram. SIGOPS Oper. Syst. Rev. 43, 92\u2013105 (2010)","journal-title":"SIGOPS Oper. Syst. Rev."},{"issue":"2","key":"479_CR44","doi-asserted-by":"crossref","first-page":"122","DOI":"10.1016\/j.jalgor.2003.12.002","volume":"51","author":"R Pagh","year":"2003","unstructured":"Pagh, R., Rodler, F.F.: Cuckoo hashing. J. Algorithms 51(2), 122\u2013144 (2003)","journal-title":"J. Algorithms"},{"key":"479_CR45","doi-asserted-by":"crossref","unstructured":"Paul, J., He, J., He, B.: GPL: A GPU-based pipelined query processing engine. In: SIGMOD, pp. 1935\u20131950 (2016)","DOI":"10.1145\/2882903.2915224"},{"key":"479_CR46","doi-asserted-by":"crossref","unstructured":"Pirk, H., Manegold, S., Kersten, M.: Waste not... efficient co-processing of relational data. In: ICDE, pp. 508\u2013519 (2014)","DOI":"10.1109\/ICDE.2014.6816677"},{"issue":"4","key":"479_CR47","doi-asserted-by":"crossref","first-page":"185","DOI":"10.1007\/s00450-015-0300-5","volume":"31","author":"DC Price","year":"2016","unstructured":"Price, D.C., Clark, M.A., Barsdell, B.R., Babich, R., Greenhill, L.J.: Optimizing performance-per-watt on GPUs in high performance computing. Comput. Sci. Res. Dev. 31(4), 185\u2013193 (2016)","journal-title":"Comput. Sci. Res. Dev."},{"key":"479_CR48","doi-asserted-by":"crossref","unstructured":"Richter, S., Alvarez, V., Dittrich, J.: A seven-dimensional analysis of hashing methods and its implications on query processing. In: VLDB, pp. 96\u2013107 (2015)","DOI":"10.14778\/2850583.2850585"},{"key":"479_CR49","doi-asserted-by":"crossref","unstructured":"Ryoo, S., Rodrigues, C.I., Baghsorkhi, S.S., Stone, S.S., Kirk, D.B., Hwu, W.M.W.: Optimization principles and application performance evaluation of a multithreaded GPU using cuda. In: PPoPP, pp. 73\u201382 (2008)","DOI":"10.1145\/1345206.1345220"},{"key":"479_CR50","doi-asserted-by":"crossref","unstructured":"Tu, S., Zheng, W., Kohler, E., Liskov, B., Madden, S.: Speedy transactions in multicore in-memory databases. In: SOSP (2013)","DOI":"10.1145\/2517349.2522713"},{"key":"479_CR51","doi-asserted-by":"crossref","unstructured":"Wang, K., Ding, X., Lee, R., Kato, S., Zhang, X.: Gdm: Device memory management for GPGPU computing. In: SIGMETRICS, pp. 533\u2013545 (2014)","DOI":"10.1145\/2591971.2592002"},{"key":"479_CR52","doi-asserted-by":"crossref","unstructured":"Wang, K., Zhang, K., Yuan, Y., Ma, S., Lee, R., Ding, X., Zhang, X.: Concurrent analytical query processing with GPUs. In: PVLDB, pp. 1011\u20131022 (2014)","DOI":"10.14778\/2732967.2732976"},{"key":"479_CR53","doi-asserted-by":"crossref","unstructured":"Wu, H., Diamos, G., Cadambi, S., Yalamanchili, S.: Kernel weaver: Automatically fusing database primitives for efficient GPU computation. In: MICRO, pp. 107\u2013118 (2012)","DOI":"10.1109\/MICRO.2012.19"},{"key":"479_CR54","doi-asserted-by":"crossref","unstructured":"Yuan, Y., Lee, R., Zhang, X.: The yin and yang of processing data warehousing queries on GPU devices. In: PVLDB, pp. 817\u2013828 (2013)","DOI":"10.14778\/2536206.2536210"},{"key":"479_CR55","first-page":"657","volume":"30","author":"K Zhang","year":"2015","unstructured":"Zhang, K., Chen, F., Ding, X., Huai, Y., Lee, R., Luo, T., Wang, K., Yuan, Y., Zhang, X.: Hetero-db: next generation high-performance database systems by best utilizing heterogeneous computing and storage resources. JCST 30, 657\u2013678 (2015)","journal-title":"JCST"},{"key":"479_CR56","doi-asserted-by":"crossref","unstructured":"Zhang, K., Hu, J., He, B., Hua, B.: Dido: Dynamic pipelines for in-memory key-value stores on coupled CPU-GPU architectures. In: ICDE, pp. 671\u2013682 (2017)","DOI":"10.1109\/ICDE.2017.120"},{"issue":"C","key":"479_CR57","first-page":"44","volume":"83","author":"K Zhang","year":"2015","unstructured":"Zhang, K., Hu, J., Hua, B.: A holistic approach to build real-time stream processing system with GPU. JPDC 83(C), 44\u201357 (2015)","journal-title":"JPDC"},{"key":"479_CR58","doi-asserted-by":"crossref","first-page":"1226","DOI":"10.14778\/2809974.2809984","volume":"8","author":"K Zhang","year":"2015","unstructured":"Zhang, K., Wang, K., Yuan, Y., Guo, L., Lee, R., Zhang, X.: Mega-kv: a case for GPUs to maximize the throughput of in-memory key-value stores. Proc. VLDB Endow. 8, 1226\u20131237 (2015)","journal-title":"Proc. VLDB Endow."},{"key":"479_CR59","doi-asserted-by":"crossref","unstructured":"Zhou, J., Ross, K.A.: Buffering accesses to memory-resident index structures. In: VLDB, pp. 405\u2013416 (2003)","DOI":"10.1016\/B978-012722442-8\/50043-4"}],"container-title":["The VLDB Journal"],"original-title":[],"language":"en","link":[{"URL":"http:\/\/link.springer.com\/article\/10.1007\/s00778-017-0479-0\/fulltext.html","content-type":"text\/html","content-version":"vor","intended-application":"text-mining"},{"URL":"http:\/\/link.springer.com\/content\/pdf\/10.1007\/s00778-017-0479-0.pdf","content-type":"application\/pdf","content-version":"vor","intended-application":"text-mining"},{"URL":"http:\/\/link.springer.com\/content\/pdf\/10.1007\/s00778-017-0479-0.pdf","content-type":"application\/pdf","content-version":"vor","intended-application":"similarity-checking"}],"deposited":{"date-parts":[[2019,10,2]],"date-time":"2019-10-02T12:26:02Z","timestamp":1570019162000},"score":1,"resource":{"primary":{"URL":"http:\/\/link.springer.com\/10.1007\/s00778-017-0479-0"}},"subtitle":[],"short-title":[],"issued":{"date-parts":[[2017,8,21]]},"references-count":59,"journal-issue":{"issue":"5","published-print":{"date-parts":[[2017,10]]}},"alternative-id":["479"],"URL":"https:\/\/doi.org\/10.1007\/s00778-017-0479-0","relation":{},"ISSN":["1066-8888","0949-877X"],"issn-type":[{"type":"print","value":"1066-8888"},{"type":"electronic","value":"0949-877X"}],"subject":[],"published":{"date-parts":[[2017,8,21]]}}}