Embedded system design has become important in the recent years with the integration of computing components in devices of everyday use. Most of these applications must give guaranteed responses within a time bound and should consume low power. To satisfy the power and timing guarantees, embedded system designers often perform extensive simulation of the application code. This is to ensure that the time and power consumption lies within a specified budget under all circumstances. However, simulation might miss corner cases and extensive simulation is infeasible for designs with tight time-to-market constraint.
This project takes a two-pronged approach for developing high-assurance embedded systems with strict power and timing budget. First, we employ static analysis techniques to estimate the worst-case power and performance bound. This involves a combination of programming language level analysis with micro-architectural modeling of the platform. Our focus here is to study the effect of micro-architectural features with unpredictable dynamic behavior (e.g., caches, speculation, interconnection network) on timing and power consumption.
Secondly, we are developing software design patterns and hardware features to make the run-time behavior of embedded code more predictable. This will allow the designer to avoid complicated modeling of hardware features for timing/power estimation. The main challenge here is to develop sufficient conditions under which fragments of the application code can be certified as "predictable" (and hence amenable to efficient timing/power estimation). Furthermore, we are studying source level transformations under which code with unpredictable run-time behavior can be converted to semantically equivalent "predictable" code.

Faculty
Current Students
Xianfeng Li [PhD] Dean's Graduate Award 2003, PhD Fellowship 2002
Ramkumar Jayaseelan [PhD]
Vivy Suhendra [PhD, RA]
Collaborators
Li-Shiuan Peh [Princeton University]
Simon Bao Xiaoming [I2R, Singapore]

|
|
Modeling Control Speculation for Timing Analysis. Xianfeng Li, Tulika Mitra, Abhik Roychoudhury. Real-Time Systems Journal, Kluwer Academic Publishers [To appear] |
|
|
Modeling Out-of-Order Processors for Software Timing Analysis, Xianfeng Li, Abhik Roychoudhury, Tulika Mitra. IEEE Real-time Systems Symposium (RTSS), December 2004 |
|
|
Simplifying WCET Analysis by Code Transformations. Hemendra Singh Negi, Abhik Roychoudhury, Tulika Mitra. 4th International Workshop on Worst-Case Execution Time Analysis (WCET), June 2004 |
|
|
Design Space Exploration of Caches using Compressed Traces. Xianfeng Li, Hemendra S. Negi, Tulika Mitra, Abhik Roychoudhury. 18th ACM International Conference on Supercomputing (ICS), June 2004 |
|
|
Accurate Estimation of Cache-Related Preemption Delay. Hemendra Singh Negi, Tulika Mitra, Abhik Roychoudhury. CODES+ISSS Merged Conference, October 2003 |
|
|
A Survey of Methods to Improve ILP-based WCET Analysis. Xianfeng Li. 3rd Workshop on Worst Case Execution Time Analysis (WCET), July 2003 |
|
|
Accurate Timing Analysis by Modeling Caches, Speculation and their Interaction. Xianfeng Li, Tulika Mitra, Abhik Roychoudhury. 40th ACM/IEEE Design Automation Conference (DAC), June 2003 |
|
|
Timing Analysis of Embedded Software for Speculative Processors. Tulika Mitra, Abhik Roychoudhury, Xianfeng Li. 15th ACM/IEEE International Symposium on System Synthesis (ISSS), October 2002 |
|
|
A Framework to Model Branch Prediction for WCET Analysis. Tulika Mitra, Abhik Roychourdhury, 2nd Workshop on Worst Case Execution Time Analysis (WCET), June 2002 |

The project now has the following open research positions.
|
|
PhD Students: New PhD students interested in embedded systems are invited to join the project. Sample thesis topics include "Compiler optimizations to improve worst case performance", "Design of predictable architectures", "Timing analysis of concurrent programs", "Debugging software for timing violations". Successful candidates can apply for a monthly top-up of research scholarship from the grant. |
|
|
6-month to 1-year Internship: Applications are invited for 6-month to 1-year internship. Applicants should be either in the final year or should have completed undergraduate degree in Computer Science or Computer Engineering with high GPA. Background in computer architecture and/or compiler is essential for short term internships. |
Please contact Tulika Mitra (tulika@comp.nus.edu.sg) or Abhik Roychoudhury (abhik@comp.nus.edu.sg) for further information and application.