Studiewijzer 2022/2023

Globale inhoud

Embedded systems are now ubiquitous starting from your smartphones to other smart devices. Heterogeneous Multi-Processors System-on-Chip (HMPSoCs) power the state-of-the-art embedded systems. HMPSoCs contain highly capable multi-cluster multi-core CPUs and GPUs that enable high-end embedded applications. Machine Learning (ML)-based computer vision using Convolutional Neural Networks (CNNs) applications are one such class of applications increasingly deploying on embedded systems.


Embedded systems operate in power-constrained environments. While the application developers care about the functional correctness and accuracy of the deployed CNNs, embedded system developers need to worry about their extra-functional properties, like power efficiency. Moreover, it is also not always possible to alter the application to improve power efficiency. Therefore, embedded system developers must exploit their detailed understanding of the system to minimize the CNNs' power consumption while still meeting the stipulated performance requirement. They must use all the power management knobs available to enable the most power-efficient CNN inference.


In embedded systems, application-specific Operating Systems (OS) sub-routines, called Governors, manage the overlying application's power consumption. Governors deploy complex algorithms internally to maximize power efficiency. In this course, we will learn to write Governors for optimizing the power consumption of CNNs deployed on HMPSoCs.

Studiemateriaal

Literatuur

  • https://www.techrxiv.org/ndownloader/files/28864056/1

Software

  • https://github.com/Ehsan-aghapour/ARMCL-Pipe-All

  • https://github.com/Ehsan-aghapour/Governor_Demo

Leerdoelen

  • The students can setup an embedded development environment in terms of both hardware and software. The students can then compile and execute an embedded application on an embedded development board.
  • The students can do a detailed power-performance analysis of a state-of-the-art embedded application executing on a state-of-the-art embedded Heterogeneous Multi-Processor System on Chip (HMPSoC).
  • The student can design an algorithm to optimize the power-efficiency of an embedded application on the given embedded platform. The students can then implement their algorithm as an Operating System (OS) sub-routine.
  • They can evaluate the efficacy of their sub-routine in minimizing power consumption alongside an overhead analysis.

Onderwijsvormen

  • Hoorcollege
  • (Computer)practicum
  • Presentatie/symposium
  • Zelfstudie

Lecture: Gives students an idea about the embedded systems, the problem they are addressing, and the hardware/software involved. This lecture will impart all the knowledge needed to get started with their practical assignment.

Practicals: Students will work with state-of-the-art embedded development boards. They will get first-hand experience of working as an embedded software developer.

Presentation: Students will give a presentation about their observations and results. The presentation will give them a chance to improve their public speaking skill alongside giving vital experience in doing a technical presentation.

Self-Study: Students will have to understand the existing cutting-research work themselves, and learn how to apply (extend) it.
 
 

Verdeling leeractiviteiten

Activiteit

Uren

Hoorcollege

2

Practicum

16

Zelfstudie

150

Totaal

168

(6 EC x 28 uur)

Aanwezigheid

Aanwezigheidseisen opleiding (OER-B):

  • Voor practica en werkgroepbijeenkomsten met opdrachten geldt in principe een aanwezigheidsplicht. Wanneer studenten niet voldoen aan deze aanwezigheidsplicht kan dit als gevolg hebben dat het onderdeel niet met een voldoende kan worden afgerond.

Aanvullende eisen voor dit vak:

Participation in all the practical sessions is obligatory.

Toetsing

Onderdeel en weging Details

Eindcijfer

Advance Point (Linux Kernel Module)

Competition

Environment Demo

Governor Demo

Governor Report

Power-Performance Characterisation Report

The final grade will between 0 - 10. The final grade of the project should be 5 or higher to pass.

The grading will involve a Environment Demo (1 Point), Power-Performance Characterisation Report  (2 Points), Governor Report (2 Points),  Governor Demo (2 Points), and a Competition (Upto 3 Points).

Inzage toetsing

Students can use the lab sessions to ask questions about the upcoming assignments and request feedback on previous graded assignments.

Opdrachten

All weekly assignments has to be done in a group and graded.

Feedback will be given over Canvas and in-person in the practicum sessions.

All assignments are graded.

 

 

Fraude en plagiaat

Over het algemeen geldt dat elke uitwerking die je inlevert ter verkrijging van een beoordeling voor een vak je eigen werk moet zijn, tenzij samenwerken expliciet door de docent is toegestaan. Het inzien of kopiëren van andermans werk (zelfs als je dat hebt gevonden bij de printer, in een openstaande directory of op een onbeheerde computer) of materiaal overnemen uit een boek, tijdschrift, website, code repository of een andere bron - ook al is het gedeeltelijk - en inleveren alsof het je eigen werk is, is plagiaat.

We juichen toe dat je het cursusmateriaal en de opdrachten met medestudenten bespreekt om het beter te begrijpen. Je mag bronnen op het web raadplegen om meer te weten te komen over het onderwerp en om technische problemen op te lossen, maar niet voor regelrechte antwoorden op opgaven. Als in een uitwerking gebruik is gemaakt van externe bronnen zonder dat een bronvermelding is vermeld (bijvoorbeeld in de rapportage of in commentaar in de code), dan kan dat worden beschouwd als plagiaat.

Deze regels zijn er om alle studenten een eerlijke en optimale leeromgeving aan te kunnen bieden. De verleiding kan groot zijn om te plagiëren als de deadline voor een opdracht nadert, maar doe het niet. Elke vorm van plagiaat wordt bestraft. Als een student ernstige fraude heeft gepleegd, kan dat leiden tot het uitschrijven uit de Universiteit. Zie voor meer informatie over het fraude- en plagiaatreglement van de Universiteit van Amsterdam: www.student.uva.nl

Weekplanning

Weeknummer Onderwerpen Studiestof
1 Environment Demo  
2 Power-Performance Characterisation Report   
3 Governor Report  
4 Governor Demo & Competition  

Rooster

Het rooster van dit vak is in te zien op DataNose.

Honoursinformatie

You must win in the competition to recieve the highest grade(s).

Aanvullende informatie

You must bring a laptop running Ubuntu (preferably Ubuntu 20.04) to participate in this lab. It is not possible to do the lab using any other OS.

Verwerking feedback studenten

Last year students wished for more time with the board. Therefore, students in this course iteration would be allowed to take embedded boards home.

We will dedicate the mandatory lab sessions to resolving issues and providing demos and assignments rather than development.

We have removed the bonus point assignment from last year as it was deemed too difficult.

A sample code will be provided from the very start to bootstrap the Governor's development. This code improves the focus on the fundamental learning objective of this course, i.e., Embedded Governor Design and Development.

We have split the large monolithic assignment (from the last year) submitted at the end into smaller weekly milestone assignments coalescing to the final grade.

Contactinformatie

Coördinator

  • dr. ing. Anuj Pathania

Docenten

  • E. Aghapour
  • S. Polstra