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 条
  • [31] A two-tier representation of node mobility in ad hoc networks
    Zaidi, ZR
    Mark, BL
    Thomas, RK
    2004 FIRST ANNUAL IEEE COMMUNICATIONS SOCIETY CONFERENCE ON SENSOR AND AD HOC COMMUNICATIONS AND NETWORKS, 2004, : 153 - 161
  • [32] Towards Unified Ad-hoc Data Processing
    Shi, Xiaogang
    Cui, Bin
    Dobbie, Gillian
    Ooi, Beng Chin
    SIGMOD'14: PROCEEDINGS OF THE 2014 ACM SIGMOD INTERNATIONAL CONFERENCE ON MANAGEMENT OF DATA, 2014, : 1263 - 1274
  • [33] QoS provisioning for wireless ad hoc data networks
    Comaniciu, C
    Poor, HV
    42ND IEEE CONFERENCE ON DECISION AND CONTROL, VOLS 1-6, PROCEEDINGS, 2003, : 92 - 97
  • [34] Mobile data management in ad hoc wireless networks
    Tse, SSH
    Leong, HV
    18TH INTERNATIONAL CONFERENCE ON ADVANCED INFORMATION NETWORKING AND APPLICATIONS, VOL 2 (REGULAR PAPERS), PROCEEDINGS, 2004, : 428 - 431
  • [35] Cache invalidation for updated data in ad hoc networks
    Hayashi, H
    Hara, T
    Nishio, S
    ON THE MOVE TO MEANINGFUL INTERNET SYSTEMS 2003: COOPIS, DOA, AND ODBASE, 2003, 2888 : 516 - 535
  • [36] From Ad-Hoc Data Analytics to DataOps
    Munappy, Aiswarya Raj
    Mattos, David Issa
    Bosch, Jan
    Olsson, Helena Holmstrom
    Dakkak, Anas
    2020 IEEE/ACM INTERNATIONAL CONFERENCE ON SOFTWARE AND SYSTEM PROCESSES, ICSSP, 2020, : 165 - 174
  • [37] Efficient Data Dissemination in Vehicular Ad Hoc Networks
    Ye, Fei
    Roy, Sumit
    Wang, Haobing
    IEEE JOURNAL ON SELECTED AREAS IN COMMUNICATIONS, 2012, 30 (04) : 769 - 779
  • [38] Cache data access system in ad hoc networks
    Moriya, T
    Aida, H
    57TH IEEE VEHICULAR TECHNOLOGY CONFERENCE, VTC 2003-SPRING, VOLS 1-4, PROCEEDINGS, 2003, : 1228 - 1232
  • [39] Secure data communication in mobile ad hoc networks
    Papadimitratos, P
    Haas, ZJ
    IEEE JOURNAL ON SELECTED AREAS IN COMMUNICATIONS, 2006, 24 (02) : 343 - 356
  • [40] Automating Mathematical Program Transformations
    Agarwal, Ashish
    Bhat, Sooraj
    Gray, Alexander
    Grossmann, Ignacio E.
    PRACTICAL ASPECTS OF DECLARATIVE LANGUAGES, PROCEEDINGS, 2010, 5937 : 134 - +