Project Plan

Contents


Work Package 1: Iterative Design of Compiler Framework

Work Package 1: Iterative Design of Compiler Framework
Start date: 1 June 2013

End date: 31 August 2013
Work Package Leader: Embecosm
Contributing Partners: Embecosm

Work Package Objectives:
  • Definition of compiler and hardware independent interface for machine learning compiler.
  • Selection of a set of software characteristics to be exploited during the optimisation selection process.
  • Identify target for first implementation, GCC or LLVM.
Description of Work
  • Identify target for first implementation, GCC or LLVM.
  • Determine degree of integration with specific compilers.
  • Identify machine learning interface.
  • Identify feature selection methodology.
  • Iterative refinement on 2-4.
Equipment and Facilities
  • General computing infrastructure
Summary of Deliverables
Ref. Title Int/Ext Responsiblity Due Date Comments/Notes
1.1 Decision of GCC/LLVM for first implementation E Emb. 31 Aug 2013 Decision made to use GCC
1.2 Design doc for compiler integration E Emb. 31 Aug 2013 Live document, currently available via http://mageec.org/doxygen
1.3 Design doc for machine learning interface E Emb. 31 Aug 2013 Live document, currently available via http://mageec.org/doxygen
1.4 Design doc for feature selection E Emb. 31 Aug 2013 Live document, currently available via http://mageec.org/doxygen
1.5 Iterate 2-5 throughout project E Emb. End of each Q. Live deliverable continues to be updated with latest version.
Dependencies
Items which must be available for this Work Package
  • None
Work Packages dependent on this Work Package


Work Package 2: Iterative Implementation of Compiler Framework

Work Package 2: Iterative Implementation of Compiler Framework
Start date: 1 July 2013

End date: 30 Nov 2014
Work Package Leader: Embecosm
Contributing Partners: Embecosm

Work Package Objectives:
  • Implementation of prototype framework with one compiler, identified in Work Package 1
  • Implementation of prototype framework with other compiler.
Description of Work
  • Write code for use with first compiler.
  • Write documentation for use with first compiler.
  • Implement regression tests for use with first compiler.
  • Extend support for use with second compiler (code, documentation, regression).
  • Iterative refinement on 1-4.
Equipment and Facilities
  • General computing infrastructure
Summary of Deliverables
Ref. Title Int/Ext Responsiblity Due Date Comments/Notes
2.1 First iteration of implementation, testing, documentation with GCC E Emb. 30 Nov 2013 Implementation has begun, source is available at https://github.com/mageec/mageec and documentation at http://mageec.org/doxygen
2.2 Second iteration of framework (using LLVM) E Emb. 28 Feb 2014 Early prototype demonstrated as part of informal workshop at [Euro LLVM] in April 2014.
2.3 Refinement of implementation with both compilers E Emb. End of each Q. Demonstration of full GCC version given at GNU Tools Cauldron, Cambridge, July 2014 (see https://gcc.gnu.org/wiki/cauldron2014). Demonstration of full LLVM version scheduled for NA LLVM Confererence, October 2014.
Dependencies
Items which must be available for this Work Package
Work Packages dependent on this Work Package
  • None


Work Package 3: Design and Build of Hardware Measurement Platform

Work Package 3: Design and Build of Hardware Measurement Platform
Start date: 1 June 2013

End date: 31 July 2013
Work Package Leader: University of Bristol
Contributing Partners: University of Bristol

Work Package Objectives:
  • Implementation of Hardware Measurement
Description of Work
  • Design board, reusing existing expertise
  • Board Implementation
  • Board testing
Equipment and Facilities
  • PCB Manufacturing (outsourced)
Summary of Deliverables
Ref. Title Int/Ext Responsiblity Due Date Comments/Notes
3.1 Board Design Documentation E UoB 31 Jul 2013 Board designs and documentation available via Git repository. Deliverable 3.1
3.2 Working Hardware E UoB 31 Jul 2013 Boards have been tested and demonstrated. Images can be found on Deliverable 3.2
3.3 v2 Measuring Hardware E UoB 31 Jan 2014 Deliverable 3.3. Arrived Dec 11 2013 and made widely available with TSB help at EEC SIG workshop and FOSDEM. Second batch being made to support wider desire for evaluation end of September 2014.
Dependencies
Items which must be available for this Work Package
  • None
Work Packages dependent on this Work Package


Work Package 4: Training Set, Test Program, Test Hardware and Case Study Development

Work Package 4: Training Set, Test Program, Test Hardware and Case Study Development
Start date: 1 July 2013

End date: 30 September 2013
Work Package Leader: University of Bristol
Contributing Partners: University of Bristol, Embecosm

Work Package Objectives:
  • Creation of a set of applications for training.
  • Creation of a set of applications for initial testing of trained systems.
  • Development of larger case studies for testing purposes.
  • Selection of target embedded systems for testing.
Description of Work
  • Select suitable test and training applications from existing benchmark suites.
  • Choice of case studies from wider community.
  • Selection of embedded systems representative of industrial/commercial applications in consultation with community.
  • Integration of embedded systems with hardware test platform (Work Package 3)
Equipment and Facilities
  • Selection of embedded systems
  • Community engagement platforms
Summary of Deliverables
Ref. Title Int/Ext Responsiblity Due Date Comments/Notes
4.1 Training set source E UoB 30 Sep 2013 Complete and available as part of BEEBS but with scope for additional benchmarks (Deliverable 4.1)
4.2 Case study source E UoB 28 Feb 2014 Possibilities being explored (Deliverable 4.2)
4.3 Embedded systems set up for testing I UoB 30 Sep 2013 Physical setup internal, documentation external. These boards have been tested using code from Deliverable 4.1, Pictures and Videos can be found here
4.4 Evaluation set of Test Programs E UoB 28 Feb 2014 Dedicated meetings set up to tackle this deliverable.
4.5 Enhancements to Training Set (BEEBS v2.0) E UoB End of Each Q. BEEBS v2.0 release date 5 September 2014, includes 80 benchmarks, but set increased by using data variants of some benchmarks and avaiable on http://beebs/eu. No further development is planned as part of MAGEEC, since we believe with data variants we have sufficient benchmarks. James Pallister's first year PhD report explores the rationale behind the benchmarks.
Dependencies
Items which must be available for this Work Package
  • None
Work Packages dependent on this Work Package
  • None


Work Package 5: Theory of Analysis of Machine Learning Techniques

Work Package 5: Theory of Analysis of Machine Learning Techniques
Start date: 1 July 2013

End date: 31 July 2014
Work Package Leader: University of Bristol
Contributing Partners: University of Bristol, Embecosm

Work Package Objectives:
  • Understand current machine learning techniques and decide if relevant
  • Select approach(es) for incorporating into framework
  • Refinement in the light of ongoing project development and experience
Description of Work
  • Review existing uses including MILEPOST, directed learning, abductive learning (Literature)
  • Whole team working days to bring together theory with implementers to select approach and specify API
  • Decision on choice of training approach, e.g. FFD, random, etc.
  • Iterative review during second year of programme, inc. potential for reordering
Equipment and Facilities
  • General computing infrastructure
Summary of Deliverables
Ref. Title Int/Ext Responsiblity Due Date Comments/Notes
5.1 Literature Review E UoB 30 Sep 2013 (draft) ; 31 Dec 2013 (final) May be appropriate for publication. Ongoing, references can be found on the Literature page.
5.2 Selection of core learning algorithm(s) E UoB 30 Sep 2013 Output of working days. Possible candidates identified for final selection (Deliverable 5.2). This BEEBS 2.0 and analysis which has led to choice of C4.5/C5.0 as the leaning algorithm
5.3 Training approach E UoB 30 Sep 2013 Output of working days, as per Deliverable 5.2
5.4 API for implementers E UoB 30 Sep 2013 See Work Package 1. Plugin API used for GCC, Subclassing used for LLVM.
5.5 Review of initial approach E UoB 31 July 2014 Blog post by Greg Cawthorne, which may be suitable for future publication.
Dependencies
Items which must be available for this Work Package
  • None
Work Packages dependent on this Work Package
  • None


Work Package 6: Training and Testing Prototype Infrastructure

Work Package 6: Training and Testing Prototype Infrastructure
Start date: 1 March 2014

End date: 31 May 2014
Work Package Leader: Embecosm
Contributing Partners: Embecosm

Work Package Objectives:
  • Set up of training infrastructure and demonstration with tests using existing optimisations
  • Refine/repeat for use with new optimisations
Description of Work
  • Set up infrastructure for existing optimisations
  • Train infrastructure with small set with existing optimisations
  • Test with small set with existing optimisations
  • Repeat above with new optimisations from Work Package 7
Equipment and Facilities
  • High performance workstation
  • Embedded systems with hardware energy measuring
Summary of Deliverables
Ref. Title Int/Ext Responsiblity Due Date Comments/Notes
6.1 Working training infrastructure (existing optimisations) E Emb. 31 May 2014 First version developed, and highlighted need for: i) mechanism to determine per-function energy usage; 2) a way to reduce the number of data gathering runs; and 3) the importance of callibrating test boards before each run. Work in progress by Simon Cook to use cycle accurate models to determine apportioning of energy usage to functions. Blog post by George Field on reducing tests using Plackett-Burnham experiemental deisgn. Blog post to be written by James Pallister on callibration.
6.2 Results from proof of concept training and test (existing optimisations) E Emb. 31 May 2014 Demonstrated at GNU Tools Cauldron, July 2014 (see https://gcc.gnu.org/wiki/cauldron2014), but training set inadequate for good results.
6.3 Working training infrastructure (new optimisations) E Emb. 31 May 2014 New optimizations implementation now not expected in time (see Work Package 7). Focus is on refining data gathering for more robust training (see Work Package 8).
6.4 Results from proof of concept training and test (new optimisations) E Emb. 31 May 2014 As noted in deliverable 6.3, focus is on increased robustness.
Dependencies
Items which must be available for this Work Package
Work Packages dependent on this Work Package
  • None


Work Package 7: Implement New Optimisation Passes

Work Package 7: Implement New Optimisation Passes
Start date: 1 September 2013

End date: 31 May 2014
Work Package Leader: Embecosm
Contributing Partners: Embecosm, UoB

Work Package Objectives:
  • Design and implement optimisation passes in the GCC and LLVM compilers.
Description of Work
  • Design new optimisation passes in light of theory and analysis of previous work
  • Implement new optimisation passes in GCC
  • Reimplement optimisation passes in LLVM
Equipment and Facilities
  • General computing infrastructure
Summary of Deliverables
Ref. Title Int/Ext Responsiblity Due Date Comments/Notes
7.1 Review of existing techniques for energy optimisation E Emb. 31 Jan 2014 co-located at UoB for knowledge exchange. Review of existing optimisation techniques for energy to appear as part of JP's 1st year PhD review.
7.2 Design optimisation passes E Emb. 28 Feb 2014 Theortical basis established and being presented at CASEs 2014 and Micro 47 (TBC) wich provide the requirements specification. Initial design for GCC begun.
7.3 Implement optimisation passes in GCC E Emb. 28 Feb 2014 Illness of the implementer, means this is now not likely to be implemented, or only at the very end of the project. We are considering whether simpler alternatives are worth implementing by someone else.
7.4 Implement optimisation passes in LLVM E Emb. 31 May 2014 Severly limited by failure of GCC work, on which this was to be based. We are considering whether simpler alternatives can be implemented.
Dependencies
Items which must be available for this Work Package
  • None
Work Packages dependent on this Work Package
  • None


Work Package 8: Evaluation of Infrastructure

Work Package 8: Evaluation of Infrastructure
Start date: 1 June 2014

End date: 30 Nov 2014
Work Package Leader: University of Bristol
Contributing Partners: University of Bristol, Embecosm

Work Package Objectives:
  • Full evaluation of infrastructure using full training sets, full test sets and large case studies for both with and without our new optimisations.
Description of Work
  • Train infrastructure with existing optimisations
  • Evaluate with smaller tests with existing optimisations
  • Evaluate with case studies with existing optimisations
  • Repeat above with new optimisations
  • Write paper detailing findings
  • Review and refine paper
Equipment and Facilities
  • Instrumented embedded systems
  • HPC Facilities
Summary of Deliverables
Ref. Title Int/Ext Responsiblity Due Date Comments/Notes
8.1 Trained and tested complete system with full case studies E UoB 30 Sep 2014 Work in progress. Systems implemented to gather data for Atmel ATMega328 processors. Systems planned for ARM Cortex M3 processors. Case studies identified in Stoil Ganev's Blog post. Evaluation of ATMega328 will use a weather station, second case study is for MSP430, for which MAGEEC is not expected to have data in time. Third case study for ARM Cortex M3 identified as battery controller, with code on GitHub.
8.2 Draft paper presenting results E UoB 30 Sep 2014 Work in progress.
8.3 Final paper E Emb. 30 Nov 2014 This is the ultimate report and it is anticipated that it will take some time to develop. Additionally engineering on the project will continue whilst the paper is written, hence this will be a significantly large task.
Dependencies
Items which must be available for this Work Package
  • None
Work Packages dependent on this Work Package
  • None
by Joern

Work Package 9: Dissemination and Exploitation

Work Package 9: Dissemination and Exploitation
Start date: 1 June 2013

End date: 30 Nov 2014
Work Package Leader: University of Bristol, Embecosm
Contributing Partners: University of Bristol, Embecosm

Work Package Objectives:
  • Business case development inc. market analysis
  • Engagement with relevant communities
  • Engagement with potential customers
  • Academic and business publications
Description of Work
  • Develop business case by engagement of all stakeholders
  • Ongoing review of business case throughout project, leading to updated exploitation plan
  • Engagement with the technical community through participation in workshops (including EACO, NMI, etc.), conferences (including GNU Tools Cauldron, LLVM Developer Conference, etc.), presentations, training events, new media using the skills of AB Open
  • Engagement with potential customers
  • Publication of papers as described in various Work Packages.
Equipment and Facilities
  • General computing infrastructure, including website and social media (http://mageec.org)
Summary of Deliverables
Ref. Title Int/Ext Responsiblity Due Date Comments/Notes
9.1 Exploitation plan E Emb. 31 Aug 2013 Updated every quarter
9.2 Participation in workshops and training events E Emb. 30 Nov 2014 Most recent full demo and presentaton given at the GNU Tools Cauldron, future events include EACO meeting, ILP 2014, CASES 2014, North American LLVMDevelopers' Meeting, Innovate UK 2014, and Micro '47. Full details at MAGEEC#Events.
9.3 Website/wiki/new media E Emb. 31 Aug 2013 Maintained throughout project, new website http://www.beebs.eu for BEEBS.
9.4 Papers E n/a n/a Detailed throughout project plan, for dates and details, refer to associated work packages.
Dependencies
Items which must be available for this Work Package
  • None
Work Packages dependent on this Work Package
  • None

Gantt Chart

The following Gantt Chart details the interactions between work packages. As one work package does not necessarily depend on the entire completion of another, a traditional finish-start relationship does not perfectly represent this information. The Microsoft Project file used to generate this chart can be found at File:MAGEEC Gantt.mpp.

MAGEEC Gantt.png