Edinburgh Research Archive

Compiler-driven data layout transformations for network applications

dc.contributor.advisor
Franke, Bjorn
en
dc.contributor.advisor
Mahesh, Marina
en
dc.contributor.author
Fenacci, Damon
en
dc.contributor.sponsor
Engineering and Physical Sciences Research Council (EPSRC)
en
dc.date.accessioned
2012-08-07T13:32:08Z
dc.date.available
2012-08-07T13:32:08Z
dc.date.issued
2012-06-25
dc.description.abstract
This work approaches the little studied topic of compiler optimisations directed to network applications. It starts by investigating if there exist any fundamental differences between application domains that justify the development and tuning of domain-specific compiler optimisations. It shows an automated approach that is capable of identifying domain-specific workload characterisations and presenting them in a readily interpretable format based on decision trees. The generated workload profiles summarise key resource utilisation issues and enable compiler engineers to address the highlighted bottlenecks. By applying this methodology to data intensive network infrastructure application it shows that data organisation is the key obstacle to overcome in order to achieve high performance. It therefore proposes and evaluates three specialised data transformations (structure splitting, array regrouping, and software caching) against the industrial EEMBC networking benchmarks and real-world data sets. It also demonstrates on one hand that speedups of up to 2.62 can be achieved, but on the other that no single solution performs equally well across different network traffic scenarios. Hence, to address this issue, an adaptive software caching scheme for high frequency route lookup operations is introduced and its effectiveness evaluated one more time against EEMBC networking benchmarks and real-world data sets achieving speedups of up to 3.30 and 2.27. The results clearly demonstrate that adaptive data organisation schemes are necessary to ensure optimal performance under varying network loads. Finally this research addresses another issue introduced by data transformations such as array regrouping and software caching, i.e. the need for static analysis to allow efficient resource allocation. This thesis proposes a static code analyser that allows the automatic resource analysis of source code containing lists and tree structures. The tool applies a combination of amortised analysis and separation logic methodology to real code and is able to evaluate type and resource usage of existing data structures, which can be used to compute global resource consumption values for full data intensive network applications.
en
dc.identifier.uri
http://hdl.handle.net/1842/6210
dc.language.iso
en
dc.publisher
The University of Edinburgh
en
dc.relation.hasversion
Damon Fenacci, Bj¨orn Franke and John Thompson, Automatic Identification of Tuning Opportunities for Domain-Specific Compilers Using Decision Trees for Data Mining, Proceedings of the 13th International Workshop on Software and Compilers for Embedded Systems (SCOPES), June 2010
en
dc.relation.hasversion
Damon Fenacci and Bj¨orn Franke, Empirical evaluation of data transformations for network infrastructure applications, International Conference on Embedded Computer Systems: Architectures, MOdeling and Simulation (SAMOS X), July 2010
en
dc.relation.hasversion
Giacomo Bernardi, Matt Calder, Damon Fenacci, Alex Macmillan and Mahesh Marina, Stix: A Goal-Oriented Distributed Management System for Large- Scale Broadband Wireless Access Networks, International Conference on Mobile Computing and Networking (MobiCom), September 2010
en
dc.relation.hasversion
Kenneth McKenzie and Damon Fenacci, Static Resource Analysis for Java Bytecode Using Amortisation and Separation Logic, 6th Workshop on Bytecode Semantics, Verification, Analysis and Transformation (Bytecode), March 2011
en
dc.relation.hasversion
Giacomo Bernardi, Damon Fenacci, Mahesh Marina and Dimitrios Pezaros, Large-Scale Broadband Quality Assessment Using Distributed Monitoring, IFIP/TC6 Networking 2012, May 2012.
en
dc.subject
compiler
en
dc.subject
networking
en
dc.subject
optimisations
en
dc.title
Compiler-driven data layout transformations for network applications
en
dc.type
Thesis or Dissertation
en
dc.type.qualificationlevel
Doctoral
en
dc.type.qualificationname
PhD Doctor of Philosophy
en

Files

Original bundle

Now showing 1 - 1 of 1
Name:
Fenacci2012.pdf
Size:
2.08 MB
Format:
Adobe Portable Document Format
Description:

This item appears in the following Collection(s)