Projects in embedded software:

Embedded software resources:

 

Code Optimization

Over the years we have developed several methods for optimizing loop-intensive embedded software. Most recently, we have applied retiming, a traditional hardware optimization, to code scheduling. Retiming provides a theoretical framework and practical method for provably-good scheduling in loop nests.

Selected papers:

  • Noureddine Chabini and Wayne Wolf, "Minimizing variables' lifetime in loop-intensive applications," in Rajeev Alur and Insup Lee, eds., Embedded Software, Berlin: Springer, LNCS 2855, 2003, pp. 100-116.

  • Noureddine Chabini and Wayne Wolf, "An approach for integrating basic retiming and software pipelining," in Proceedings, EMSOFT 2004, ACM Press, 20043, pp. 287-296.

Memory Systems

Memory systems play a major role in determining both the performance and energy consumption of embedded systems. We developed a process-level cache model for multi-tasking that allows tools to optimize the cache behavior of multi-process systems. With Mahmut Kandemir of Penn State, we wrote a survey on memory systems for the Proceedings of the IEEE.

Selected papers:

  • Yanbing Li and Wayne Wolf, "Hardware/software cosynthesis of memory systems," IEEE Transactions on CAD, 18(10), October 1999, pp. 1405-1417.
  • Wayne Wolf and Mahmut Kandemir, "Memory system optimization of embedded software," Proceedings of the IEEE, 91(1), January 2003, pp. 165-182.

Real-Time Scheduling

With Joerg Henkel of NEC, we developed a novel model for multi-tasking that allows the OS to switch between several implementations of a task during execution. We use a combination of design-time and run-time methods to make sure that the schedule does not violate deadlines either during transient behavior or in steady state as a task switches implementations.

Selected papers:

  • Tin-Man Lee, Joerg Henkel, and Wayne Wolf, "Dynamic runtime re-scheduling allowing multiple implementations of a task for platform-based designs," in Proceedings, DATE '02, IEEE, 2002.