Browse Prior Art Database

Improved Dispatching in a Rendering Context Manager

IP.com Disclosure Number: IPCOM000102591D
Original Publication Date: 1990-Dec-01
Included in the Prior Art Database: 2005-Mar-17
Document File: 4 page(s) / 189K

Publishing Venue

IBM

Related People

Flurry, GA: AUTHOR [+2]

Abstract

Disclosed is an improved mechanism for sharing of a display adapter using timers as well as graphics faults.

This text was extracted from an ASCII text file.
This is the abbreviated version, containing approximately 33% of the total text.

Improved Dispatching in a Rendering Context Manager

       Disclosed is an improved mechanism for sharing of a
display adapter using timers as well as graphics faults.

      This article is based on a graphics system dispatcher that
switches rendering contexts for a graphics adapter based on graphics
faults. Each process can request that it be given access to the
adapter, thereby producing a graphics fault, similar in concept to a
page fault in a virtual memory system. The graphics systems
dispatcher will allow the access or enqueue the graphics process for
later access.  Consider that the operating system (OS) dispatcher and
the graphics system dispatcher run asynchronously. Thus, it is
possible to have a situation where a graphics process has its
rendering context placed on the adapter, is able to run for a very
short period of time, and then gets dispatched out by the OS. Assume
then that another graphics process gets dispatched in and attempts to
write to the adapter; it causes a graphics fault, and the Rendering
Context Manager starts a rendering context switch to allow the latest
requesting process to run. Since the operating system scheduler
scheduling is based on system interrupts, the graphics processes
would be switched in and out based on system load. Every graphics
process switch would cause a corresponding context switch. The system
would thrash, spending most of its time switching rendering contexts,
with no graphics process getting any real work done (drawing to the
screen).

      To solve the problem, the Rendering Context Manager graphics
system dispatcher must ensure that it does not permit such thrashing.
This invention establishes a graphics time slice. The graphics time
slice is the minimum amount of time for which a rendering context
should remain on the adapter before being switched off.  The time
slice value depends on the amount of time it takes to switch the
rendering context onto the adapter, the amount of CPU cycles a
graphics process gets while its rendering context is on the adapter,
and the real time elapsed while the context is on the adapter.

      The invention requires that the Rendering Context Manager use
the timer services of the operating system (OS). The Rendering
Context Manager requests that the OS invoke the graphics system
dispatcher at elapsed intervals of real time that are approximately
equal to the graphics time slice of the current graphics process.

      Graphics processes need a graphics adapter; the graphics system
dispatcher, in concept similar to a multiprocess operating system
dispatcher, can take away the resource when a graphics process gives
up the adapter, either voluntarily (e.g., by releasing exclusive
control) or involuntarily, when the graphics process' graphics time
slice has expired, and a higher priority graphics process wants to
use the same adapter.

      To summarize, consider a "steady-state" condition, where
steady-state means that all the...