Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                
skip to main content
10.1145/2633301.2633303acmotherconferencesArticle/Chapter ViewAbstractPublication PagesisstaConference Proceedingsconference-collections
research-article

Data interface + algorithms = efficient programs: separating logic from representation to improve performance

Published: 28 July 2014 Publication History

Abstract

Finding the right algorithm--data structure combination is easy, but finding the right data structure for a set of algorithms is much less trivial. Moreover, using the same data representation throughout the whole program might be sub-optimal. Depending on several factors, often only known at runtime, some programs benefit from changing the data representation during execution. In this position paper we introduce the idea of Just-In-Time data structures, a combination of a data interface and a set of concrete data representations with different performance characteristics. These Just-In-Time data structures can dynamically swap their internal data representation when the cost of swapping is payed back many times in the remainder of the computation. To make Just-In-Time data structures work, research is needed at three fronts: 1. We need to better understand the synergy between different data representations and algorithms; 2. We need a structured approach to handle the transitions between data representations; 3. We need descriptive programming constructs to express which representation fits a program fragment best. Combined, this research will result in a structured programming approach where separating data interface from data representation, not only improves understandability and maintainability, but also improves performance through automated transitions of data representation.

References

[1]
C. F. Bolz, L. Diekmann, and L. Tratt. Storage strategies for collections in dynamically typed languages. SIGPLAN Not., 48(10): 167--182, Oct. 2013.
[2]
C. Chambers, D. Ungar, and E. Lee. An efficient implementation of self a dynamically-typed object-oriented language based on prototypes. SIGPLAN Not., 24(10): 49--70, Sept. 1989.
[3]
T. H. Cormen, C. E. Leiserson, R. L. Rivest, C. Stein, et al. Introduction to algorithms, volume 2. MIT press Cambridge, 2001.
[4]
E. Gamma, R. Helm, R. Johnson, and J. Vlissides. Design Patterns: Elements of Reusable Object-oriented Software. Addison-Wesley Longman Publishing Co., Inc., Boston, MA, USA, 1995. ISBN 0-201-63361-2.
[5]
C. Jung, S. Rus, B. P. Railing, N. Clark, and S. Pande. Brainy: Effective selection of data structures. SIGPLAN Not., 46(6): 86--97, June 2011.
[6]
J. Krueger, M. Grund, C. Tinnefeld, H. Plattner, A. Zeier, and F. Faerber. Optimizing write performance for read optimized databases. In Proceedings of the 15th International Conference on Database Systems for Advanced Applications - Volume Part II, DASFAA'10, pages 291--305, Berlin, Heidelberg, 2010. Springer-Verlag.
[7]
B. Liskov and S. Zilles. Programming with abstract data types. SIGPLAN Not., 9(4): 50--59, Mar. 1974.
[8]
P. Lokuciejewski, D. Cordes, H. Falk, and P. Marwedel. A fast and precise static loop analysis based on abstract interpretation, program slicing and polytope models. In Proceedings of the 7th Annual IEEE/ACM International Symposium on Code Generation and Optimization, CGO '09, pages 136--146, Washington, DC, USA, 2009. IEEE Computer Society.
[9]
G. H. Mealy. Another look at data. In Proceedings of the November 14--16, 1967, Fall Joint Computer Conference, AFIPS '67 (Fall), pages 525--534, New York, NY, USA, 1967. ACM.
[10]
M. Püschel, J. M. F. Moura, J. Johnson, D. Padua, M. Veloso, B. W. Singer, J. Xiong, F. Franchetti, A. Gačić, Y. Voronenko, K. Chen, R. W. Johnson, and N. Rizzolo. Spiral: Code generation for DSP transforms. Proceedings of the IEEE, special issue on Program Generation, Optimization, and Adaptation, 93(2): 232--275, 2005.
[11]
O. Shacham, M. Vechev, and E. Yahav. Chameleon: Adaptive selection of collections. SIGPLAN Not., 44(6): 408--418, June 2009.
[12]
Y. Tang, R. A. Chowdhury, B. C. Kuszmaul, C.-K. Luk, and C. E. Leiserson. The pochoir stencil compiler. In Proceedings of the Twenty-third Annual ACM Symposium on Parallelism in Algorithms and Architectures, SPAA '11, pages 117--128, New York, NY, USA, 2011. ACM.
[13]
G. H. Xu. Coco: Sound and adaptive replacement of java collections. In ECOOP, pages 1--26, 2013.

Cited By

View all
  • (2015)Memento mori: dynamic allocation-site-based optimizationsACM SIGPLAN Notices10.1145/2887746.275418150:11(105-117)Online publication date: 14-Jun-2015
  • (2015)Memento mori: dynamic allocation-site-based optimizationsProceedings of the 2015 International Symposium on Memory Management10.1145/2754169.2754181(105-117)Online publication date: 14-Jun-2015

Recommendations

Comments

Information & Contributors

Information

Published In

cover image ACM Other conferences
ICOOOLPS '14: Proceedings of the 9th International Workshop on Implementation, Compilation, Optimization of Object-Oriented Languages, Programs and Systems PLE
July 2014
42 pages
ISBN:9781450329149
DOI:10.1145/2633301
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

  • Uppsala University, Department of Information Science: Uppsala University, Department of Information Science
  • AITO: Assoc Internationale por les Technologies Objects

In-Cooperation

Publisher

Association for Computing Machinery

New York, NY, United States

Publication History

Published: 28 July 2014

Permissions

Request permissions for this article.

Check for updates

Author Tags

  1. algorithms
  2. data structures
  3. performance

Qualifiers

  • Research-article

Conference

ECOOP '14
Sponsor:
  • Uppsala University, Department of Information Science
  • AITO

Acceptance Rates

Overall Acceptance Rate 11 of 14 submissions, 79%

Contributors

Other Metrics

Bibliometrics & Citations

Bibliometrics

Article Metrics

  • Downloads (Last 12 months)0
  • Downloads (Last 6 weeks)0
Reflects downloads up to 06 Oct 2024

Other Metrics

Citations

Cited By

View all
  • (2015)Memento mori: dynamic allocation-site-based optimizationsACM SIGPLAN Notices10.1145/2887746.275418150:11(105-117)Online publication date: 14-Jun-2015
  • (2015)Memento mori: dynamic allocation-site-based optimizationsProceedings of the 2015 International Symposium on Memory Management10.1145/2754169.2754181(105-117)Online publication date: 14-Jun-2015

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