Difference between revisions of "Project Plan"

From MAGEEC
Jump to: navigation, search
(Remove Gantt Chart as it breaks the PDF output)
(Added James Pallister's first year report.)
 
(38 intermediate revisions by 5 users not shown)
Line 17: Line 17:
 
* Determine degree of integration with specific compilers.
 
* Determine degree of integration with specific compilers.
 
* Identify machine learning interface.
 
* Identify machine learning interface.
* Identify available features which can be used as inputs.
+
* Identify feature selection methodology.
 
* Iterative refinement on 2-4.
 
* Iterative refinement on 2-4.
 
|equipment =  
 
|equipment =  
 
* General computing infrastructure
 
* General computing infrastructure
 
|deliverables =  
 
|deliverables =  
{{WPDeliverable | ref = 1 | title = Decision of GCC/LLVM for first implementation | external = E | responsibility = {{SC}} | due = 31 Aug 2013 | comments = }}
+
{{WPDeliverable | ref = 1.1 | title = Decision of GCC/LLVM for first implementation | external = E | responsibility = Emb. | due = 31 Aug 2013 | comments = Decision made to use GCC }}
{{WPDeliverable | ref = 2 | title = Design doc for compiler integration | external = E | responsibility = {{SC}} | due = 31 Aug 2013 | comments = Iterative design, live document}}
+
{{WPDeliverable | ref = 1.2 | title = Design doc for compiler integration | external = E | responsibility = Emb. | due = 31 Aug 2013 | comments = Live document, currently available via http://mageec.org/doxygen }}
{{WPDeliverable | ref = 3 | title = Design doc for machine learnign interface | external = E | responsibility = {{SC}} | due = 31 Aug 2013 | comments = Iterative design, live document}}
+
{{WPDeliverable | ref = 1.3 | title = Design doc for machine learning interface | external = E | responsibility = Emb. | due = 31 Aug 2013 | comments = Live document, currently available via http://mageec.org/doxygen }}
{{WPDeliverable | ref = 4 | title = Design doc identifying available features | external = E | responsibility = {{SC}} | due = 31 Aug 2013 | comments = Iterative design, live document}}
+
{{WPDeliverable | ref = 1.4 | title = Design doc for feature selection | external = E | responsibility = Emb. | due = 31 Aug 2013 | comments = Live document, currently available via http://mageec.org/doxygen }}
{{WPDeliverable | ref = 5 | title = Iterate 2-5 throughout project | external = E | responsibility = {{SC}} | due = End of each Q. | comments = }}
+
{{WPDeliverable | ref = 1.5 | title = Iterate 2-5 throughout project | external = E | responsibility = Emb. | due = End of each Q. | comments = Live deliverable continues to be updated with latest version.}}
 
| dependencies =  
 
| dependencies =  
 
| dependents =  
 
| dependents =  
Line 52: Line 52:
 
* General computing infrastructure
 
* General computing infrastructure
 
|deliverables =  
 
|deliverables =  
{{WPDeliverable | ref = 1 | title = First iteration of implementation, testing, documentation with first compiler | external = E | responsibility = {{SC}} | due = 30 Nov 2013 | comments = }}
+
{{WPDeliverable | ref = 2.1 | title = First iteration of implementation, testing, documentation with GCC | external = E | responsibility = Emb. | due = 30 Nov 2013 | comments = Implementation has begun, source is available at https://github.com/mageec/mageec and documentation at http://mageec.org/doxygen }}
{{WPDeliverable | ref = 2 | title = Second iteration of development using second compiler | external = E | responsibility = {{SC}} | due = 30 Nov 2013 | comments = }}
+
{{WPDeliverable | ref = 2.2 | title = Second iteration of framework (using LLVM) | external = E | responsibility = Emb. | due = 28 Feb 2014 | comments = Early prototype demonstrated as part of informal workshop at [Euro LLVM] in April 2014. }}
{{WPDeliverable | ref = 3 | title = Refinement of implementation with both compilers | external = E | responsibility = {{SC}} | due = End of each Q. | comments =}}
+
{{WPDeliverable | ref = 2.3 | title = Refinement of implementation with both compilers | external = E | responsibility = Emb. | due = End of each Q. | comments = 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 =
 
| dependencies =
 
* [[#WP1|Work Package 1]]
 
* [[#WP1|Work Package 1]]
Line 77: Line 77:
 
* PCB Manufacturing (outsourced)
 
* PCB Manufacturing (outsourced)
 
|deliverables =  
 
|deliverables =  
{{WPDeliverable | ref = 1 | title = Board Design Documentation | external = E | responsibility = | due = 31 Jul 2013 | comments = }}
+
{{WPDeliverable | ref = 3.1 | title = Board Design Documentation | external = E | responsibility = UoB | due = 31 Jul 2013 | comments = Board designs and documentation available via Git repository. [[Deliverable 3.1]] }}
{{WPDeliverable | ref = 2 | title = Working Hardware | external = E | responsibility = | due = 31 Jul 2013 | comments = }}
+
{{WPDeliverable | ref = 3.2 | title = Working Hardware | external = E | responsibility = UoB | due = 31 Jul 2013 | comments = Boards have been tested and demonstrated. Images can be found on [[Deliverable 3.2]]}}
 +
{{WPDeliverable | ref = 3.3 | title = v2 Measuring Hardware | external = E | responsibility = UoB | due = 31 Jan 2014 | comments = [[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 =
 
| dependencies =
 
| dependents =  
 
| dependents =  
Line 106: Line 107:
 
* Community engagement platforms
 
* Community engagement platforms
 
|deliverables =  
 
|deliverables =  
{{WPDeliverable | ref = 1 | title = Training set source | external = E | responsibility = | due =  | comments = }}
+
{{WPDeliverable | ref = 4.1 | title = Training set source | external = E | responsibility = UoB | due = 30 Sep 2013 | comments = Complete and available as part of [http://www.cs.bris.ac.uk/Research/Micro/beebs.jsp BEEBS] but with scope for additional benchmarks ([[Deliverable 4.1]])}}
{{WPDeliverable | ref = 2 | title = Case study source | external = E | responsibility = | due =  | comments = }}
+
{{WPDeliverable | ref = 4.2 | title = Case study source | external = E | responsibility = UoB | due = 28 Feb 2014 | comments = Possibilities being explored ([[Deliverable 4.2]])}}
{{WPDeliverable | ref = 3 | title = Embedded systems set up for testing | external = I | responsibility = | due =  | comments = Physical setup internal, documentation external }}
+
{{WPDeliverable | ref = 4.3 | title = Embedded systems set up for testing | external = I | responsibility = UoB | due = 30 Sep 2013 | comments = Physical setup internal, documentation external. These boards have been tested using code from Deliverable 4.1, [[Deliverable 4.3|Pictures and Videos can be found here]] }}
 +
{{WPDeliverable | ref = 4.4 | title = Evaluation set of Test Programs | external = E | responsibility = UoB | due = 28 Feb 2014 | comments = Dedicated meetings set up to tackle this deliverable. }}
 +
{{WPDeliverable | ref = 4.5 | title = Enhancements to Training Set (BEEBS v2.0) | external = E | responsibility = UoB | due = End of Each Q. | comments = 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 [[Media:James-pallister-1st-year-review.pdf|first year PhD report]] explores the rationale behind the benchmarks.}}
 
| dependencies =
 
| dependencies =
 
| dependents =  
 
| dependents =  
Line 117: Line 120:
 
|title = Theory of Analysis of Machine Learning Techniques
 
|title = Theory of Analysis of Machine Learning Techniques
 
|start = 1 July 2013
 
|start = 1 July 2013
|end = 31 August 2014
+
|end = 31 July 2014
 
|totaldays =  
 
|totaldays =  
 
|leader = University of Bristol
 
|leader = University of Bristol
Line 133: Line 136:
 
* General computing infrastructure
 
* General computing infrastructure
 
|deliverables =  
 
|deliverables =  
{{WPDeliverable | ref = 1 | title = Literature Review | external = E | responsibility = | due = 31 Jul 2013 | comments = May be appropriate for publication }}
+
{{WPDeliverable | ref = 5.1 | title = Literature Review | external = E | responsibility = UoB | due = 30 Sep 2013 (draft) ; 31 Dec 2013 (final) | comments = May be appropriate for publication. Ongoing, references can be found on the [[Literature#Machine_Learning|Literature]] page. }}
{{WPDeliverable | ref = 2 | title = Selection of core learning algorithm(s) | external = | responsibility = | due = 31 Aug 2013 | comments = Output of working days }}
+
{{WPDeliverable | ref = 5.2 | title = Selection of core learning algorithm(s) | external = E | responsibility = UoB | due = 30 Sep 2013 | comments = 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 }}
{{WPDeliverable | ref = 3 | title = Training approach | external = | responsibility = | due = 31 Aug 2013 | comments = Output of working days }}
+
{{WPDeliverable | ref = 5.3 | title = Training approach | external = E | responsibility = UoB | due = 30 Sep 2013 | comments = Output of working days, as per [[Deliverable 5.2]] }}
{{WPDeliverable | ref = 4 | title = API for implementers | external = | responsibility = | due = 30 Sep 2013 | comments = Output of working days }}
+
{{WPDeliverable | ref = 5.4 | title = API for implementers | external = E | responsibility = UoB | due = 30 Sep 2013 | comments = See [[WP1|Work Package 1]]. Plugin API used for GCC, Subclassing used for LLVM. }}
{{WPDeliverable | ref = 5 | title = Review of approach | external = | responsibility = | due = 31 Dec 2013 | comments = May be appropriate for publication }}
+
{{WPDeliverable | ref = 5.5 | title = Review of initial approach | external = E | responsibility = UoB | due = 31 July 2014 | comments = [http://mageec.org/2014/07/04/initial-review-of-data-interpretationcollection-for-summer-2014/ Blog post] by Greg Cawthorne, which may be suitable for future publication. }}
 
| dependencies =
 
| dependencies =
 
| dependents =  
 
| dependents =  
Line 144: Line 147:
 
{{WorkPackage
 
{{WorkPackage
 
|n = 6
 
|n = 6
|title = Theory of New Optimisation Passes
+
|title = Training and Testing Prototype Infrastructure
|start = 1 July 2013
 
|end = 31 August 2013
 
|totaldays =
 
|leader = University of Bristol
 
|contributors = University of Bristol, Embecosm
 
|objectives =
 
* Theoretical analysis of why energy optimisations work.
 
|description =
 
* Look at all existing work with energy measurement of relevant systems to look for data to guide implementers of optimisation passes to implement those specific for energy minimisation.
 
|equipment =
 
* General computing infrastructure
 
|deliverables =
 
{{WPDeliverable | ref = 1 | title = Paper identifying characteristics suitable for compiler optimisation passes | external = E | responsibility = | due = 31 Aug 2013 | comments = }}
 
| dependencies =
 
| dependents =
 
}}
 
 
 
{{WorkPackage
 
|n = 7
 
|title = Training Prototype Infrastructure
 
 
|start = 1 March 2014
 
|start = 1 March 2014
 
|end = 31 May 2014
 
|end = 31 May 2014
Line 177: Line 160:
 
* Train infrastructure with small set with existing optimisations
 
* Train infrastructure with small set with existing optimisations
 
* Test with small set with existing optimisations
 
* Test with small set with existing optimisations
* Repeat above with new optimisations from [[#WP8|Work Package 8]]
+
* Repeat above with new optimisations from [[#WP7|Work Package 7]]
 
|equipment =  
 
|equipment =  
 
* High performance workstation
 
* High performance workstation
 
* Embedded systems with hardware energy measuring
 
* Embedded systems with hardware energy measuring
 
|deliverables =  
 
|deliverables =  
{{WPDeliverable | ref = 1 | title = Working training infrastructure (existing optimisations) | external = E | responsibility = | due = 28 Feb 2014 | comments = }}
+
{{WPDeliverable | ref = 6.1 | title = Working training infrastructure (existing optimisations) | external = E | responsibility = Emb. | due = 31 May 2014 | comments = 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. [http://mageec.org/2014/07/17/test-reduction-using-plackett-burman/ Blog post] by George Field on reducing tests using Plackett-Burnham experiemental deisgn. Blog post to be written by James Pallister on callibration.}}
{{WPDeliverable | ref = 2 | title = Results from proof of concept training and test (existing optimisations) | external = E | responsibility = | due = 28 Feb 2014 | comments = This is proof of concept, not the evaluation }}
+
{{WPDeliverable | ref = 6.2 | title = Results from proof of concept training and test (existing optimisations) | external = E | responsibility = Emb. | due = 31 May 2014 | comments = Demonstrated at GNU Tools Cauldron, July 2014 (see https://gcc.gnu.org/wiki/cauldron2014), but training set inadequate for good results. }}
{{WPDeliverable | ref = 3 | title = Working training infrastructure (new optimisations) | external = E | responsibility = | due = 31 May 2013 | comments = }}
+
{{WPDeliverable | ref = 6.3 | title = Working training infrastructure (new optimisations) | external = E | responsibility = Emb. | due = 31 May 2014 | comments = New optimizations implementation now not expected in time (see [[#WP7|Work Package 7]]). Focus is on refining data gathering for more robust training (see [[#WP8|Work Package 8]]).}}
{{WPDeliverable | ref = 4 | title = Results from proof of concept training and test (new optimisations) | external = E | responsibility = | due = 31 May 2013 | comments = This is proof of concept, not the evaluation }}
+
{{WPDeliverable | ref = 6.4 | title = Results from proof of concept training and test (new optimisations) | external = E | responsibility = Emb. | due = 31 May 2014 | comments = As noted in deliverable 6.3, focus is on increased robustness. }}
 
| dependencies =
 
| dependencies =
 
* [[#WP2|Work Package 2]] (Compiler Infrastructure)
 
* [[#WP2|Work Package 2]] (Compiler Infrastructure)
 
* [[#WP4|Work Package 4]] (Test hardware, test applications)
 
* [[#WP4|Work Package 4]] (Test hardware, test applications)
* [[#WP8|Work Package 8]] (New Optimisations)
+
* [[#WP7|Work Package 7]] (New Optimisations)
 
| dependents =  
 
| dependents =  
 
}}
 
}}
  
 
{{WorkPackage
 
{{WorkPackage
|n = 8
+
|n = 7
 
|title = Implement New Optimisation Passes
 
|title = Implement New Optimisation Passes
 
|start = 1 September 2013
 
|start = 1 September 2013
Line 200: Line 183:
 
|totaldays =  
 
|totaldays =  
 
|leader = Embecosm
 
|leader = Embecosm
|contributors = Embecosm
+
|contributors = Embecosm, UoB
 
|objectives =  
 
|objectives =  
 
* Design and implement optimisation passes in the GCC and LLVM compilers.
 
* Design and implement optimisation passes in the GCC and LLVM compilers.
 
|description =
 
|description =
* Design new optimisation passes in light of theory from [[#WP6|Work Package 6]]
+
* Design new optimisation passes in light of theory and analysis of previous work
 
* Implement new optimisation passes in GCC
 
* Implement new optimisation passes in GCC
 
* Reimplement optimisation passes in LLVM
 
* Reimplement optimisation passes in LLVM
Line 210: Line 193:
 
* General computing infrastructure
 
* General computing infrastructure
 
|deliverables =  
 
|deliverables =  
{{WPDeliverable | ref = 1 | title = Design optimisation passes | external = E | responsibility = | due = 28 Feb 2014 | comments = }}
+
{{WPDeliverable | ref = 7.1 | title = Review of existing techniques for energy optimisation | external = E | responsibility = Emb.  | due = 31 Jan 2014 | comments = 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. }}
{{WPDeliverable | ref = 2 | title = Implement optimisation passes in GCC | external = E | responsibility = | due = 28 Feb 2014 | comments = }}
+
{{WPDeliverable | ref = 7.2 | title = Design optimisation passes | external = E | responsibility = Emb. | due = 28 Feb 2014 | comments = Theortical basis established and being presented at [http://esweek.acm.org/cases/ CASEs 2014] and [http://www.microarch.org/micro47/ Micro 47] (TBC) wich provide the requirements specification. Initial design for GCC begun.}}
{{WPDeliverable | ref = 3 | title = Implement optimisation passes in LLVM | external = E | responsibility = | due = 31 May 2014 | comments = }}
+
{{WPDeliverable | ref = 7.3 | title = Implement optimisation passes in GCC | external = E | responsibility = Emb. | due = 28 Feb 2014 | comments = 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.}}
 +
{{WPDeliverable | ref = 7.4 | title = Implement optimisation passes in LLVM | external = E | responsibility = Emb. | due = 31 May 2014 | comments = Severly limited by failure of GCC work, on which this was to be based.  We are considering whether simpler alternatives can be implemented.}}
 
| dependencies =
 
| dependencies =
 
| dependents =  
 
| dependents =  
Line 218: Line 202:
  
 
{{WorkPackage
 
{{WorkPackage
|n = 9
+
|n = 8
 
|title = Evaluation of Infrastructure
 
|title = Evaluation of Infrastructure
 
|start = 1 June 2014
 
|start = 1 June 2014
Line 238: Line 222:
 
* HPC Facilities
 
* HPC Facilities
 
|deliverables =  
 
|deliverables =  
{{WPDeliverable | ref = 1 | title = Draft paper presenting results | external = E | responsibility = | due = 31 Aug 2014 | comments = }}
+
{{WPDeliverable | ref = 8.1 | title = Trained and tested complete system with full case studies | external = E | responsibility = UoB | due = 30 Sep 2014 | comments = 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 [http://mageec.org/2014/07/31/studying-the-effect-of-mageec-on-real-software/ 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 [http://www.kosagi.com/w/index.php?title=Novena_Main_Page#Battery_board battery controller], with code on [https://github.com/xobs/senoko-chibios-3/ GitHub]. }}
{{WPDeliverable | ref = 2 | title = Final paper | external = E | responsibility = | due = 30 Nov 2014 | comments = This is the ultimate report and it is anticipated that it will take some time to develop. }}
+
{{WPDeliverable | ref = 8.2 | title = Draft paper presenting results | external = E | responsibility = UoB | due = 30 Sep 2014 | comments = Work in progress.}}
 +
{{WPDeliverable | ref = 8.3 | title = Final paper | external = E | responsibility = Emb. | due = 30 Nov 2014 | comments = 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 =
 
| dependencies =
 
| dependents =  
 
| dependents =  
 
}}
 
}}
 
+
by Joern
 
{{WorkPackage
 
{{WorkPackage
|n = 10
+
|n = 9
 
|title = Dissemination and Exploitation
 
|title = Dissemination and Exploitation
 
|start = 1 June 2013
 
|start = 1 June 2013
Line 259: Line 244:
 
|description =
 
|description =
 
* Develop business case by engagement of all stakeholders
 
* Develop business case by engagement of all stakeholders
* Ongoing review of business case throughout project, leading to updated explotation plan
+
* 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.), presentations, training events, new media using the skills of AB Open
+
* 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
 
* Engagement with potential customers
 
* Publication of papers as described in various Work Packages.
 
* Publication of papers as described in various Work Packages.
Line 266: Line 251:
 
* General computing infrastructure, including website and social media (http://mageec.org)
 
* General computing infrastructure, including website and social media (http://mageec.org)
 
|deliverables =  
 
|deliverables =  
{{WPDeliverable | ref = 1 | title = Explotation plan | external = E | responsibility = | due = 31 Aug 2013 | comments = Updated every quarter }}
+
{{WPDeliverable | ref = 9.1 | title = Exploitation plan | external = E | responsibility = Emb. | due = 31 Aug 2013 | comments = Updated every quarter }}
{{WPDeliverable | ref = 2 | title = Participation in workshops and training events | external = E | responsibility = | due = 30 Nov 2014 | comments = Dates to be confirmed }}
+
{{WPDeliverable | ref = 9.2 | title = Participation in workshops and training events | external = E | responsibility = Emb. | due = 30 Nov 2014 | comments = Most recent full demo and presentaton given at the [https://gcc.gnu.org/wiki/cauldron2014 GNU Tools Cauldron], future events include [http://www.cs.bris.ac.uk/Research/Micro/eaco.jsp EACO meeting], [http://dtai.cs.kuleuven.be/events/ilp2014/ ILP 2014], [http://esweek.acm.org/cases/ CASES 2014], [http://llvm.org/devmtg/2014-10/ North American LLVMDevelopers' Meeting], [http://www.innovateukevent.com/ Innovate UK 2014], and [http://www.microarch.org/micro47/ Micro '47]. Full details at [[MAGEEC#Events]]. }}
{{WPDeliverable | ref = 3 | title = Website/wiki/new media | external = E | responsibility = | due = 31 Aug 2013 | comments = Due date is set up of, mainted throughout project }}
+
{{WPDeliverable | ref = 9.3 | title = Website/wiki/new media | external = E | responsibility = Emb. | due = 31 Aug 2013 | comments = Maintained throughout project, new website http://www.beebs.eu for BEEBS. }}
{{WPDeliverable | ref = 4 | title = Papers | external = E | responsibility = | due = | comments = Detailed throughout project plan, for dates and details, refer to associated work packages. }}
+
{{WPDeliverable | ref = 9.4 | title = Papers | external = E | responsibility = n/a | due = n/a | comments = Detailed throughout project plan, for dates and details, refer to associated work packages. }}
 
| dependencies =
 
| dependencies =
 
| dependents =  
 
| dependents =  
 
}}
 
}}
 +
 +
== 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]].
 +
 +
[[File:MAGEEC_Gantt.png|800px]]
 +
 +
[[Category:Planning]]

Latest revision as of 09:09, 4 April 2015


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