{"status":"ok","message-type":"work","message-version":"1.0.0","message":{"indexed":{"date-parts":[[2025,7,20]],"date-time":"2025-07-20T03:51:44Z","timestamp":1752983504396,"version":"3.41.0"},"publisher-location":"New York, NY, USA","reference-count":68,"publisher":"ACM","license":[{"start":{"date-parts":[[2019,10,27]],"date-time":"2019-10-27T00:00:00Z","timestamp":1572134400000},"content-version":"vor","delay-in-days":0,"URL":"https:\/\/www.acm.org\/publications\/policies\/copyright_policy#Background"}],"funder":[{"DOI":"10.13039\/100000001","name":"NSF","doi-asserted-by":"publisher","award":["CNS-1651570"],"award-info":[{"award-number":["CNS-1651570"]}],"id":[{"id":"10.13039\/100000001","id-type":"DOI","asserted-by":"publisher"}]}],"content-domain":{"domain":["dl.acm.org"],"crossmark-restriction":true},"short-container-title":[],"published-print":{"date-parts":[[2019,10,27]]},"DOI":"10.1145\/3341301.3359652","type":"proceedings-article","created":{"date-parts":[[2019,10,21]],"date-time":"2019-10-21T13:34:22Z","timestamp":1571664862000},"page":"291-305","update-policy":"https:\/\/doi.org\/10.1145\/crossmark-policy","source":"Crossref","is-referenced-by-count":14,"title":["Optimizing data-intensive computations in existing libraries with split annotations"],"prefix":"10.1145","author":[{"given":"Shoumik","family":"Palkar","sequence":"first","affiliation":[{"name":"Stanford University"}]},{"given":"Matei","family":"Zaharia","sequence":"additional","affiliation":[{"name":"Stanford University"}]}],"member":"320","published-online":{"date-parts":[[2019,10,27]]},"reference":[{"key":"e_1_3_2_1_1_1","unstructured":"2013. Black Scholes Formula. http:\/\/gosmej1977.blogspot.com\/2013\/02\/black-and-scholes-formula.html.  2013. Black Scholes Formula. http:\/\/gosmej1977.blogspot.com\/2013\/02\/black-and-scholes-formula.html."},{"key":"e_1_3_2_1_2_1","unstructured":"2014. Spark Partitioner. https:\/\/spark.apache.org\/docs\/2.2.0\/api\/java\/org\/apache\/spark\/Partitioner.html.  2014. Spark Partitioner. https:\/\/spark.apache.org\/docs\/2.2.0\/api\/java\/org\/apache\/spark\/Partitioner.html."},{"key":"e_1_3_2_1_3_1","unstructured":"2017. XLA: TensorFlow Compiled! (TensorFlow Dev Summit 2017). https:\/\/www.youtube.com\/watch?v=kAOanJczHA0&feature=youtu.be&t=41m46s.  2017. XLA: TensorFlow Compiled! (TensorFlow Dev Summit 2017). https:\/\/www.youtube.com\/watch?v=kAOanJczHA0&feature=youtu.be&t=41m46s."},{"key":"e_1_3_2_1_4_1","unstructured":"2018. Dask. https:\/\/dask.pydata.org.  2018. Dask. https:\/\/dask.pydata.org."},{"key":"e_1_3_2_1_5_1","unstructured":"2018. Intel Math Kernel Library. https:\/\/software.intel.com\/en-us\/mkl.  2018. Intel Math Kernel Library. https:\/\/software.intel.com\/en-us\/mkl."},{"key":"e_1_3_2_1_6_1","unstructured":"2018. Numba. https:\/\/numba.pydata.org.  2018. Numba. https:\/\/numba.pydata.org."},{"key":"e_1_3_2_1_7_1","unstructured":"2018. TensorFlow XLA. https:\/\/www.tensorflow.org\/performance\/xla\/.  2018. TensorFlow XLA. https:\/\/www.tensorflow.org\/performance\/xla\/."},{"key":"e_1_3_2_1_8_1","unstructured":"2018. TensorFlow XLA JIT. https:\/\/www.tensorflow.org\/performance\/xla\/jit.  2018. TensorFlow XLA JIT. https:\/\/www.tensorflow.org\/performance\/xla\/jit."},{"key":"e_1_3_2_1_9_1","unstructured":"2019. 311 Service Requests Dataset. https:\/\/github.com\/jvns\/pandas-cookbook\/blob\/master\/data\/311-service-requests.csv.  2019. 311 Service Requests Dataset. https:\/\/github.com\/jvns\/pandas-cookbook\/blob\/master\/data\/311-service-requests.csv."},{"key":"e_1_3_2_1_10_1","unstructured":"2019. Adding a New Op. https:\/\/www.tensorflow.org\/guide\/extend\/op.  2019. Adding a New Op. https:\/\/www.tensorflow.org\/guide\/extend\/op."},{"key":"e_1_3_2_1_11_1","unstructured":"2019. A Beginner's Guide to Optimizing Pandas Code for Speed. goo.gl\/dqwmrG.  2019. A Beginner's Guide to Optimizing Pandas Code for Speed. goo.gl\/dqwmrG."},{"key":"e_1_3_2_1_12_1","unstructured":"2019. Dependent Type. https:\/\/en.wikipedia.org\/wiki\/Dependent_type.  2019. Dependent Type. https:\/\/en.wikipedia.org\/wiki\/Dependent_type."},{"key":"e_1_3_2_1_13_1","unstructured":"2019. Gotham. https:\/\/github.com\/acoomans\/instagram-filters\/tree\/master\/instagram_filters\/filters\/gotham.py.  2019. Gotham. https:\/\/github.com\/acoomans\/instagram-filters\/tree\/master\/instagram_filters\/filters\/gotham.py."},{"key":"e_1_3_2_1_14_1","unstructured":"2019. How to optimize GEMM on CPU. https:\/\/docs.tvm.ai\/tutorials\/optimize\/opt_gemm.html.  2019. How to optimize GEMM on CPU. https:\/\/docs.tvm.ai\/tutorials\/optimize\/opt_gemm.html."},{"key":"e_1_3_2_1_15_1","unstructured":"2019. ImageMagick. https:\/\/imagemagick.org\/.  2019. ImageMagick. https:\/\/imagemagick.org\/."},{"key":"e_1_3_2_1_16_1","unstructured":"2019. instagram-filters. https:\/\/github.com\/acoomans\/instagram-filters\/tree\/master\/instagram_filters\/filters.  2019. instagram-filters. https:\/\/github.com\/acoomans\/instagram-filters\/tree\/master\/instagram_filters\/filters."},{"key":"e_1_3_2_1_17_1","unstructured":"2019. Intel MKL-DNN. https:\/\/intel.github.io\/mkl-dnn\/.  2019. Intel MKL-DNN. https:\/\/intel.github.io\/mkl-dnn\/."},{"key":"e_1_3_2_1_18_1","unstructured":"2019. Matrix Multplication is 3X Slower than OpenBLAS. https:\/\/github.com\/halide\/Halide\/issues\/3499.  2019. Matrix Multplication is 3X Slower than OpenBLAS. https:\/\/github.com\/halide\/Halide\/issues\/3499."},{"key":"e_1_3_2_1_19_1","unstructured":"2019. Nashville. https:\/\/github.com\/acoomans\/instagram-filters\/tree\/master\/instagram_filters\/filters\/nashville.py.  2019. Nashville. https:\/\/github.com\/acoomans\/instagram-filters\/tree\/master\/instagram_filters\/filters\/nashville.py."},{"key":"e_1_3_2_1_20_1","unstructured":"2019. NumPy. http:\/\/www.numpy.org\/.  2019. NumPy. http:\/\/www.numpy.org\/."},{"key":"e_1_3_2_1_21_1","unstructured":"2019. Pandas Cookbook chapter 7: cleaning up messy data. https:\/\/github.com\/jvns\/pandas-cookbook\/.  2019. Pandas Cookbook chapter 7: cleaning up messy data. https:\/\/github.com\/jvns\/pandas-cookbook\/."},{"key":"e_1_3_2_1_22_1","unstructured":"2019. PyTorch. http:\/\/pytorch.org.  2019. PyTorch. http:\/\/pytorch.org."},{"key":"e_1_3_2_1_23_1","unstructured":"2019. ShallowWater. https:\/\/github.com\/mrocklin\/ShallowWater\/.  2019. ShallowWater. https:\/\/github.com\/mrocklin\/ShallowWater\/."},{"key":"e_1_3_2_1_24_1","unstructured":"2019. spaCy. https:\/\/spacy.io\/.  2019. spaCy. https:\/\/spacy.io\/."},{"key":"e_1_3_2_1_25_1","unstructured":"2019. Typescript. https:\/\/www.typescriptlang.org\/.  2019. Typescript. https:\/\/www.typescriptlang.org\/."},{"key":"e_1_3_2_1_26_1","unstructured":"2019. Typescript Decorators. https:\/\/www.typescriptlang.org\/docs\/handbook\/decorators.html\/.  2019. Typescript Decorators. https:\/\/www.typescriptlang.org\/docs\/handbook\/decorators.html\/."},{"key":"e_1_3_2_1_27_1","first-page":"265","article-title":"TensorFlow: A System for Large-Scale Machine Learning","volume":"16","author":"Barham Mart\u00edn","year":"2016","journal-title":"OSDI"},{"key":"e_1_3_2_1_28_1","doi-asserted-by":"publisher","DOI":"10.1145\/165180.165188"},{"key":"e_1_3_2_1_29_1","doi-asserted-by":"publisher","DOI":"10.1145\/1988042.1988044"},{"key":"e_1_3_2_1_30_1","doi-asserted-by":"publisher","DOI":"10.1006\/jpdc.1996.0107"},{"key":"e_1_3_2_1_31_1","first-page":"225","article-title":"MonetDB\/X100: Hyper-Pipelining Query Execution","volume":"5","author":"Boncz Peter A","year":"2005","journal-title":"CIDR"},{"key":"e_1_3_2_1_32_1","doi-asserted-by":"publisher","DOI":"10.1145\/1941553.1941561"},{"key":"e_1_3_2_1_33_1","doi-asserted-by":"publisher","DOI":"10.1145\/1248648.1248652"},{"volume-title":"13th USENIX Symposium on Operating Systems Design and Implementation (OSDI '18)","year":"2018","author":"Chen Tianqi","key":"e_1_3_2_1_34_1"},{"volume-title":"Tupleware: Big Data, Big Analytics, Small Clusters. In CIDR.","year":"2015","author":"Crotty Andrew","key":"e_1_3_2_1_35_1"},{"key":"e_1_3_2_1_36_1","unstructured":"Scott Cyphers Arjun K Bansal Anahita Bhiwandiwalla Jayaram Bobba Matthew Brookhart Avijit Chakraborty Will Constable Christian Convey Leona Cook and Omar Kanawi. 2018. Intel nGraph. https:\/\/ai.intel.com\/intel-ngraph\/.  Scott Cyphers Arjun K Bansal Anahita Bhiwandiwalla Jayaram Bobba Matthew Brookhart Avijit Chakraborty Will Constable Christian Convey Leona Cook and Omar Kanawi. 2018. Intel nGraph. https:\/\/ai.intel.com\/intel-ngraph\/."},{"key":"e_1_3_2_1_37_1","doi-asserted-by":"crossref","unstructured":"Leonardo Dagum and Ramesh Menon. 1998. OpenMP: an industry standard API for shared-memory programming. IEEE computational science and engineering 5 1 (1998) 46--55.  Leonardo Dagum and Ramesh Menon. 1998. OpenMP: an industry standard API for shared-memory programming. IEEE computational science and engineering 5 1 (1998) 46--55.","DOI":"10.1109\/99.660313"},{"key":"e_1_3_2_1_38_1","unstructured":"dphaskell 2018. Data Parallel Haskell. https:\/\/wiki.haskell.org\/GHC\/Data_Parallel_Haskell.  dphaskell 2018. Data Parallel Haskell. https:\/\/wiki.haskell.org\/GHC\/Data_Parallel_Haskell."},{"key":"e_1_3_2_1_39_1","doi-asserted-by":"crossref","unstructured":"Mary F Fernandez. 1995. Simple and effective link-time optimization of Modula-3 programs. Vol. 30. ACM.  Mary F Fernandez. 1995. Simple and effective link-time optimization of Modula-3 programs. Vol. 30. ACM.","DOI":"10.1145\/207110.207121"},{"key":"e_1_3_2_1_40_1","doi-asserted-by":"publisher","DOI":"10.1007\/b136772"},{"key":"e_1_3_2_1_41_1","volume-title":"Proceedings of the First International Workshop on Polyhedral Compilation Techniques (IMPACT)","volume":"2011","author":"Grosser Tobias","year":"2011"},{"key":"e_1_3_2_1_42_1","unstructured":"Ga\u00ebl Guennebaud Beno\u00eet Jacob etal 2010. Eigen v3. http:\/\/eigen.tuxfamily.org.  Ga\u00ebl Guennebaud Beno\u00eet Jacob et al. 2010. Eigen v3. http:\/\/eigen.tuxfamily.org."},{"key":"e_1_3_2_1_43_1","first-page":"19","article-title":"The Movielens Datasets: History and context","volume":"5","author":"Maxwell Harper F","year":"2016","journal-title":"ACM Transactions on Interactive Intelligent Systems (TiiS)"},{"volume-title":"Computer Architecture, 1996 23rd Annual International Symposium on. IEEE, 78--78","year":"1996","author":"Goodman A","key":"e_1_3_2_1_44_1"},{"key":"e_1_3_2_1_45_1","doi-asserted-by":"publisher","DOI":"10.1145\/2775052.2661094"},{"key":"e_1_3_2_1_46_1","doi-asserted-by":"publisher","DOI":"10.1109\/IPDPSW.2014.44"},{"key":"e_1_3_2_1_47_1","doi-asserted-by":"publisher","DOI":"10.1145\/2882903.2882925"},{"key":"e_1_3_2_1_48_1","doi-asserted-by":"publisher","DOI":"10.1109\/MM.2011.68"},{"key":"e_1_3_2_1_49_1","unstructured":"Wayne Liu. 2014. Python and Pandas Part 4: More Baby Names. http:\/\/beyondvalence.blogspot.com\/2014\/09\/python-and-pandas-part-4-more-baby-names.html.  Wayne Liu. 2014. Python and Pandas Part 4: More Baby Names. http:\/\/beyondvalence.blogspot.com\/2014\/09\/python-and-pandas-part-4-more-baby-names.html."},{"key":"e_1_3_2_1_50_1","doi-asserted-by":"publisher","DOI":"10.5555\/2002472.2002491"},{"key":"e_1_3_2_1_51_1","unstructured":"John D. McCalpin. 1995. Memory Bandwidth and Machine Balance in Current High Performance Computers. IEEE Computer Society Technical Committee on Computer Architecture (TCCA) Newsletter (Dec. 1995) 19--25.  John D. McCalpin. 1995. Memory Bandwidth and Machine Balance in Current High Performance Computers. IEEE Computer Society Technical Committee on Computer Architecture (TCCA) Newsletter (Dec. 1995) 19--25."},{"key":"e_1_3_2_1_52_1","doi-asserted-by":"publisher","DOI":"10.25080\/Majora-92bf1922-00a"},{"volume-title":"Pydron: Semi-Automatic Parallelization for Multi-Core and the Cloud.. In OSDI. 645--659.","year":"2014","author":"M\u00fcller Stefan C","key":"e_1_3_2_1_53_1"},{"key":"e_1_3_2_1_54_1","unstructured":"Robert Nishihara Philipp Moritz Stephanie Wang Alexey Tumanov William Paul Johann Schleier-Smith Richard Liaw Michael I. Jordan and Ion Stoica. 2017. Real-Time Machine Learning: The Missing Pieces. CoRR abs\/1703.03924 (2017). arXiv:1703.03924 http:\/\/arxiv.org\/abs\/1703.03924  Robert Nishihara Philipp Moritz Stephanie Wang Alexey Tumanov William Paul Johann Schleier-Smith Richard Liaw Michael I. Jordan and Ion Stoica. 2017. Real-Time Machine Learning: The Missing Pieces. CoRR abs\/1703.03924 (2017). arXiv:1703.03924 http:\/\/arxiv.org\/abs\/1703.03924"},{"key":"e_1_3_2_1_55_1","doi-asserted-by":"publisher","DOI":"10.14778\/3213880.3213890"},{"volume-title":"Weld: A Common Runtime for High Performance Data Analytics. In Conference on Innovative Data Systems Research (CIDR).","year":"2017","author":"Palkar Shoumik","key":"e_1_3_2_1_56_1"},{"volume-title":"Weld: Rethinking the Interface Between Data-Intensive Applications. CoRR abs\/1709.06416","year":"2017","author":"Palkar Shoumik","key":"e_1_3_2_1_57_1"},{"key":"e_1_3_2_1_58_1","doi-asserted-by":"publisher","DOI":"10.1145\/345099.345100"},{"key":"e_1_3_2_1_59_1","unstructured":"pkeys 2019. pkeys. http:\/\/man7.org\/linux\/man-pages\/man7\/pkeys.7.html.  pkeys 2019. pkeys. http:\/\/man7.org\/linux\/man-pages\/man7\/pkeys.7.html."},{"key":"e_1_3_2_1_60_1","doi-asserted-by":"publisher","DOI":"10.1007\/978-3-642-23397-5_14"},{"key":"e_1_3_2_1_61_1","doi-asserted-by":"publisher","DOI":"10.1145\/2499370.2462176"},{"key":"e_1_3_2_1_62_1","unstructured":"James Reinders. 2007. Intel threading building blocks: outfitting C++ for multi-core processor parallelism. O'Reilly Media Inc.  James Reinders. 2007. Intel threading building blocks: outfitting C ++ for multi-core processor parallelism. O'Reilly Media Inc."},{"volume-title":"Proceedings of the 14th Python in Science Conference. Citeseer.","year":"2015","key":"e_1_3_2_1_63_1"},{"volume-title":"Proceedings of the 28th International Conference on Machine Learning (ICML-11)","year":"2011","author":"Sujeeth Arvind","key":"e_1_3_2_1_64_1"},{"key":"e_1_3_2_1_65_1","doi-asserted-by":"publisher","DOI":"10.1145\/2584665"},{"key":"e_1_3_2_1_66_1","doi-asserted-by":"publisher","DOI":"10.1145\/216585.216588"},{"key":"e_1_3_2_1_67_1","first-page":"1","article-title":"DryadLINQ: A System for General-Purpose Distributed Data-Parallel Computing Using a High-Level Language","volume":"8","author":"Yu Yuan","year":"2008","journal-title":"OSDI"},{"volume-title":"Data Engineering (ICDE), 2012 IEEE 28th International Conference on. IEEE, 1349--1350","author":"Zukowski Marcin","key":"e_1_3_2_1_68_1"}],"event":{"name":"SOSP '19: ACM SIGOPS 27th Symposium on Operating Systems Principles","sponsor":["SIGOPS ACM Special Interest Group on Operating Systems","USENIX Assoc USENIX Assoc"],"location":"Huntsville Ontario Canada","acronym":"SOSP '19"},"container-title":["Proceedings of the 27th ACM Symposium on Operating Systems Principles"],"original-title":[],"link":[{"URL":"https:\/\/dl.acm.org\/doi\/10.1145\/3341301.3359652","content-type":"unspecified","content-version":"vor","intended-application":"text-mining"},{"URL":"https:\/\/dl.acm.org\/doi\/pdf\/10.1145\/3341301.3359652","content-type":"application\/pdf","content-version":"vor","intended-application":"syndication"},{"URL":"https:\/\/dl.acm.org\/doi\/pdf\/10.1145\/3341301.3359652","content-type":"unspecified","content-version":"vor","intended-application":"similarity-checking"}],"deposited":{"date-parts":[[2025,6,17]],"date-time":"2025-06-17T23:12:56Z","timestamp":1750201976000},"score":1,"resource":{"primary":{"URL":"https:\/\/dl.acm.org\/doi\/10.1145\/3341301.3359652"}},"subtitle":[],"short-title":[],"issued":{"date-parts":[[2019,10,27]]},"references-count":68,"alternative-id":["10.1145\/3341301.3359652","10.1145\/3341301"],"URL":"https:\/\/doi.org\/10.1145\/3341301.3359652","relation":{},"subject":[],"published":{"date-parts":[[2019,10,27]]},"assertion":[{"value":"2019-10-27","order":2,"name":"published","label":"Published","group":{"name":"publication_history","label":"Publication History"}}]}}