Work

Environment Replay for Low-End Reactive Embedded Systems

Year: 2005
Type: article
Abstract: (Under the direction of Assistant Professor Alexander Dean). Existing benchmark suites for embedded systems focus on batch processing appli-cations to simplify portability. However, embedded systems are typically tightly coupled to the external environment through input/output (I/O) operations, resulting in reactive, real-time rather than batch behavior. Furthermore, often the environmental state is not dependent on program progress, so portions of the program may block until an environmen-tal change occurs, limiting the impact of a faster processor or more efficient code. Existing benchmark suites ignore these important aspects, leading to one-dimensional characteriza-tions of embedded systems. This work offers methods to record and play back environmental inputs within the limited resources available on common low-end microcontroller units (MCUs). We modify input operations in the source code at the C level, creating a record version and a replay version. For recording, input data is captured and stored as the program executes. This data is analyzed, compressed and converted off-line into a series of time-dependent events. During replay, the input operations read the compressed environmental input event data, rather than the environment. These changes allow virtualization of input operations, result-ing in C code which can easily be ported to different processors for batch-mode performance evaluation, yet still react to the original event timeline. Our methods are demonstrated with a universal infrared remote control applica-tion. Environmental inputs are recorded on an 8-bit MCU, processed and replayed. We then evaluate the impact of a higher clock rate and also porting to a 16-bit MCU. We characterize memory requirements, response times and the implications of porting interrupts.
Language: English
Open Access status: green
OpenAlex ID: W2520006018
FWCI:
Cites: 7
Cited by:
Related to: 10