Automating Ad hoc Data Representation Transformations

被引:0
|
作者
Ureche, Vlad [1 ]
Biboudis, Aggelos [2 ]
Smaragdakis, Yannis [2 ]
Odersky, Martin [1 ]
机构
[1] Ecole Polytech Fed Lausanne, CH-1015 Lausanne, Switzerland
[2] Univ Athens, GR-10679 Athens, Greece
关键词
data representation; jvm; bytecode; compatibility; transformation; optimization; safety; semantics;
D O I
10.1145/2814270.2814271
中图分类号
TP31 [计算机软件];
学科分类号
081202 ; 0835 ;
摘要
To maximize run-time performance, programmers often specialize their code by hand, replacing library collections and containers by custom objects in which data is restructured for efficient access. However, changing the data representation is a tedious and error-prone process that makes it hard to test, maintain and evolve the source code. We present an automated and composable mechanism that allows programmers to safely change the data representation in delimited scopes containing anything from expressions to entire class definitions. To achieve this, programmers define a transformation and our mechanism automatically and transparently applies it during compilation, eliminating the need to manually change the source code. Our technique leverages the type system in order to offer correctness guarantees on the transformation and its interaction with object-oriented language features, such as dynamic dispatch, inheritance and generics. We have embedded this technique in a Scala compiler plugin and used it in four very different transformations, ranging from improving the data layout and encoding, to retrofitting specialization and value class status, and all the way to collection deforestation. On our benchmarks, the technique obtained speedups between 1.8x and 24.5x.
引用
收藏
页码:801 / 820
页数:20
相关论文
共 50 条
  • [21] Data Synchronization in Ad Hoc Mobile Networks
    Li, Tianxiang
    Mastorakis, Spyridon
    Xu, Xin
    Zhang, Haitao
    Zhang, Lixia
    PROCEEDINGS OF THE 5TH ACM CONFERENCE ON INFORMATION-CENTRIC NETWORKING (ICN'18), 2018, : 186 - 187
  • [22] Ad-Hoc Data Processing in the Cloud
    Logothetis, Dionysios
    Yocum, Kenneth
    PROCEEDINGS OF THE VLDB ENDOWMENT, 2008, 1 (02): : 1472 - 1475
  • [23] Updated data dissemination in ad hoc networks
    Hayashi, H
    Hara, T
    Nishio, S
    UBIQUITOUS MOBILE INFORMATION AND COLLABORATION SYSTEMS, 2004, 3272 : 28 - 42
  • [24] A data synchronization service for ad hoc groups
    Coatta, F
    Norman, CV
    Warfield, A
    Wong, JHT
    2004 IEEE WIRELESS COMMUNICATIONS AND NETWORKING CONFERENCE, VOLS 1-4: BROADBAND WIRELESS - THE TIME IS NOW, 2004, : 483 - 488
  • [25] Cooperative data collection in ad hoc networks
    Liron Levin
    Michael Segal
    Hanan Shpungin
    Wireless Networks, 2013, 19 : 145 - 159
  • [26] Cooperative data collection in ad hoc networks
    Levin, Liron
    Segal, Michael
    Shpungin, Hanan
    WIRELESS NETWORKS, 2013, 19 (02) : 145 - 159
  • [27] Data replication for improving data accessibility in ad hoc networks
    Hara, Takahiro
    Madria, Sanjay K.
    IEEE TRANSACTIONS ON MOBILE COMPUTING, 2006, 5 (11) : 1515 - 1532
  • [28] Late Data Layout: Unifying Data Representation Transformations
    Ureche, Vlad
    Burmako, Eugene
    Odersky, Martin
    ACM SIGPLAN NOTICES, 2014, 49 (10) : 397 - 416
  • [29] Rumor Detection With Hierarchical Representation on Bipartite Ad Hoc Event Trees
    Zhang, Qi
    Yang, Yayi
    Shi, Chongyang
    Lao, An
    Hu, Liang
    Wang, Shoujin
    Naseem, Usman
    IEEE TRANSACTIONS ON NEURAL NETWORKS AND LEARNING SYSTEMS, 2024, 35 (10) : 14112 - 14124
  • [30] Vehicular Ad Hoc Network Representation Learning for Recommendations in Internet of Things
    Hu, He-Xuan
    Tang, Bo
    Zhang, Ye
    Wang, Wei
    IEEE TRANSACTIONS ON INDUSTRIAL INFORMATICS, 2020, 16 (04) : 2583 - 2591