{"status":"ok","message-type":"work","message-version":"1.0.0","message":{"indexed":{"date-parts":[[2026,3,13]],"date-time":"2026-03-13T08:56:32Z","timestamp":1773392192449,"version":"3.50.1"},"reference-count":40,"publisher":"Springer Science and Business Media LLC","issue":"4","license":[{"start":{"date-parts":[[2018,12,14]],"date-time":"2018-12-14T00:00:00Z","timestamp":1544745600000},"content-version":"tdm","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":[[2019,8]]},"DOI":"10.1007\/s00778-018-0533-6","type":"journal-article","created":{"date-parts":[[2018,12,14]],"date-time":"2018-12-14T12:11:37Z","timestamp":1544789497000},"page":"451-471","update-policy":"https:\/\/doi.org\/10.1007\/springer_crossmark_policy","source":"Crossref","is-referenced-by-count":13,"title":["Interleaving with coroutines: a systematic and practical approach to hide memory latency in index joins"],"prefix":"10.1007","volume":"28","author":[{"ORCID":"https:\/\/orcid.org\/0000-0003-4173-2059","authenticated-orcid":false,"given":"Georgios","family":"Psaropoulos","sequence":"first","affiliation":[],"role":[{"role":"author","vocabulary":"crossref"}]},{"given":"Thomas","family":"Legler","sequence":"additional","affiliation":[],"role":[{"role":"author","vocabulary":"crossref"}]},{"given":"Norman","family":"May","sequence":"additional","affiliation":[],"role":[{"role":"author","vocabulary":"crossref"}]},{"given":"Anastasia","family":"Ailamaki","sequence":"additional","affiliation":[],"role":[{"role":"author","vocabulary":"crossref"}]}],"member":"297","published-online":{"date-parts":[[2018,12,14]]},"reference":[{"key":"533_CR1","doi-asserted-by":"crossref","unstructured":"Laudon, J., Gupta, A., Horowitz, M.: Interleaving: A multithreading technique targeting multiprocessors and workstations. In: Proceedings of the Sixth International Conference on Architectural Support for Programming Languages and Operating Systems, ASPLOS VI, pp. 308\u2013318. ACM, New York, NY, USA (1994)","DOI":"10.1145\/195473.195576"},{"key":"533_CR2","doi-asserted-by":"crossref","unstructured":"Mowry, T.C., Lam, M.S., Gupta, A.: Design and evaluation of a compiler algorithm for prefetching. In: Proceedings of the fifth international conference on architectural support for programming languages and operating systems, ASPLOS V, pp. 62\u201373. ACM, New York, NY, USA (1992)","DOI":"10.1145\/143365.143488"},{"issue":"3","key":"533_CR3","doi-asserted-by":"publisher","first-page":"1","DOI":"10.1145\/1272743.1272747","volume":"32","author":"S Chen","year":"2007","unstructured":"Chen, S., Ailamaki, A., Gibbons, P.B., Mowry, T.C.: Improving hash join performance through prefetching. ACM Trans. Database Syst. 32(3), 1\u201332 (2007)","journal-title":"ACM Trans. Database Syst."},{"issue":"4","key":"533_CR4","first-page":"252","volume":"9","author":"O Kocberber","year":"2015","unstructured":"Kocberber, O., Falsafi, B., Grot, B.: Asynchronous memory access chaining. PVLDB 9(4), 252\u2013263 (2015)","journal-title":"PVLDB"},{"issue":"1","key":"533_CR5","first-page":"28","volume":"35","author":"F F\u00e4rber","year":"2012","unstructured":"F\u00e4rber, F., May, N., Lehner, W., Gro\u00dfe, P., M\u00fcller, I., Rauhe, H., Dees, J.: The SAP HANA database: an architecture overview. IEEE Data Eng. Bull. 35(1), 28\u201333 (2012)","journal-title":"IEEE Data Eng. Bull."},{"key":"533_CR6","unstructured":"Programming Languages \u2013 C++ Extensions for Coroutines. Proposed Draft Technical Specification ISO\/IEC DTS 22277 (E). \n                    http:\/\/www.open-std.org\/jtc1\/sc22\/wg21\/docs\/papers\/2017\/n4680.pdf\n                    \n                  . Accessed 16 May 2018"},{"issue":"2","key":"533_CR7","doi-asserted-by":"publisher","first-page":"230","DOI":"10.14778\/3149193.3149202","volume":"11","author":"G Psaropoulos","year":"2017","unstructured":"Psaropoulos, G., Legler, T., May, N., Ailamaki, A.: Interleaving with coroutines: a practical approach for robust index joins. Proc. VLDB Endow. 11(2), 230\u2013242 (2017)","journal-title":"Proc. VLDB Endow."},{"key":"533_CR8","doi-asserted-by":"crossref","unstructured":"Lang, H., M\u00fchlbauer, T., Funke, F., Boncz, P.A., Neumann, T., Kemper, A.: Data blocks: hybrid OLTP and OLAP on compressed storage using both vectorization and compilation. In: Proceedings of the 2016 International Conference on Management of Data, SIGMOD \u201916, pp. 311\u2013326. ACM, New York, NY, USA (2016)","DOI":"10.1145\/2882903.2882925"},{"key":"533_CR9","doi-asserted-by":"crossref","unstructured":"Larson, P.-A., Clinciu, C., Hanson, E.N., Oks, A., Price, S.L., Rangarajan, S., Surna, A., Zhou, Q.: Sql server column store indexes. In: Proceedings of the 2011 ACM SIGMOD International Conference on Management of Data, SIGMOD \u201911, pp. 1177\u20131184. ACM, New York, NY, USA (2011)","DOI":"10.1145\/1989323.1989448"},{"key":"533_CR10","doi-asserted-by":"crossref","unstructured":"Poess, M., Potapov, D.: Data compression in Oracle. In: Proceedings of VLDB, pp. 937\u2013947. (2003)","DOI":"10.1016\/B978-012722442-8\/50087-2"},{"issue":"11","key":"533_CR11","first-page":"1080","volume":"6","author":"V Raman","year":"2013","unstructured":"Raman, V., Attaluri, G., Barber, R., Chainani, N., Kalmuk, D., KulandaiSamy, V., Leenstra, J., Lightstone, S., Liu, S., Lohman, G.M., Malkemus, T., Mueller, R., Pandis, I., Schiefer, B., Sharpe, D., Sidle, R., Storm, A., Zhang, L.: DB2 with BLU Acceleration: so much more than just a column store. PVLDB 6(11), 1080\u20131091 (2013)","journal-title":"PVLDB"},{"key":"533_CR12","volume-title":"Advanced SQL 1999: Understanding Object-Relational, and Other Advanced Features","author":"J Melton","year":"2002","unstructured":"Melton, J.: Advanced SQL 1999: Understanding Object-Relational, and Other Advanced Features. Elsevier Science Inc., Amsterdam (2002)"},{"key":"533_CR13","unstructured":"Colgan, M.: Oracle database in-memory. Technical report, Oracle Corporation, 2015. \n                    http:\/\/www.oracle.com\/technetwork\/database\/in-memory\/overview\/twp-oracle-database-in-memory-2245633.pdf\n                    \n                  . Accessed 16 May 2018"},{"issue":"1","key":"533_CR14","first-page":"40","volume":"35","author":"S Idreos","year":"2012","unstructured":"Idreos, S., Groffen, F., Nes, N., Manegold, S., Mullender, S., Kersten, M.: MonetDB: two decades of research in column-oriented database architectures. IEEE Data Eng. Bull. 35(1), 40\u201345 (2012)","journal-title":"IEEE Data Eng. Bull."},{"key":"533_CR15","doi-asserted-by":"crossref","unstructured":"Kemper, A., Neumann, T.: HyPer: a hybrid OLTP&OLAP main memory database system based on virtual memory snapshots. In: Proceedings of ICDE, pp. 195\u2013206, (2011)","DOI":"10.1109\/ICDE.2011.5767867"},{"key":"533_CR16","doi-asserted-by":"crossref","unstructured":"Larson, P.-A., Clinciu, C., Fraser, C., Hanson, E.N., Mokhtar, M., Nowakiewicz, M., Papadimos, V., Price, S.L., Rangarajan, S., Rusanu, R., Saubhasik, M.: Enhancements to SQL Server column stores. In: Proceedings of the 2013 ACM SIGMOD International Conference on Management of Data, SIGMOD \u201913, pp. 1159\u20131168. ACM, New York, NY, USA (2013)","DOI":"10.1145\/2463676.2463708"},{"key":"533_CR17","unstructured":"Boncz, P.A., Manegold, S., Kersten, M.L.: Database architecture optimized for the new bottleneck: Memory access. In: Proceedings of the 25th international conference on very large data bases, VLDB \u201999, pp. 54\u201365. Morgan Kaufmann Publishers Inc., San Francisco, CA, USA. (1999)"},{"key":"533_CR18","unstructured":"M\u00fcller, I., Ratsch, C., F\u00e4rber, F.: Adaptive string dictionary compression in in-memory column-store database systems. In: Proceedings of EDBT, pp. 283\u2013294, (2014)"},{"key":"533_CR19","doi-asserted-by":"crossref","unstructured":"Rao, J., Ross, K.A.: Making B+-trees cache conscious in main memory. In: Proceedings of ACM SIGMOD, pp. 475\u2013486. (2000)","DOI":"10.1145\/335191.335449"},{"key":"533_CR20","unstructured":"Transaction Processing Performance Council. TPC-DS Benchmark Version 2.3.0. \n                    http:\/\/www.tpc.org\/tpcds\/\n                    \n                  . Accessed 14 August 2017"},{"key":"533_CR21","unstructured":"Intel Corporation. Intel\u00ae 64 and IA-32 Architectures Optimization Reference Manual, (2016)"},{"key":"533_CR22","unstructured":"Kocberber, O., Grot, B., Picorel, J., Falsafi, B., Lim, K., Ranganathan, P.: Meet the walkers: accelerating index traversals for in-memory databases. In: Proceedings of the 46th annual IEEE\/ACM international symposium on microarchitecture, MICRO-46, pp. 468\u2013479. ACM, New York, (2013)"},{"key":"533_CR23","unstructured":"Neumann, T.: Trying to Speed Up Binary Search, 2015. \n                    http:\/\/databasearchitects.blogspot.ch\/2015\/09\/trying-to-speed-up-binary-search.html\n                    \n                  . Accessed 16 May 2018"},{"key":"533_CR24","doi-asserted-by":"crossref","unstructured":"Lam, M.D., Rothberg, E.E., Wolf, M.E.: The cache performance and optimizations of blocked algorithms. In: Proceedings of the ASPLOS (1991)","DOI":"10.1145\/106972.106981"},{"key":"533_CR25","doi-asserted-by":"crossref","unstructured":"Kim, C., Chhugani, J., Satish, N., Sedlar, E., Nguyen, A.D., Kaldewey, T., Lee, V.W., Brandt, S.A., Dubey, P.: FAST: fast architecture sensitive tree search on modern CPUs and GPUs. In: Proceedings of SIGMOD, pp. 339\u2013350, (2010)","DOI":"10.1145\/1807167.1807206"},{"key":"533_CR26","doi-asserted-by":"crossref","unstructured":"Zhou, J., Ross, K.A.: Buffering accesses to memory-resident index structures. In: Proceedings of VLDB, pp. 405\u2013416. (2003)","DOI":"10.1016\/B978-012722442-8\/50043-4"},{"key":"533_CR27","unstructured":"Zhou, J., Cieslewicz, J., Ross, K.A., Shah, M.: Improving database performance on simultaneous multithreading processors. In: Proceedings of VLDB, pp. 49\u201360. (2005)"},{"issue":"2","key":"533_CR28","doi-asserted-by":"publisher","first-page":"6:1","DOI":"10.1145\/1462166.1462167","volume":"31","author":"A\u00a0L\u00a0D Moura","year":"2009","unstructured":"Moura, A\u00a0.L\u00a0.D., Ierusalimschy, R.: Revisiting coroutines. ACM Trans. Program. Lang. Syst., 31(2), 6:1\u20136:31 (2009)","journal-title":"ACM Trans. Program. Lang. Syst.,"},{"issue":"7","key":"533_CR29","doi-asserted-by":"publisher","first-page":"396","DOI":"10.1145\/366663.366704","volume":"6","author":"ME Conway","year":"1963","unstructured":"Conway, M.E.: Design of a separable transition-diagram compiler. Commun. ACM 6(7), 396\u2013408 (1963)","journal-title":"Commun. ACM"},{"key":"533_CR30","unstructured":"C# Reference. \n                    https:\/\/docs.microsoft.com\/en-us\/dotnet\/csharp\/language-reference\/keywords\/yield\n                    \n                  . Accessed 16 May 2018"},{"key":"533_CR31","unstructured":"Generators. Python Wiki. \n                    https:\/\/wiki.python.org\/moin\/Generators\n                    \n                  . Accessed 16 May 2018"},{"key":"533_CR32","volume-title":"Windows Internals, Part 1: Covering Windows Server 2008 R2 and Windows 7","author":"ME Russinovich","year":"2012","unstructured":"Russinovich, M.E., Solomon, D.A., Ionescu, A.: Windows Internals, Part 1: Covering Windows Server 2008 R2 and Windows 7, 6th edn. Microsoft Press, USA (2012)","edition":"6"},{"key":"533_CR33","volume-title":"The Linux Programming Interface: A Linux and UNIX System Programming Handbook","author":"M Kerrisk","year":"2010","unstructured":"Kerrisk, M.: The Linux Programming Interface: A Linux and UNIX System Programming Handbook, 1st edn. No Starch Press, San Francisco (2010)","edition":"1"},{"key":"533_CR34","unstructured":"RethinkDB Team. Improving a large C++ project with coroutines, 2010. \n                    https:\/\/www.rethinkdb.com\/blog\/improving-a-large-c-project-with-coroutines\/\n                    \n                  . Accessed 16 May 2018"},{"key":"533_CR35","volume-title":"The Scheme Programming Language","author":"R\u00a0K Dybvig","year":"2009","unstructured":"Dybvig, R\u00a0.K.: The Scheme Programming Language, 4th edn. The MIT Press, Cambridge (2009)","edition":"4"},{"key":"533_CR36","unstructured":"Kowalke, O., Goodspeed, N.: Call\/cc (call-with-current-continuation): a low-level api for stackful context switching. \n                    http:\/\/www.open-std.org\/jtc1\/sc22\/wg21\/docs\/papers\/2017\/p0534r3.pdf\n                    \n                  . Accessed 16 May 2018"},{"key":"533_CR37","unstructured":"Marusarz, J.: Understanding how general exploration works in Intel\u00aeVTune\u2122Amplifier XE, 2015. \n                    https:\/\/software.intel.com\/en-us\/articles\/understanding-how-general-exploration-works-in-intel-vtune-amplifier-xe\n                    \n                  . Accessed 16 May 2018"},{"issue":"4","key":"533_CR38","doi-asserted-by":"publisher","first-page":"308","DOI":"10.1109\/TSE.1976.233837","volume":"2","author":"TJ McCabe","year":"1976","unstructured":"McCabe, T.J.: A complexity measure. IEEE Trans. Softw. Eng. 2(4), 308\u2013320 (1976)","journal-title":"IEEE Trans. Softw. Eng."},{"issue":"11","key":"533_CR39","first-page":"1702","volume":"11","author":"C Jonathan","year":"2018","unstructured":"Jonathan, C., Minhas, U.F., Hunter, J., Levandoski, J., Nishanov, G.: Exploiting coroutines to attack the \u201ckiller nanoseconds\u201d. PVLDB 11(11), 1702\u20131714 (2018)","journal-title":"PVLDB"},{"key":"533_CR40","doi-asserted-by":"crossref","unstructured":"Kiriansky, V., Xu, H., Rinard, M., Amarasinghe, S.: Cimple: instruction and memory level parallelism. ArXiv e-prints, (2018)","DOI":"10.1145\/3243176.3243185"}],"container-title":["The VLDB Journal"],"original-title":[],"language":"en","link":[{"URL":"http:\/\/link.springer.com\/content\/pdf\/10.1007\/s00778-018-0533-6.pdf","content-type":"application\/pdf","content-version":"vor","intended-application":"text-mining"},{"URL":"http:\/\/link.springer.com\/article\/10.1007\/s00778-018-0533-6\/fulltext.html","content-type":"text\/html","content-version":"vor","intended-application":"text-mining"},{"URL":"http:\/\/link.springer.com\/content\/pdf\/10.1007\/s00778-018-0533-6.pdf","content-type":"application\/pdf","content-version":"vor","intended-application":"similarity-checking"}],"deposited":{"date-parts":[[2019,12,13]],"date-time":"2019-12-13T19:12:35Z","timestamp":1576264355000},"score":1,"resource":{"primary":{"URL":"http:\/\/link.springer.com\/10.1007\/s00778-018-0533-6"}},"subtitle":[],"short-title":[],"issued":{"date-parts":[[2018,12,14]]},"references-count":40,"journal-issue":{"issue":"4","published-print":{"date-parts":[[2019,8]]}},"alternative-id":["533"],"URL":"https:\/\/doi.org\/10.1007\/s00778-018-0533-6","relation":{},"ISSN":["1066-8888","0949-877X"],"issn-type":[{"value":"1066-8888","type":"print"},{"value":"0949-877X","type":"electronic"}],"subject":[],"published":{"date-parts":[[2018,12,14]]},"assertion":[{"value":"20 May 2018","order":1,"name":"received","label":"Received","group":{"name":"ArticleHistory","label":"Article History"}},{"value":"11 October 2018","order":2,"name":"revised","label":"Revised","group":{"name":"ArticleHistory","label":"Article History"}},{"value":"5 December 2018","order":3,"name":"accepted","label":"Accepted","group":{"name":"ArticleHistory","label":"Article History"}},{"value":"14 December 2018","order":4,"name":"first_online","label":"First Online","group":{"name":"ArticleHistory","label":"Article History"}}]}}