Highly Dynamic Electronic Systems
Modern electronic systems are highly dynamic with multiple sources of dynamism including user, environment, hardware, input data, and mapping. At hardware implementation level, manufacturing process variability and material degradation are the two most-worried sources in advanced nanoscale device and 3D integration technologies (Borkar, 2005; Groeseneken, 2005; Srinivasan et al., 2004) - they will result in spatial and temporal variation in parametric behavior (such as delay/access-time, active and leakage power) of components (such as functional units, memories, and communication links) (Groeseneken, 2005; Papanicolaou et al., 2008). They can also lead to temporary or permanent unavailability of a whole component or some operational modes of the component. These variations are traditionally hidden under worst-case abstractions (e.g., static clock period and functional failure) and made invisible to higher abstraction levels (typically by using simple redundancy-based techniques (Srinivasan et al., 2005; Constantinides et al., 2006)). With appropriate circuit-level techniques, such as delayed clocking (Ernst et. al., 2003) and measurement-driven adaptation, this dynamism can be propagated through the abstraction layers and made visible to higher levels leading to, what we call, dynamic hardware interface.
Next to this, user inputs (e.g., changing from GPS navigation to video streaming application and changes in quality-of-service requirements such as frame rate, resolution, and level-of-detail) result in a dynamically changing set of applications, algorithms and their workload (Tack et al., 2005). In other words, sharing platform resources among multiple dynamic applications/tasks results in dynamic changes in the resource availability for a given application or task-set. Smart algorithms of future systems which adapt themselves to environment changes (e.g., moving from a WiFi hotspot area to WiMax/3G coverage area, fluctuating wireless channel state due to fading effects, changing requirements of dynamic active set of users sharing the same frequency spectrum) result in a dynamic workload (Li et al., 2008). In applications like video codec and graphics rendering, input data being processed by the algorithm results in varying workload both within and across the frames (Wiegand et al., 2003). Cost-efficient mapping (e.g., bit-width aware compilation, distributed loop-buffers, etc) of algorithms on architectures further exploits the variations in the control and data signals and thus acts as additional source of dynamism (typical compilation techniques hide this dynamism with abstractions such as worst-case bit-width and predication) (Novo et al., 2008). Although the dynamism introduced by mapping is significantly influenced by other sources of dynamism, its complexity and huge impact on optimality make it worth treating as a separate source.
To summarize, both the physical components of the system (so-called hardware) and their usage (so-called software) are extremely dynamic in most modern system contexts (as conceptually shown in Figure 1). It is important that the system allows the exploitation of dynamism by having not so large load-independent cost as shown in Figure 2. Today many platforms are not designed to expose the underlying true cost variations. This implies the application designers have to discover the hidden opportunity to push the platform designers towards alternative holistically optimal systems. Similarly we assume that platforms suitable for hard constrained dynamic systems typically incorporate features to enable deterministic application mapping (like software controlled memories, time multiplexed access of shared resources, etc.) (Bekooij et al., 2004).
Figure 1. Multi-pronged dynamism in modern system contexts
Figure 2. Platforms with large load-independent cost are not fit for exploiting dynamism as there is nothing much to gain from adapting the system to the dynamic situation at hand