Blink: Advanced Display Multiplexing for Virtualized Applications
Jacob Gorm Hansen · 2007
Providing untrusted applications with shared and dependable access to modern display hardware is of increasing importance. Our new display system, called Blink, safely multiplexes complex graphical content from multiple untrusted virtual machines onto a single Graphics Processing Unit (GPU). Blink does not allow clients to program the GPU directly, but instead provides a virtual processor abstraction to which they can program. Blink executes virtual processor programs and controls the GPU on behalf of the client, in a manner that reduces processing and context switching overheads. To achieve performance and safety, Blink employs just-in-time compilation and simple static analysis. 1