Red Hat Summit 2009 | Arnon Gilboa 1 SPICE: An Open Remote Computing Solution Presenter: Arnon Gilboa Project Leader: Yaniv Kamay Red Hat Israel September.

Slides:



Advertisements
Similar presentations
Microsoft Windows NT Embedded 4.0
Advertisements

Discovering Computers Fundamentals, Third Edition CGS 1000 Introduction to Computers and Technology Fall 2006.
Professor Michael J. Losacco CIS 1110 – Using Computers Operating Systems & Utility Programs Chapter 7.
How Clients and Servers Work Together. Objectives Learn about the interaction of clients and servers Explore the features and functions of Web servers.
Cambodia-India Entrepreneurship Development Centre - : :.... :-:-
Operating Systems.
Types of Computers Desktop / Laptop PC / Mac Client / Server.
CSE 381 – Advanced Game Programming 3D Game Architecture.
ROM Read Only Memory “…computer memory on which data has been prerecorded. Once data has been written onto a ROM chip, it cannot be removed and can only.
Remote Access Chapter 4. Learning Objectives Understand implications of IEEE 802.1x and how it is used Understand VPN technology and its uses for securing.
Remote Access Chapter 4. Learning Objectives Understand implications of IEEE 802.1x and how it is used Understand VPN technology and its uses for securing.
Cloud computing for internet emulator. Professor Muthucumaru Maheswaran Team Members Mia Hochar Simon Foucher David El Achkar David El Achkar Marc Atie.
Remote Desktop Experience Russel Wilkinson Staff Systems Engineer Enterprise Desktop Solutions VMware, Inc.
Karthik Lakshminarayanan Group Program Manager - RemoteFX Microsoft Corporation SESSION CODE: VIR305.
Gregory Fotiades.  Global illumination techniques are highly desirable for realistic interaction due to their high level of accuracy and photorealism.
Advanced Computer Networks Topic 2: Characterization of Distributed Systems.
Computer Networking From LANs to WANs: Hardware, Software, and Security Chapter 13 FTP and Telnet.
X-WindowsP.K.K.Thambi The X Window System Module 5.
Page 1 Printing & Terminal Services Lecture 8 Hassan Shuja 11/16/2004.
Internet Applications (Cont’d) Basic Internet Applications – World Wide Web (WWW) Browser Architecture Static Documents Dynamic Documents Active Documents.
SCSC 455 Computer Security Chapter 3 User Security.
Multimedia Retrieval Architecture Electrical Communication Engineering, Indian Institute of Science, Bangalore – , India Multimedia Retrieval Architecture.
Chapter 4: server services. The Complete Guide to Linux System Administration2 Objectives Configure network interfaces using command- line and graphical.
VIRTUAL NETWORK COMPUTING SUBMITTED BY:- Ankur Yadav Ashish Solanki Charu Swaroop Harsha Jain.
Chapter 1: Introduction What is an Operating System? Mainframe Systems Desktop Systems Multiprocessor Systems Distributed Systems Clustered System Real.
1 /13 SPICE* Roadmap Presentation for KVM Forum 2011 Alon Levy, Red Hat *or Spice or spice.
SPICE & your desktop Marc-André Lureau, - GUADEC 2011.
X Window System
System SOFTWARE.
DISCOVERING COMPUTERS 2018 Digital Technology, Data, and Devices
Android Mobile Application Development
Application and Desktop Sharing
Lesson 7: Creating and Configuring Virtual Machine Settings
Module 9: Preparing to Administer a Server
Chapter 1: Introduction
Chapter 1: Introduction
Operating System Review
VNC
HARDWARE The hardware is the part you can see the computer, ie all components of their physical structure. The screen, keyboard, and mouse tower of the.
Mobile Operating System
Chapter 1: Introduction
Chapter 1: Introduction
RDP Protocol Test Suite
Presentation for KVM Forum 2011 Alon Levy, Red Hat
Introduction to Operating System (OS)
Chapter 1: Introduction
CS 286 Computer Organization and Architecture
Chapter 1: Introduction
Chapter 3: Windows7 Part 4.
Chapter 1: Introduction
Operating System Review
Telnet/SSH Connecting to Hosts Internet Technology.
Chapter 2: System Structures
Common computer terminology
X Windows.
Operating System Review
Chapter 1: Introduction
Level 3 Extended Diploma Unit 13 Computer Systems Architecture
Chapter 1: Introduction
Chapter 1: Introduction
Chapter 1: Introduction
Chapter 2: Operating-System Structures
Channel Access Concepts
Module 9: Preparing to Administer a Server
Chapter 1: Introduction
Chapter 7 Network Applications
Designing IIS Security (IIS – Internet Information Service)
New Tools In Education Minjun Wang
Chapter 1: Introduction
Channel Access Concepts
Presentation transcript:

Red Hat Summit 2009 | Arnon Gilboa 1 SPICE: An Open Remote Computing Solution Presenter: Arnon Gilboa Project Leader: Yaniv Kamay Red Hat Israel September 4, 2009

Red Hat Summit 2009 | Arnon Gilboa 2 Agenda Why Spice? Architecture Spice Optimizations Future Developments Q&A

Red Hat Summit 2009 | Arnon Gilboa 3 Why Spice? Open remote computing solution Client access to remote machine display & devices Emphasize on virtual machines environment No need for guest networking User experience similar to local machine High quality video & audio Offload intensive CPU & GPU tasks to client Suitable for both LAN & WAN usage

Red Hat Summit 2009 | Arnon Gilboa 4 How Spice? Transfer graphic commands/objects (currently 2D) Other solutions use frame buffer updates Fill, copy, stretch, path stroke, text, pointer shape etc. Generic & platform-independent Lossless images, lossy video & audio

Red Hat Summit 2009 | Arnon Gilboa 5 ARCHITECTUR E

Red Hat Summit 2009 | Arnon Gilboa 6 Spice Architecture Devices (QXL, VDIPort) Guest QEMU/KVM Spice Server (libspice) Spice Client Client Host Spice Agent Drivers (QXL, VDIPort)

Red Hat Summit 2009 | Arnon Gilboa 7 Spice Protocol Guest QEMU/KVM Spice Server (libspice) Spice Client Client Devices Host Spice Agent Drivers Guest QEMU/KVM Spice Server (libspice) Spice Client Client Host

Red Hat Summit 2009 | Arnon Gilboa 8 Spice Protocol Client-server communication Set of messages for interaction with remote devices Graphic commands, keyboard & mouse events, audio streams etc. Secure authentication – ticketing (OTP) with expiration Connection establishment and control (e.g., migration) Flow control using window-acks

Red Hat Summit 2009 | Arnon Gilboa 9 Client-Server Communication: Channels Client & server communicate via channels TCP connections Each Channel dedicated to a specific type of data Channel can be secured using SSL or unsecured In the client, each channel has a dedicated thread Different QoS can be given per channel

Red Hat Summit 2009 | Arnon Gilboa 10 Channels Main - control and configuration and agent communication Display - handles graphic commands, images and video streams Inputs - keyboard and mouse inputs Cursor - pointer device position, visibility and cursor shape Playback - audio received from the server to be played by the client Record - audio capture on the client side

Red Hat Summit 2009 | Arnon Gilboa 11 Spice Server Guest QEMU/KVM Spice Server (libspice) Spice Client Client Devices Host Spice Agent Drivers Guest QEMU/KVM Spice Server (libspice) Spice Client Client Devices Host

Red Hat Summit 2009 | Arnon Gilboa 12 Spice Server – a pluggable library Virtual Device Interface (VDI) Defines a set of interfaces Publishes virtual devices (e.g., display, keyboard, mouse) Enables interaction with devices libspice – the server, a VDI-pluggable library Interacts with VDI host application (e.g., QEMU) Communicates with client using Spice protocol

Red Hat Summit 2009 | Arnon Gilboa 13 Spice Server – Interfaces QEMU PlaybackChannel Playback Interface RecordChannel Record Interface MainChannel Agent Interface InputsChannel kbd, mouse & tablet Interfaces Dispatcher Worker Thread DisplayChannel CursorChannel QXL Interface Spice Server

Red Hat Summit 2009 | Arnon Gilboa 14 Spice Server – Graphic Commands Processing (1) Graphic Commands Tree Contains the set of commands, whose execution will reproduce the display content Used to optimize commands transmission to the client by dropping commands hidden by others Command Pipe Commands to be sent to the client, for updating its display

Red Hat Summit 2009 | Arnon Gilboa 15 Spice Server – Graphic Commands Processing (2) Command Ring (IN) Expected Display Graphic Command Tree Command Pipe (OUT)

Red Hat Summit 2009 | Arnon Gilboa 16 Spice Server – Graphic Commands Processing (3) Attempt to pass the rendering job to the client, leveraging its hardware acceleration abilities Rendering on the host side by software or GPU is done as a last resort Release a command only when Completely covered by other commands and there are no dependencies on it Running out of resources, the command is rendered to the frame buffer When the guest needs to read from the frame buffer Command rendered to frame buffer & deleted from tree

Red Hat Summit 2009 | Arnon Gilboa 17 Spice Client Guest QEMU/KVM Spice Server (libspice) Spice Client Client Devices Host Spice Agent Drivers Guest QEMU/KVM Spice Server (libspice) Spice Client Client Host

Red Hat Summit 2009 | Arnon Gilboa 18 Spice Client End-user interface Cross-platform Linux & Windows Generic classes & interfaces Parallel implementation of platform-specific areas Does not require any codecs

Red Hat Summit 2009 | Arnon Gilboa 19 SPICE FRIENDS & FAMILY

Red Hat Summit 2009 | Arnon Gilboa 20 QXL Device & Driver Guest QEMU/KVM Spice Server (libspice) Spice Client Client QXL Device(s) Host Graphic Engine QXL Drivers

Red Hat Summit 2009 | Arnon Gilboa 21 QXL Device & Driver Transparent remote display Specific QEMU PCI display device Paravirtual device for enhanced performance Transfer generic graphic commands to server Pixmap hashing & cache hint Cursor support Windows driver & beta X11 driver already implemented Support standard VGA mode as well No drivers required Boot stage display

Red Hat Summit 2009 | Arnon Gilboa 22 VDIPort Device & Driver Guest QEMU/KVM Spice Server (libspice) Spice Client Client VDIPort Device Host Spice Agent VDIPort Driver

Red Hat Summit 2009 | Arnon Gilboa 23 VDIPort Device VDI port - QEMU PCI device used for communication with guest agent Agent communicates with both client & server using agent-dedicated protocol Windows guest driver already implemented

Red Hat Summit 2009 | Arnon Gilboa 24 Optional component Enhances user experience Performs guest-oriented tasks Injects mouse position and state Display settings configuration Spice Agent

Red Hat Summit 2009 | Arnon Gilboa 25 SPICE OPTIMIZATIONS

Red Hat Summit 2009 | Arnon Gilboa 26 Image Caching Client image caching: pixmaps, palettes and cursors Eliminates sending redundant instances of an image Image arrives from driver with unique id & cache hint Pixmap cache is shared among all the displays Synchronized between the server and client Server manages cache

Red Hat Summit 2009 | Arnon Gilboa 27 Image Compression Lossless - commands dependency, prevents artifacts Image-based Quic - based on SFALIC LZ - LZSS adjusted to images Global LZ (GLZ) LZ with a history-based global dictionary Takes advantage of repeating patterns among images Auto - Heuristic compression choice per image Synthetic images - LZ/GLZ Photos - Quic

Red Hat Summit 2009 | Arnon Gilboa 28 Video Compression Server heuristically identifies video streams Using the commands tree Areas constantly updated for a period of time Send them as video stream coded using M-JPEG Saves a lot of traffic, improving Spice performance, especially in WAN Reduces client & server CPU consumption Does not require any codecs

Red Hat Summit 2009 | Arnon Gilboa 29 Hardware Acceleration Basic client rendering - using Cairo Cross-platform, device-independent 2D library Client HW acceleration GDI in Windows OpenGL in Linux (experimental) Rendering by the client GPU instead of CPU High performance rendering Better client CPU utilization Server HW acceleration uses OpenGL Sharing code with the Linux client

Red Hat Summit 2009 | Arnon Gilboa 30 Mouse modes Client mode Client mouse used as the effective pointing device Guest agent used for cursor position injection Cursor shape & visibility - updated in a dedicated channel Smooth cursor motion and responsiveness Appropriate for WAN Server mode Server controls mouse position Always synchronized

Red Hat Summit 2009 | Arnon Gilboa 31 Other Features Multiple Monitors - tested on 4, no real limit Automatic configuration of guest displays 2-way Audio and Lip-sync Audio playback and recording Playback compressed using CELT Lip-sync using video frames time-stamping Hardware Cursor Separated from display, reduces network traffic Enables prioritizing for better responsiveness Live Migration - seamless to a connected client

Red Hat Summit 2009 | Arnon Gilboa 32 FUTURE DEVELOPMENT S

Red Hat Summit 2009 | Arnon Gilboa 33 Future Features Off-screen surfaces Direct Draw Video acceleration (DXVA) 3D acceleration Aero (new drivers model) Network tunneling Client network printer redirection Generic Resource sharing

Red Hat Summit 2009 | Arnon Gilboa 34 Future Features - cont. Client GUI, preferences and window management USB device redirection Clipboard sharing CD-ROM redirection

Red Hat Summit 2009 | Arnon Gilboa 35 QUESTIONS?

Red Hat Summit 2009 | Arnon Gilboa 36 Additional Information (soon to come...) Spice documentation effort User manual Spice remote computing protocol definition Spice VD Interfaces documentation spice-space-list Contact: