Pragmatic integrated scheduling for clustered VLIW architectures
Clustered architecture processors are preferred for embedded systems because centralized register file architectures scale poorly in terms of clock rate, chip area, and power consumption. Scheduling for clustered architectures involves spatial concerns (where to schedule) as well as temporal concerns (when to schedule). Various clustered VLIW configurations, connectivity types, and inter-cluster communication models present different performance trade-offs to a scheduler. The scheduler is responsible for resolving the conflicting requirements of exploiting the parallelism offered by the hardware and limiting the communication among clusters to achieve better performance. In this paper, we describe our experience with developing a pragmatic scheme and also a generic graph-matching-based framework for cluster scheduling based on a generic and realistic clustered machine model. The proposed scheme effectively utilizes the exact knowledge of available communication slots, functional units, and load on different clusters as well as future resource and communication requirements known only at schedule time. The proposed graph-matching-based framework for cluster scheduling resolves the phase-ordering and fixed-ordering problem associated with earlier schemes for. scheduling clustered VLIW architectures. The experimental evaluation in the context of a state-of-art commercial clustered architecture (using real-world benchmark programs) reveals a significant performance improvement over the earlier proposals, which were mostly evaluated using compiled simulation of hypothetical clustered architectures. Our results clearly highlight the importance of considering the peculiarities of commercial clustered architectures and the hard-nosed performance measurement. Copyright (c) 2007 John Wiley & Sons, Ltd.
scheduling clustered vliw architectures cluster scheduling