Skip to Main Content
The co-synthesis of hardware-software systems for distributed and/or embedded applications has been studied extensively in the recent past, in combination with various qualitative objectives. However, the issues related to design exploration for gracefully degrading systems with the specific objective of achieving the desired levels of availability need to be addressed systematically. In this paper, we propose a cosynthesis mechanism for generating gracefully degrading multiprocessor architectures which fulfill the dual objectives of achieving real-time performance as well as ensuring high levels of system availability as defined by the user's availability expectations under different states of functionality. A rule-based model for incorporating the user's availability requirements and evaluating the system availability is coupled with a stochastic scheduling technique and a genetic algorithm (GA) to optimize the resource selections, task allocations and task schedules. Results show that it is possible to obtain a range of near-optimal solutions, offering tradeoffs between performance and availability benefits at different costs.