Middleware Versus Native OS Support: Architectural Considerations For

Middleware Versus Native OS Support: Architectural Considerations For

Middleware versus Native OS Support: Architectural Considerations for Supporting Multimedia Applications ¡£¢ Prashant Shenoy, Saif Hasan , Purushottam Kulkarni, Krithi Ramamritham ¤ Department of Computer Science ¡ Microsoft Corporation University of Massachusetts, One Microsoft Way, Amherst, MA 01003 Redmond, WA, 98052 ¥ shenoy,purukulk,krithi ¦ @cs.umass.edu [email protected] Abstract video instead of general-purpose file servers, while audio- video playback required the use of specialized hardware de- In this paper, we examine two architectural alternatives— coders. Due to the rapid improvements in computing and native OS support versus middleware—for supporting mul- communication technologies as dictated by Moore’s Law, timedia applications. Specifically, we examine whether ex- it is now feasible to employ general-purpose, commodity tensions to OS functionality are necessary for supporting hardware, software and operating systems to run such appli- multimedia applications, or whether much of these bene- cations. For instance, today’s processors can easily decode fits can be accrued by implementing resource management full-motion DVD-quality (MPEG-2) video; in fact, popular mechanisms in a middleware system. To answer these ques- streaming players, such as Real and WindowsMedia, em- tions, we use QLinux and TAO as representative examples ploy a software-only architecture and need no special hard- of a multimedia operating system and a multimedia middle- ware. Since commodity (COTS) operating systems such ware, respectively, and examine their effectiveness in sup- as Linux and Windows were originally designed for tradi- porting distributed applications. Our results show that al- tional best-effort applications, an important issue is how to though the run-time overheads of a middleware can impact enhance them to meet the needs of multimedia applications. application performance, middleware resource management In the simplest case, the soft real-time needs of multime- mechanisms can, nevertheless, be as effective as native OS dia applications can be met by running such applications at mechanisms for many applications. We also find OS kernel- low utilization levels—the absence of resource contention based mechanisms to be more effective then middleware sys- from other applications allows a COTS operating system to tems at providing application isolation and at preventing ap- easily meet all the needs of a multimedia application and no plications from interfering with one another. enhancements to the OS are necessary. However, running multimedia applications in the presence of traditional best- 1 Introduction effort tasks (e.g., DVD playback in the presence of compute- intensive background tasks) causes resource contention and jitter, resulting in unsatisfactory performance. Two funda- 1.1 Motivation mentally different approaches can be employed to address this problem (see Figure 1). Since the emergence of multimedia applications more than a decade ago, applications such as streaming media Native operating system support: In this approach, re- players, distributed games, and online virtual worlds have source management mechanisms in existing operating become commonplace today. Multimedia applications ac- systems are augmented to support multimedia applica- cess a combination of audio, video, images and textual data tions. The augmented mechanisms employ service dif- and have timeliness constraints. Until recently, the demand- ferentiation to provide a “better than best-effort” ser- ing computing and storage requirements of these applica- vice or explicit QoS guarantees to soft real-time ap- tions as well as their soft real-time nature necessitated the plications. Typically this is done in an incremental use of specialized hardware and software. For instance, manner so as to preserve the semantics and the API continuous media servers were used to stream audio and provided to best-effort applications, ensuring backward § compatibility. Examples of this approach include the This research was supported in part by a NSF Career award CCR- real-time priority class employed by Windows 2000 9984030, NSF grants CCR-0098060, EIA-0080119 ¨ This research was carried out when Saif Hasan was a graduate student [16], the real-time scheduling class in Solaris [19] and at the University of Massachusetts. the reservation and proportional-share schedulers de- © Also with the Indian Institute of Technology Bombay, Mumbai, India. veloped for Linux [18] and FreeBSD [1]. Use of a middleware system: In this approach, a mid- Best−effort Multimedia Best−effort Multimedia applications applications applications applications dleware layer between the application and the operat- ing system arbitrates access to system resources (see Figure 1(b)). Since all requests for system resources Middleware with commodity OS kernel QoS support are made via the middleware, the middleware has com- with QoS−enhanced resource management plete control over how to allocate resources to vari- commodity OS kernel ous applications. Such a middleware system can em- ploy sophisticated resource management mechanisms (a) Multimedia Operating System (b) Multimedia middleware to provide QoS guarantees to soft real-time applica- tions, while continuing to provide a best-effort service Figure 1. Two canonical approaches for supporting to other applications. In addition, the middleware sys- multimedia applications. A multimedia operating sys- tem can provide other useful services, such as nam- tem employs enhanced resource management mecha- ing, not provided by the operating system. Examples nisms within the kernel, whereas a multimedia mid- of this approach include real-time CORBA (TAO) [13] dleware employs QoS mechanisms at the user-level to and MidArt [10, 14]. support soft real-time multimedia applications. Both These two approaches represent fundamentally differ- approaches also support traditional best-effort appli- ent philosophies for supporting multimedia applications, cations. namely “change the OS” versus “leave the OS unchanged and use mechanisms that build on top of the OS instead”. The approaches also represent two viewpoints in a broader system designers. philosophical debate—are additional extensions to OS func- tionality warranted, or can most of these benefits be accrued 1.2 Research Contributions by implementing resource management mechanisms in a middleware without modifying the operating system? This In this paper, we compare the two different approaches is a non-trivial question to address since both approaches for supporting multimedia applications—native OS support have several advantages and disadvantages. and the use of a middleware—along dimensions such as Typically, OS extensions are feasible only when the sys- portability, complexity, performance, ease of use, and back- tem designer has access to the kernel source code—although ward compatibility. Since metrics such as ease of use and this is less of an issue for open-source operating systems, compatibility are difficult to quantify, we provide qualitative source code access to proprietary or commercial operating arguments for these metrics and quantify the tradeoffs of the systems is often difficult (the only option in such a scenario two approaches with respect to performance. Performance, is to enhance OS functionality without modifying the ker- however, is not the sole criterion for choosing between the nel). OS extensions are, nevertheless, efficient by virtue of two approaches and many other factors influence this deci- entrusting all resource management to the OS kernel. The sion. Consequently, our goal is to articulate the tradeoffs of need to seamlessly coexist (i.e., be backward compatible) the two approaches along various dimensions and quantify with kernel management mechanisms can, however, limit them wherever possible so as to enable system designers to the choice of feasible OS enhancements. In contrast, the use make good engineering tradeoffs. It should be noted that the of middleware systems is appealing since no modifications two approaches are at the two ends of a spectrum; hybrid ap- to the OS kernel are necessary, making the approach feasible proaches are also possible where some of the enhancements on any COTS system with appropriate resource management are implemented within the OS kernel and the rest are im- mechanisms. However, the presence of a middleware layer plemented at the user-level [7]. imposes an additional overhead, which is turn degrades ap- Specifically, this paper attempts to answer the following plication performance. questions: In the recent past, both approaches have been investigated in detail, resulting in numerous commercial products and re- Under what scenarios and for what kind of applications search prototypes. Surprisingly, however, there has been rel- is one approach more suitable then the other? atively little effort at a systematic study that quantifies the What are the run-time overheads of the middleware ap- tradeoffs of the two approaches—existing efforts have im- proach and what are their implications on application plicitly assumed that one or the other approach is necessary performance? Specifically, can a middleware system without first considering the merits and demerits of both ap- yield performance that is comparable to an OS-based proaches. This paper attempts to address this issue by pre- approach despite its run-time overheads? senting a detailed comparative study of the two approaches. The goal of our work is not to recommend one approach

View Full Text

Details

  • File Type
    pdf
  • Upload Time
    -
  • Content Languages
    English
  • Upload User
    Anonymous/Not logged-in
  • File Pages
    10 Page
  • File Size
    -

Download

Channel Download Status
Express Download Enable

Copyright

We respect the copyrights and intellectual property rights of all users. All uploaded documents are either original works of the uploader or authorized works of the rightful owners.

  • Not to be reproduced or distributed without explicit permission.
  • Not used for commercial purposes outside of approved use cases.
  • Not used to infringe on the rights of the original creators.
  • If you believe any content infringes your copyright, please contact us immediately.

Support

For help with questions, suggestions, or problems, please contact us