Carnegie Mellon University
18-849b Dependable Embedded Systems
Authors: Kanaka Juvva
Quality of Service (QoS) is an emerging research area that deals with the trading of system resources among the co-operative applications. Allocating sufficient resources to different applications in order to satisfy various requirements is a fundamental problem. Though the notion of QoS has traditionally started with telecommunications, it has expanded to networked multimedia systems, distributed real-time systems and embedded real-time systems. In large distributed systems such as those in defense systems, and Internet based applications like IP telephony, applications contending for system resources must satisfy timing, reliability and security constraints as well as application-specific quality requirements. To address this diversified problem several approaches have been developed. They can be classified as: Utility Based Approach, QoS Brokers and Network QoS. In utility based approaches, finite system resources are allocated to multiple QoS dimensions to maximize overall utility of the application. In the second approach QoS brokers trade the system resources globally and locally to satisfy application QoS requirements. The third approach, network QoS deals with the management of network resources to provide the QoS guarantees in WANs. As it stands the application of QoS to embedded systems is limited.
Quality of service (QoS) has been receiving wide attention in the recent years in many research communities including networking, multimedia systems, real-time systems and distributed systems. These systems have a requirement that applications contending for system resources must satisfy timing, reliability and security constraints as well as application-specific quality requirements. These requirements called as QoS guarantees required by the application. Typically these requirements vary from application to application and some times depend on user preferences also. For example in a videoconferencing application one user may want a frame rate of 12 fps and audio sampling rate of 44 khz. Other user may want video frame rate of 15 fps and 32 khz audio. Similarly there can be other requirements such as encryption is required or not. Allocating sufficient resources to different applications is satisfy these constraints is a QoS management problem Next sections addresses some of the approaches.
QoS research mainly deals with the management of system and network resources to provide performance guarantees. There are several ways to manage system resources. One can employ resource brokers as intermediate elements to interact with both application and the system. These brokers maintain a database of QoS requirements and allocate the system resources to meet the requirements. The problem is very complex. Some research has been underway to deal the NP-hard problem of QoS management. There are also utility based approaches which maximize the overall utility of the application for the given finite amount of resources. More explanation on these approaches is given below.
To provide applications with end-to-end guarantees, network resource management alone is not sufficient. This is particularly true when end-points become more sophisticated, e.g., workstations with rich device support, multiprocessing and multiple users. This suggests a need to balance resources among application, network and OS at the end-points, and between end-points and the network. The QoS Broker [Klara95] orchestrates resources at the hosts, and cooperates with network orchestration. The QoS broker design is explained below.
In human affairs, brokers are engaged as specialists in a particular type of renegotiation. They serve as intermediaries, using specialized knowledge, and ideally work towards obtaining mutually desirable outcome between some set of buyers and some set of sellers. The QoS broker Figure 1., emulates the same concept where the "buyers" are the end-point sites which want to "buy" resources from other remote sites of networked multimedia system and the "sellers" are the remote sites which have their resources for sale during the brokerage process.
As shown in Figure 1. The QoS Broker entity is an end-point resource manager which:(1) orchestrates resources, needed for tasks in the application, at the end-point, (2) negotiates with network resource management, and (3) negotiates with the remote QoS Broker. The resources required by the application are described through application QoS parameters. The parameters typically consists of media quality descriptions for the specific media characteristic of each device, such as sample size (e.g., height, width, and color specification in a video stream), and the media sample rate and priority/criticality. The parameters can also include an application-oriented specification of the transmission characteristics requirements for end-to-end delivery and communication topology. The network resources can be bandwidth, buffer space for packet/cell queuing, round-trip-delay and interarrival delay (jitter).
The network resources are specified as network QoS parameters. Operating system (OS) resources are processing times required for tasks, secondary storage, and memory buffer requirements. The OS resources are required at the application level and at the communication level. All OS resources are parameterized through system parameters. All parameters are stored in profiles (databases). The profiles are used by the Broker to make tradeoffs in a system. For example, the burstiness in the network could be accommodated by the operating system with an elastic buffer if the additional end-to-end delay resulting from inserting the buffer was acceptable based on the profiles. The QoS brokerage idea has been tried on a telerobotics application and it also has wide application to video conferencing etc.
Utility Based Approaches
The Amaranth project [Amaranth97] at CMU provides multi-dimensional, adaptive, assured Quality of Service (QoS) for heterogeneous distributed computing systems. In particular, it will enable systems to provide guarantees of QoS along multiple dimensions, with each dimension having several potential levels of potential assured service:
The Amaranth focuses on adaptive, distributed optimization of the application overall utility . Rather than provide an absolute guarantee, the user can negotiate for a probabilistic guarantee for given levels of service over a given level of time. This permits various tradeoffs among firmness of the commitment, the levels of service desired along each dimension, and the duration of the commitment. An of this approach is that it supports graceful degradation while still providing QoS guarantees. Assured graceful degradation may permit building smaller systems that are sized for average workloads, rather than requiring the construction of large systems sized for worst case conditions.
This section describes QoS management in wide-area networks. QoS in networks mainly deals with the development of resource allocation protocols to provide delay and bandwidth guarantees. As a result, several resource allocation protocols capable of supporting applications that request per-flow QoS have been developed.
In the context of Integrated Services Internet, RSVP [RSVP97] and SCMP [SCMP95] are the two resource allocation protocols that have been developed. The more popular of these protocols, RSVP, has been explicitly designed to support multimedia multicast applications and uses a receiver-oriented resource allocation model. RSVP allocates resources on a per-flow basis, where a flow is either a unicast session or an entire multicast session or a sender-specific multicast flow within the multicast session. SCMP on the other hand was initially designed with the sender-oriented resource allocation model for unicast flows, but was later extended to include both sender and receiver oriented reservations and also multicast.
QoS is an emerging field and there are no tools currently available to quantify it. Utility based approaches deal with problem and they are in very early stages.
QoS in real-time systems is drawing lot of attention. As these systems expand to Multimedia and Internet based applications, QoS is one of the possible ways to deal with scheduling of the integrated services in real-time.
Robustness is an aspect of QoS. A more robust system provides better QoS than less robust system.
QoS is an emerging area with applications to distributed real-time systems, networked multimedia systems etc. So far most of the research on QoS deals with the management/brokerage of the system resources to provide the best QoS for applications. However, the right metrics for QoS are fuzzy. Future research on QoS should address this issue.
Notes: This paper talks about resource orchestration by QoS brokers in networked multimedia systems. This can be applicable to other soft real-time systems.
Notes: This paper deals with the multidimensional quality of service optimization and trade offs in distributed environments.
Notes: This paper discusses about a resource allocation protocol for advanced services Internet.
Notes: This paper discusses about a RSVP i.e. resource reservation protocol for advanced Internet services.
Notes: This paper discusses about SCMP i.e. Internet Stream Protocol for advanced Internet services.
QoS metrics vary from application to application and are in early phase.
Go To Project Page