Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                
skip to main content
10.1145/3484271.3484973acmconferencesArticle/Chapter ViewAbstractPublication PagessplashConference Proceedingsconference-collections
short-paper

Run-time data analysis in dynamic runtimes

Published: 17 October 2021 Publication History

Abstract

Databases are typically faster in processing huge amounts of data than applications with hand-coded data access. Even though modern dynamic runtimes optimize applications intensively, they cannot perform certain optimizations that are traditionally used by database systems as they lack the required information. Thus, we propose to extend the capabilities of dynamic runtimes to allow them to collect fine-grained information of the processed data at run time and use it to perform database-like optimizations. By doing so, we want to enable dynamic runtimes to significantly boost the performance of data-processing workloads. Ideally, applications should be as fast as databases in data-processing workloads. To show the feasibility of our approach, we are implementing it in a polyglot dynamic runtime.

References

[1]
Daniel Abadi, Samuel Madden, and Miguel Ferreira. 2006. Integrating Compression and Execution in Column-Oriented Database Systems. In Proceedings of the 2006 ACM SIGMOD International Conference on Management of Data (SIGMOD ’06). ACM, New York, NY, USA. 671–682. isbn:978-1-59593-434-5 https://doi.org/10.1145/1142473.1142548
[2]
Rafi Ahmed, Allison Lee, Andrew Witkowski, Dinesh Das, Hong Su, Mohamed Zait, and Thierry Cruanes. 2006. Cost-Based Query Transformation in Oracle. In Proceedings of the 32nd International Conference on Very Large Data Bases (VLDB ’06). VLDB Endowment, Seoul, Korea. 1026–1036.
[3]
Pohua P. Chang, Scott A. Mahlke, and Wen-Mei W. Hwu. 1991. Using Profile Information to Assist Classic Code Optimizations. Software: Practice and Experience, 21, 12 (1991), 1301–1321. issn:1097-024X https://doi.org/10.1002/spe.4380211204
[4]
Richard L. Cole and Goetz Graefe. 1994. Optimization of Dynamic Query Evaluation Plans. In Proceedings of the 1994 ACM SIGMOD International Conference on Management of Data (SIGMOD ’94). ACM, New York, NY, USA. 150–160. isbn:978-0-89791-639-4 https://doi.org/10.1145/191839.191872
[5]
Dinesh Das, Jiaqi Yan, Mohamed Zait, Satyanarayana R. Valluri, Nirav Vyas, Ramarajan Krishnamachari, Prashant Gaharwar, Jesse Kamp, and Niloy Mukherjee. 2015. Query Optimization in Oracle 12c Database In-Memory. Proc. VLDB Endow., 8, 12 (2015), Aug., 1770–1781. issn:2150-8097 https://doi.org/10.14778/2824032.2824074
[6]
Sudipto Das, Miroslav Grbic, Igor Ilic, Isidora Jovandic, Andrija Jovanovic, Vivek R. Narasayya, Miodrag Radulovic, Maja Stikic, Gaoxiang Xu, and Surajit Chaudhuri. 2019. Automatically Indexing Millions of Databases in Microsoft Azure SQL Database. In Proceedings of the 2019 International Conference on Management of Data (SIGMOD ’19). ACM, New York, NY, USA. 666–679. isbn:978-1-4503-5643-5 https://doi.org/10.1145/3299869.3314035
[7]
Chen Ding and Ken Kennedy. 1999. Improving Cache Performance in Dynamic Applications through Data and Computation Reorganization at Run Time. SIGPLAN Not., 34, 5 (1999), May, 229–241. issn:0362-1340 https://doi.org/10.1145/301631.301670
[8]
Amit Dwivedi, C. Lamba, and Shweta Shukla. 2012. Performance Analysis of Column Oriented Database Vs Row Oriented Database. International Journal of Computer Applications, 50 (2012), July, 31–34. https://doi.org/10.5120/7841-1050
[9]
Goetz Graefe and Harumi Kuno. 2010. Self-Selecting, Self-Tuning, Incrementally Optimized Indexes. In Proceedings of the 13th International Conference on Extending Database Technology (EDBT ’10). ACM, New York, NY, USA. 371–381. isbn:978-1-60558-945-9 https://doi.org/10.1145/1739041.1739087
[10]
Yannis E. Ioannidis, Raymond T. Ng, Kyuseok Shim, and Timos K. Sellis. 1997. Parametric Query Optimization. The VLDB Journal, 6, 2 (1997), May, 132–151. issn:0949-877X https://doi.org/10.1007/s007780050037
[11]
Matthias Jarke and Jurgen Koch. 1984. Query Optimization in Database Systems. ACM Comput. Surv., 16, 2 (1984), June, 111–152. issn:0360-0300 https://doi.org/10.1145/356924.356928
[12]
Tanvir Ahmed Khan, Ian Neal, Gilles Pokam, Barzan Mozafari, and Baris Kasikci. 2021. DMon: Efficient Detection and Correction of Data Locality Problems Using Selective Profiling. In 15th USENIX Symposium on Operating Systems Design and Implementation (OSDI 21). USENIX Association, 163–181. isbn:978-1-939133-22-9
[13]
David Leopoldseder, Lukas Stadler, Thomas Würthinger, Josef Eisl, Doug Simon, and Hanspeter Mössenböck. 2018. Dominance-Based Duplication Simulation (DBDS): Code Duplication to Enable Compiler Optimizations. In Proceedings of the 2018 International Symposium on Code Generation and Optimization - CGO 2018. ACM Press, Vienna, Austria. 126–137. isbn:978-1-4503-5617-6 https://doi.org/10.1145/3168811
[14]
Simone Ferlin Oliveira, Karl Fürlinger, and Dieter Kranzlmüller. 2012. Trends in Computation, Communication and Storage and the Consequences for Data-Intensive Science. In 2012 IEEE 14th International Conference on High Performance Computing and Communication 2012 IEEE 9th International Conference on Embedded Software and Systems. IEEE, Liverpool, UK. 572–579. https://doi.org/10.1109/HPCC.2012.83
[15]
Oracle. 2021. Graal.Js. Oracle.
[16]
Oracle. 2021. GraalPython. Oracle.
[17]
Oracle. 2021. GraalVM - Introduction to SimpleLanguage. https://www.graalvm.org/graalvm-as-a-platform/implement-language/.
[18]
Oracle. 2021. TruffleRuby. Oracle.
[19]
P. Griffiths Selinger, M. M. Astrahan, D. D. Chamberlin, R. A. Lorie, and T. G. Price. 1979. Access Path Selection in a Relational Database Management System. In Proceedings of the 1979 ACM SIGMOD International Conference on Management of Data (SIGMOD ’79). ACM, New York, NY, USA. 23–34. isbn:978-0-89791-001-9 https://doi.org/10.1145/582095.582099
[20]
Lukas Stadler, Thomas Würthinger, and Hanspeter Mössenböck. 2014. Partial Escape Analysis and Scalar Replacement for Java. In Proceedings of Annual IEEE/ACM International Symposium on Code Generation and Optimization (CGO ’14). ACM, Orlando, FL, USA. 165–174. isbn:978-1-4503-2670-4 https://doi.org/10.1145/2581122.2544157
[21]
Michelle Mills Strout, Larry Carter, and Jeanne Ferrante. 2003. Compile-Time Composition of Run-Time Data and Iteration Reorderings. In Proceedings of the ACM SIGPLAN 2003 Conference on Programming Language Design and Implementation (PLDI ’03). ACM, New York, NY, USA. 91–102. isbn:978-1-58113-662-3 https://doi.org/10.1145/781131.781142
[22]
Toshio Suganuma, Toshiaki Yasue, Motohiro Kawahito, Hideaki Komatsu, and Toshio Nakatani. 2001. A Dynamic Optimization Framework for a Java Just-in-Time Compiler. SIGPLAN Not., 36, 11 (2001), Oct., 180–195. issn:0362-1340 https://doi.org/10.1145/504311.504296
[23]
Christian Wimmer and Thomas Würthinger. 2012. Truffle: A Self-Optimizing Runtime System. In Proceedings of the 3rd Annual Conference on Systems, Programming, and Applications: Software for Humanity (SPLASH ’12). ACM, Tucson, Arizona, USA. 13–14. isbn:978-1-4503-1563-0 https://doi.org/10.1145/2384716.2384723
[24]
Andreas Wöß, Christian Wirth, Daniele Bonetta, Chris Seaton, Christian Humer, and Hanspeter Mössenböck. 2014. An Object Storage Model for the Truffle Language Implementation Framework. In Proceedings of the 2014 International Conference on Principles and Practices of Programming on the Java Platform Virtual Machines, Languages, and Tools - PPPJ ’14. ACM Press, Cracow, Poland. 133–144. isbn:978-1-4503-2926-2 https://doi.org/10.1145/2647508.2647517
[25]
Thomas Würthinger, Christian Wimmer, Andreas Wöß, Lukas Stadler, Gilles Duboscq, Christian Humer, Gregor Richards, Doug Simon, and Mario Wolczko. 2013. One VM to Rule Them All. In Proceedings of the 2013 ACM International Symposium on New Ideas, New Paradigms, and Reflections on Programming & Software (Onward! 2013). ACM, Indianapolis, Indiana, USA. 187–204. isbn:978-1-4503-2472-4 https://doi.org/10.1145/2509578.2509581
[26]
Wangda Zhang, Junyoung Kim, Kenneth A. Ross, Eric Sedlar, and Lukas Stadler. 2021. Adaptive Code Generation for Data-Intensive Analytics. Proc. VLDB Endow., 14, 6 (2021), Feb., 929–942. issn:2150-8097 https://doi.org/10.14778/3447689.3447697

Cited By

View all

Recommendations

Comments

Information & Contributors

Information

Published In

cover image ACM Conferences
SPLASH Companion 2021: Companion Proceedings of the 2021 ACM SIGPLAN International Conference on Systems, Programming, Languages, and Applications: Software for Humanity
October 2021
33 pages
ISBN:9781450390880
DOI:10.1145/3484271
Permission to make digital or hard copies of all or part of this work for personal or classroom use is granted without fee provided that copies are not made or distributed for profit or commercial advantage and that copies bear this notice and the full citation on the first page. Copyrights for components of this work owned by others than ACM must be honored. Abstracting with credit is permitted. To copy otherwise, or republish, to post on servers or to redistribute to lists, requires prior specific permission and/or a fee. Request permissions from [email protected]

Sponsors

Publisher

Association for Computing Machinery

New York, NY, United States

Publication History

Published: 17 October 2021

Permissions

Request permissions for this article.

Check for updates

Author Tags

  1. Data Analysis
  2. Dynamic Runtime
  3. Performance

Qualifiers

  • Short-paper

Conference

SPLASH '21
Sponsor:
SPLASH '21: Software for Humanity
October 17 - 22, 2021
IL, Chicago, USA

Upcoming Conference

Contributors

Other Metrics

Bibliometrics & Citations

Bibliometrics

Article Metrics

  • 0
    Total Citations
  • 93
    Total Downloads
  • Downloads (Last 12 months)11
  • Downloads (Last 6 weeks)0
Reflects downloads up to 15 Oct 2024

Other Metrics

Citations

Cited By

View all

View Options

Get Access

Login options

View options

PDF

View or Download as a PDF file.

PDF

eReader

View online with eReader.

eReader

Media

Figures

Other

Tables

Share

Share

Share this Publication link

Share on social media