AI Chat Paper
Note: Please note that the following content is generated by AMiner AI. SciOpen does not take any responsibility related to this content.
{{lang === 'zh_CN' ? '文章概述' : 'Summary'}}
{{lang === 'en_US' ? '中' : 'Eng'}}
Chat more with AI
PDF (5.4 MB)
Collect
Submit Manuscript AI Chat Paper
Show Outline
Outline
Show full outline
Hide outline
Outline
Show full outline
Hide outline
Open Access

STrans: A Comprehensive Framework for Structure Transformation

Google Inc, 1600 Amphitheatre Pkwy, Mountain View, CA 94043, USA.
Department of Computer Science and Technology, Tsinghua National Laboratory for Information Science and Technology, Tsinghua University, Beijing 100084, China
Research Institute of Tsinghua University in Shenzhen, Shenzhen 518057, China.
Show Author Information

Abstract

Structure Data Layout Optimization (SDLO) is a prevailing compiler optimization technique to improve cache efficiency. Structure transformation is a critical step for SDLO. Diversity of transformation methods and existence of complex data types are major challenges for structure transformation. We have designed and implemented STrans, a well-defined system which provides controllable and comprehensive functionality on structure transformation. Compared to known systems, it has less limitation on data types for transformation. In this paper we give formal definition of the approach STrans transforms data types. We have also designed Transformation Specification Language, a mini language to configure how to transform structures, which can be either manually tuned or generated by compiler. STrans supports three kinds of transformation methods, i.e., splitting, peeling, and pool-splitting, and works well on different combinations of compound data types. STrans is the transformation system used in ASLOP and is well tested for all benchmarks for ASLOP.

References

[1]
Hundt R., Mannarswamy S., and Chakrabarti D. R., Practical structure layout optimization and advice, in Fourth IEEE/ACM International Symposium on Code Generation and Optimization (CGO 2006), 2006, pp. 233-244.
[2]
Zhao P., Cui S., Gao Y., Silvera R., and Amaral J. N., Forma: A framework for safe automatic array reshaping, ACM Transactions on Programming Languages and Systems (TOPLAS), vol. 30, no. 1, article no. 2, 2007.
[3]
Yan J., He J., Chen W., Yew P., and Zheng W., ASLOP: A field access affinity-based structure data layout optimizer, SCIENCE CHINA Information Sciences, vol. 54, no. 9, pp. 1769–1783, 2011. .
[4]
Ding C. and Zhong Y., Predicting whole-program locality through reuse distance analysis, in Proceedings of the ACM SIGPLAN 2003 Conference on Programming Language Design and Implementation, 2003, pp. 245-257.
[5]
ISO/IEC JTC 1, C99 standard, http://www.openstd.org/JTC1/SC22/WG14/, 2015
[6]
Open64 compiler, http://www.open64.net, 2015
[7]
Levine J., flex & bison: Text Processing Tools. O’Reilly Media, 2009.
[8]
Donnelly C. and Stallman R., Bison: The Yacc– Compatible parser generator, Free Software Foundation, 1992.
[9]
SPEC CPU 2000 Benchmark Suite, http://www.spec.org, 2015
[10]
SPEC CPU 2006 Benchmark Suite, http://www.spec.org, 2015
[11]
Rogers A., Carlisle M. C., Reppy J. H., and Hendren L. J., Supporting dynamic data structures on distributed-memory machines, ACM Transactions on Programming Languages and Systems (TOPLAS), vol. 17, no. 2, pp. 233–263, 1995.
[12]
Kistler T. and Franz M., Automated data-member layout of help objects to improve memory-hierarchy performance, ACM Transactions on Programming Languages and Systems (TOPLAS), vol. 22, no. 3, pp. 490–505, 2000
[13]
Chilimbi T. M., Efficient representations and abstractions for quantifying and exploiting data reference locality, in Proceedings of the ACM SIGPLAN 2001 Conference on Programming Language Design and Implementation, 2001, pp. 191-202.
[14]
Zhong Y., Orlovich M., Shen X., and Ding C., Array regrouping and structure splitting using whole-program reference affinity, in Proceedings of the ACM SIGPLAN 2004 Conference on Programming Language Design and Implementation, 2004, pp. 255-266.
[15]
Petrank E. and Rawitz D., The hardness of cache conscious data placement, in Proceedings of the 29th ACM SIGPLAN-SIGACT Symposium on Principles of Programming Languages, 2002, pp. 101-112.
[16]
Zhong Y., Shen X., and Ding C., A hierarchical model of reference affinity, in Languages and Compilers for Parallel Computing, 16th International Workshop, LCPC 2003, 2003, pp. 48-63.
Tsinghua Science and Technology
Pages 231-240
Cite this article:
He J, Chen W, Tang Z. STrans: A Comprehensive Framework for Structure Transformation. Tsinghua Science and Technology, 2016, 21(2): 231-240. https://doi.org/10.1109/TST.2016.7442505

506

Views

19

Downloads

2

Crossref

N/A

Web of Science

2

Scopus

0

CSCD

Altmetrics

Received: 14 May 2015
Accepted: 15 June 2015
Published: 31 March 2016
© The author(s) 2016
Return