CS5271 August - December 2006

CS5271
Performance Analysis of Embedded Systems

Semester 1, 2006-07 (Aug - Dec 2006)




Announcements

Course Description

Modern embedded systems are heterogeneous collections of multiple hardware and software components, which might be designed by different vendors and have different interfaces. This heterogeneity, coupled with the complexity of embedded software and the complex features of modern processors make performance analysis of such systems a difficult problem. In recent years, there has been a lot of work in this area, especially because of its practical importance. In this course, we will discuss some of this work with the aim of getting a broad overview of this area.

The topics to be discussed will include formal models, algorithms, various simulation techniques, tools and case studies in the specific context of embedded systems, which significantly differ from techniques used for the performance analysis of general computer systems. Our focus will be on system-level design techniques, with the aim of critically accessing known models and methods in terms of their generality and applicability at different stages of an embedded system design process.

This course will be suitable for both graduate students and honors-year undergraduate students, who are interested in the general area of Computer Engineering. The projects/assignments will consist of a mix of theory and implementation and there will be enough flexibility to incline more towards one or the other direction.

This will mostly be a lecture-oriented course, i.e. the instructor will do all the lecturing. Towards the end of the course, the students will give presentations on their projects.

Class Information

Prerequisites

No prior experience with Embedded Systems is required. In fact this course might help you to form a good impression about what embedded systems design is about. However, some basic exposure to algorithms, compilers and computer architecture will be helpful. In case you are in doubt, please talk to the instructor. Students interested in CS5272: Embedded Software Design, or CS4272: Hardware-Software Co-design might also be interested in this course.

Assessment

Assignments: 40  %
Project and reading research papers: 60  %


There will be NO final examination for this course. Instead there will be a couple of assignments, a project and research paper reviews. The assignments will typically be due in 2-3 weeks after they are given out. The project will be due at the end of the semester and will involve writing a report and giving a presentation. The project might be implementation-oriented, or it might involve writing a survey paper on some relevant topic. Projects might be carried out alone, or in groups of two to three (especially if it is implementation-oriented).

Course Structure

The focus of the course will be on execution time analysis or timing analysis (in contrast to other possible performance metrics, such as power consumption). The treatment will be at the system-level (in contrast to say, gate-level timing analysis which is in the domain of pure Electrical Engineering). The topics to be covered, apart from the one or two introductory lectures, can be broadly classified under three headings.

Reading Materials and Resources

There is no suitable textbook available for this course. The following is a list of papers that are to be read, and the material to be presented in the class will also be drawn from them.

Pointers to some systems you might use for your project:

Note: 1) It is not necessary to have prior knowledge or experience with any of the above languages or platforms. Some basic knowledge of C and Computer Architecture will be sufficient to get familiarized with the above, if you need to use them.
2) You are also welcome to use any other suitable languages / modeling platforms / frameworks. Please discuss this with the instructor.


Last modified: 31 July, 2006.