UVicSpace

A programming language based on recurrence equations and polyhedral compilation for stream processing

Show simple item record

dc.contributor.author Leben, Jakob
dc.date.accessioned 2019-07-31T17:45:48Z
dc.date.available 2019-07-31T17:45:48Z
dc.date.copyright 2019 en_US
dc.date.issued 2019-07-31
dc.identifier.uri http://hdl.handle.net/1828/11008
dc.description.abstract The work presented in this dissertation contributes to the field of programming lan- guage design and implementation for stream processing applications. There is a fast-expanding domain of stream processing applications which demand processing high-volume streams quickly and often in real time. Examples include analysis and synthesis of audio, video and other digital media, sensor array signals, real-time phys- ical simulation etc. High performance is crucial in this domain. When choosing between available programming methods, the programmer often chooses one that maximizes performance while sacrificing ease of programming, code comprehension, maintainability and reusability. This work contributes towards improving the state of the art by jointly maximizing these aspects. High-volume streams are often most naturally represented as multi-dimensional arrays with one infinite dimension representing time. Algorithms working with such streams are typically defined mathematically using recurrence equations. A pro- gramming language is presented in this dissertation which enables an almost literal translation of such mathematical definitions to computer programs. The language also supports powerful facilities for abstraction and code reuse such as polymorphic and higher-order functions. Together, these features enable a more natural expression of algorithms and improve code modularity and reusability. A major contribution of this dissertation is the compilation of the proposed lan- guage in the polyhedral framework, specifically targeting general-purpose multi-core processors. This framework provides powerful means of analysis and transformations of computations on multi-dimensional arrays, which enables data-locality optimiza- tions essential for high performance on general-purpose processors with deep memory hierarchies. The benefit of this framework for computations on finite arrays has been extensively explored. However, this dissertation presents essential extensions that enable the application of state-of-the-art optimizations in this framework on infinite arrays representing streams. en_US
dc.language English eng
dc.language.iso en en_US
dc.rights Available to the World Wide Web en_US
dc.subject programming language en_US
dc.subject stream processing en_US
dc.subject signal processing en_US
dc.subject recurrence equations en_US
dc.subject polyhedral model en_US
dc.subject functional language en_US
dc.subject compiler en_US
dc.title A programming language based on recurrence equations and polyhedral compilation for stream processing en_US
dc.type Thesis en_US
dc.contributor.supervisor Tzanetakis, George
dc.degree.department Department of Computer Science en_US
dc.degree.level Doctor of Philosophy Ph.D. en_US
dc.description.scholarlevel Graduate en_US


Files in this item

This item appears in the following Collection(s)

Show simple item record

Search UVicSpace


Browse

My Account

Statistics

Help