Programming Abstractions and Synthesis-Aided Compilation for Emerging Computing Platforms

作者: Phitchaya Phothilimthana

DOI:

关键词:

摘要: Author(s): Phothilimthana, Phitchaya | Advisor(s): Bodik, Rastislav; Yelick, Katherine Abstract: Today's cutting-edge applications, ranging from wearable devices and embedded medical sensors to high-performance data centers, put new demands on computer architectures. Those include more computation capability, a tight power budget, low latency, high throughput, many more. To meet these requirements, specialized architectures with energy consumption are becoming prevalent. Many of trade off programmability features for gains in efficiency performance. Hence, challenges inevitable as applications continue evolve make computing architectures.I propose key principles improving intended application writers well compiler developers language designers. First, I address issues by providing programming model that hides low-level details but sufficiently exposes essential control. Second, compile optimize programs, apply compilation methodology based synthesis. Unlike classical compiler's transformation, synthesis obtains correct optimal solution searching an candidate is semantically equivalent specification program. This search helps compilers generate efficient code without deriving program via sequence transformations, which challenging design unconventional architectures.In this thesis, demonstrate the three projects: Chlorophyll, low-power spatial architectures; Floem, system NIC-accelerated center applications; GreenThumb, framework building superoptimizer (an assembly optimizer synthesis).

参考文章(82)
Frank Tip, A survey of program slicing techniques. Journal of Programming Languages. ,vol. 3, ,(1995)
Mahmut Kandemir, N. Vijaykrishnan, Mary Jane Irwin, Compiler optimizations for low power systems Power aware computing. pp. 191- 210 ,(2002) , 10.1007/978-1-4757-6217-4_10
Monica Sin-Ling Lam, A Systolic Array Optimizing Compiler ,(1989)
Henry S. Warren, Hacker's Delight ,(2002)
Ben Liblit, Katherine Yelick, Alex Aiken, Type systems for distributed data sharing static analysis symposium. pp. 273- 294 ,(2003) , 10.5555/1760267.1760288
William Thies, Michal Karczmarek, Saman Amarasinghe, StreamIt: A Language for Streaming Applications compiler construction. pp. 179- 196 ,(2002) , 10.1007/3-540-45937-5_14
M.R. Guthaus, T. Mudge, R.B. Brown, D. Ernst, T.M. Austin, J.S. Ringenberg, MiBench: A free, commercially representative embedded benchmark suite ieee international symposium on workload characterization. pp. 3- 14 ,(2001) , 10.1109/WWC.2001.15
Shan Shan Huang, Amir Hormati, David F. Bacon, Rodric Rabbah, Liquid Metal: Object-Oriented Programming Across the Hardware/Software Boundary ECOOP 2008 – Object-Oriented Programming. pp. 76- 103 ,(2008) , 10.1007/978-3-540-70592-5_5
Steven Bashford, Rainer Leupers, Phase-Coupled Mapping of Data Flow Graphs to Irregular Data Paths Design Automation for Embedded Systems. ,vol. 4, pp. 119- 165 ,(1999) , 10.1023/A:1008966522714