Complex systems are large applications, typically running on distributed, heterogeneous networks, driven by a number of distinct constraints and desiderata on goals such as performance, real-time behavior, and fault tolerance. These requirements frequently conflict, and satisfaction of these design objectives interacts strongly with assignment of system tasks to processors. The NSWC design framework DESTINATION provides an assignment module which can be used to optimize the system, as measured by the value of a weighted combination of objective cost functions. For even modest-sized systems and networks, assignment space is too large to search exhaustively. We have implemented algorithms which generate heuristically good assignments. However, compile-time evaluation of many interesting design factors, even those clearly related to assignment, is impossible without some estimate of the schedule. We therefore provide approaches for determining a reasonable "pseudo-schedule" for a given system, network, and assignment, and use this to simulate execution in evaluating cost functions.
All Science Journal Classification (ASJC) codes