Quality of Service and System Design Kevin T. Kornegay , Gang Qu , and Miodrag Potkonjak Department of Electrical Engineering, Cornell University, Ithaca, NY 14853-5401 Computer Science Department, University of California, Los Angeles, CA 90095-1596 Abstract Quality of Service (QoS) of the implementation of an ap- plication can be defined as a function of the properties of the application and its implementation as observed by the user and/or the environment. Typical application and im- plementation properties include latency, throughput, jitter, and the level of resolution. Many of the current and pend- ing most popular applications, such as multimedia, wireless sensing and communications, security and PEBBs, have in- trinsic relevant QoS components. Recently, quality of service attracted a great of deal of attention in a number of research and development communities, and in particular, in the net- work and multimedia literature. However, until now synthesis and CAD research did not addressed how to design systems with quantitative QoS re- quirements. Our goal in this paper is to outline founda- tions and framework in which QoS system design trade-offs and optimization can be addressed. We first identify and state in synthesis-usable way two currently most popular ap- proaches to Quality of Service treatment: Q-RAM and DS- curve (demand/service). We discuss advantages and limita- tions of the two approaches. Next, we show how these two approaches can be combined in a new more comprehensive QoS framework. We also explain and illustrate using exam- ples interaction between QoS and synthesis and compilation tasks. We conclude by identifying and discussing the future directions related to synthesis of QoS-sensitive systems. 1 Introduction Traditionally, the most successful domain of behavioral syn- thesis has been high-level synthesis of computationally in- tensive designs. These type of design follows the synchronous data flow model of computation. Many programs in appli- cations such as digital signal processing, communications, and control theory applications can be expressed using this computational abstraction. This is in particular true from smaller applications, such as filtering, FFT, DCT, and cordic [14]. The success in this domain can be mainly attributed to a very clear, simple, and tractable abstraction: fully repeti- tive processing of fully periodic streams of input data. This restricted semantics has as a prime ramification has applica- bility of compile-time static scheduling and great amenabil- ity for optimization using transformations. At the same time, processor design was a well understood process. A widely accepted benchmarks, such as SPEC, have been driving processor optimization. While this task is considerably more complex than DSP behavioral synthe- sis, the designers leveraged on quantitative optimization pro- cedures based on implementation optimization of the set of benchmark programs. However, the recent application and technology trends are making the traditional behavioral DSP synthesis and mi- croprocessor design techniques obsolete in a sense that they are not adequate for specifying and optimization the pending most popular applications. These new applications have a new set of objectives and constraints. For example, in multi- media applications the parameters such as jitter, latency, syn- chronization and a need for multiresolution are considered of primary importance. All these parameters form Quality of Service (QoS) for a given application. We can define Quality of Service (QoS) of the imple- mentation of an application as a function of the properties of the application and its implementation as observed by the user and/or the environment. Many of the current and pend- ing most popular applications, such as multimedia, wireless sensing and communications, security and PEBBs, have in- trinsic relevant QoS components. Recently, quality of ser- vice attracted a great of deal of attention in a number of re- search and development communities, and in particular, in the network routing and multimedia delivery. However, until now synthesis and CAD research did not addressed how to design systems with quantitative QoS re- quirements. Our goal in this paper is to outline foundations and framework in which QoS system design trade-offs and optimization can be addressed. The rest of the paper is organized in the following way. We first identify and state in synthesis-usable way two cur- rently most popular approaches to Quality of Service treat- ment: Q-RAM and DS-curve (demand/service). We discuss advantages and limitations of the two approaches. Next, we show how these two approaches can be combined in a new more comprehensive QoS framework. We also explain and illustrate using examples the interaction between QoS and synthesis and compilation tasks. We conclude by identify- ing and discussing the future directions related to synthesis of QoS-sensitive systems.