O slideshow foi denunciado.
Seu SlideShare está sendo baixado. ×

GamingAnywhere: An Open Cloud Gaming System

Anúncio
Anúncio
Anúncio
Anúncio
Anúncio
Anúncio
Anúncio
Anúncio
Anúncio
Anúncio
Anúncio
Anúncio

Confira estes a seguir

1 de 29 Anúncio

GamingAnywhere: An Open Cloud Gaming System

Cloud gaming is a promising application of the rapidly expanding cloud computing infrastructure. Existing cloud gaming systems, however, are closed-source with proprietary protocols, which raises the bars to setting up testbeds for experiencing cloud games. In this paper, we present a complete cloud gaming system, called GamingAnywhere, which is to the best of our knowledge the first open cloud gaming system. In addition to its openness, we design GamingAnywhere for high extensibility, portability, and reconfigurability. We implement GamingAnywhere on Windows, Linux, and OS X, while its client can be readily ported to other OS's, including iOS and Android. We conduct extensive experiments to evaluate the performance of GamingAnywhere, and compare it against two well-known cloud gaming systems: OnLive and StreamMyGame. Our experimental results indicate that GamingAnywhere is efficient and provides high responsiveness and video quality. For example, GamingAnywhere yields a per-frame processing delay of 34 ms, which is 3+ and 10+ times shorter than OnLive and StreamMyGame, respectively. Our experiments also reveal that all these performance gains are achieved without the expense of higher network loads; in fact, GamingAnywhere incurs less network traffic. The proposed GamingAnywhere can be employed by the researchers, game developers, service providers, and end users for setting up cloud gaming testbeds, which, we believe, will stimulate more research innovations on cloud gaming systems.

GamingAnywhere is now publicly available at http://gaminganywhere.org.

Cloud gaming is a promising application of the rapidly expanding cloud computing infrastructure. Existing cloud gaming systems, however, are closed-source with proprietary protocols, which raises the bars to setting up testbeds for experiencing cloud games. In this paper, we present a complete cloud gaming system, called GamingAnywhere, which is to the best of our knowledge the first open cloud gaming system. In addition to its openness, we design GamingAnywhere for high extensibility, portability, and reconfigurability. We implement GamingAnywhere on Windows, Linux, and OS X, while its client can be readily ported to other OS's, including iOS and Android. We conduct extensive experiments to evaluate the performance of GamingAnywhere, and compare it against two well-known cloud gaming systems: OnLive and StreamMyGame. Our experimental results indicate that GamingAnywhere is efficient and provides high responsiveness and video quality. For example, GamingAnywhere yields a per-frame processing delay of 34 ms, which is 3+ and 10+ times shorter than OnLive and StreamMyGame, respectively. Our experiments also reveal that all these performance gains are achieved without the expense of higher network loads; in fact, GamingAnywhere incurs less network traffic. The proposed GamingAnywhere can be employed by the researchers, game developers, service providers, and end users for setting up cloud gaming testbeds, which, we believe, will stimulate more research innovations on cloud gaming systems.

GamingAnywhere is now publicly available at http://gaminganywhere.org.

Anúncio
Anúncio

Mais Conteúdo rRelacionado

Diapositivos para si (20)

Semelhante a GamingAnywhere: An Open Cloud Gaming System (20)

Anúncio

Mais de Academia Sinica (20)

Mais recentes (20)

Anúncio

GamingAnywhere: An Open Cloud Gaming System

  1. 1. GamingAnywhere: An Open Cloud Gaming System Chun-Ying Huang, Cheng-Hsin Hsu, Yu-Chun Chang, and Kuan-Ta Chen ACM MMSys’13, Oslo, Norway 1 http://gaminganywhere.org/
  2. 2. Tough Life of Gamers • Games are becoming way too complex • The overhead of setting up a game is significant • Often locked on a specific computer • Games may not be software or hardware compatible with some computers • Computer hardware constantly demands upgrading 2
  3. 3. Cloud Gaming Real-time game playing via thin clients Game servers Internet Streaming Streaming Streaming PC Laptop Mobile 3
  4. 4. Selling Points of Cloud Gaming • Gamers’ perspectives: • Frees gamers from indefinitely upgrading their computers • Eliminates setup overhead and compatibility issues for trying out a game, as everything needed will be settled in data centers by game operators • Enables gamers to play games anywhere, anytime • Game manufacturers’ perspectives: • Allows developers to support more platforms • Reduces the production cost • Prevents pirating 4
  5. 5. Cloud Gaming is Hot • Cloud gaming is expected to lead the future growth of computer games: 9 times in 6 years [CGR] [CGR] http://www.cgconfusa.com/report/documents/Content-5minCloudGamingReportHighlights.pdf T5-Labs 5
  6. 6. Limitations of Existing Services • OnLive demands for 5 Mbps for reasonable quality • OnLive dictates a backbone latency of 22 ms, and partially copes with it by setting up 5 data centers (CA, VA, TX, IL, GA) • Only people who live in 1000 mile radius from a data center can play the game • and more… • We, researchers, have tons of ideas to improve cloud gaming services, but all cloud gaming systems are proprietary and closed 6
  7. 7. • Solutions: GamingAnywhere is the first cloud gaming platform for researchers, service providers, and users 7
  8. 8. Design Objective • Extensibility • Components can be implemented as modules • Features can be easily expanded • Portability • Cross-platform ready • Configurability • Exposes as many configurations as possible • Openness • It will be released to the public soon 8
  9. 9. Cloud Gaming Scenario Portal Servers Clients/Users Game Selection Game Interaction Game Conguration Game Servers 9
  10. 10. System Architecture • The client and the server, with many modules • Implemented by leveraging open-source packages Game console Data Flow Control Flow Running the selected game Agent Process/Thread Game Server Game Client Internet Audio / Video Encoder RTSP / RTP / RTCP Audio / Video Capturer Replay User Inputs (Keyboard, Mouse, ...) Decode Input Events (Customized Protocol) RTSP / RTP / RTCP Audio / Video Decoder Encode Input Events (Customized Protocol) Audio / Video Player User Inputs (Keyboard, Mouse, ...) 10
  11. 11. Implementation Overview • GamingAnaywhere core is majorly implemented as a library • With several modules and executables • Server modules • Video source (platform dependent) • Audio source (platform dependent) • Encoders (various encoders via ffmpeg) • Replayer (platform dependent) • RTSP/RTP server (using ffmpeg) • Client modules • RTSP/RTP client (using live555) • Decoders (via ffmpeg) • Controller (using SDL) • Renderer (using SDL) 11
  12. 12. Server Components 12 Audio source Desktop/Game Video source Video encoder Audio encoder Audio buffer Video buffer (1a) audio capture (1v) video capture Threads Shared buffers (2a) write audio frames (2v) write a video frame (3a) wake up encoder (3v) wake up encoder (4a) read audio frames (4v) read a video frame (5a) encode and send (5v) encode and send Object owner RTSP server thread Data Flow Connections (RTSP/RTP/RTCP) (1n) handle clients Input replayer Control Flow Connections (2i) replay input events (1i) receive input events
  13. 13. Processing Video Frames • Process a video frame 1. Capturer: Capture game frames (Tcapture) 2. Converter: Convert from RGB format to YUV format (Tconvert) 3. Encoder: Encoding and packetization (Tencode) 14 Video Source Converter Encoder(Frame Pools) (Frame Pools) Job Free Job Free
  14. 14. Improving Game Frame Throughput • Overall frame throughput • 1/(Tcapture + Tconvert + Tencode) frames per second • If (Tcapture + Tconvert + Tencode) is 40 ms, the maximum frame throughput is 25 fps • A pipelined design for parallelism • Improved frame throughput: 1/max(Tcapture, Tconvert, Tencode) • If max(Tcapture, Tconvert, Tencode) is 20 ms, the frame throughput can achieve 50 fps 15 F1 F2 F1 F1 F2 F2 F3 F3 F3 Video source (frame capture) t Video encoder F4 Color space converter (RGB to YUV) t+D t t+2D t t+3D t
  15. 15. Client Overview 17 Game Interaction Main thread Control Flow Connections (1i) receive input events (2i) send input events SDL Rendering Input Events Data Flow Connections RTSP clientthread Video buffer Audio buffer Threads Buffers Object owner (1r) receive encoded A/V frames (2rv) buffer an encoded audio frames (2ra) buffer encoded audio frames (3rv) decode and render video frames (3ra) decode and render audio frames (callback)
  16. 16. Video Playout Buffering • The 1-frame buffering strategy • An H.264 frame can be split into different numbers of packets • The marker bit (with a value of 1) indicates the last packet of a frame • Assuming 30 KB frames transmitted in a 50 Mbps network  buffering time = 30 KB * 8 bits / 50 Mbps =~ 5 ms 18 M M M M M RTP Packets Frame #1 Frame #2 Frame #3 Frame #4 Frame #5 time
  17. 17. GamingAnywhere Screenshots 19 Server Client #1 Client #2 Client #3
  18. 18. LIVE DEMO 20
  19. 19. 21 A demonstration of GamingAnywhere system. There are four devices in the photo. One game server (left-hand side laptop) and three game clients (an MacBook, an Android phone, and an iPad2).
  20. 20. Performance Evaluation • Compare against OnLive and StreamMyGame • Environment setup FreeBSD with Dummynet LAN OnLive Server Internet LAN GamingAnyware and StreamMyGame Server Client Router 22
  21. 21. Performance Evaluation (Cont’d) • Audio: The LAME encoder • Video: The x264 encoder • One of the VideoLan projects • With the below default parameters • $r is the bitrate variable, default 3Mbps --profile main --preset faster --tune zerolatency --bitrate $r --ref 1 --me dia --merange 16 --intra-refresh --keyint 48 --sliced-threads --slices 4 --threads 4 --input-res 1280x720 23
  22. 22. t0 (Key event sent) t1 (Key event received) t2 (Frame sent)t3 (Frame received) ServerClient Menu frame Menu screen shown t4 (Frame displayed) • Network delay (ND) : network RTT • Processing delay (PD) : t2 – t1  t3 – t0 – ND • Playout delay (OD) : t4 – t3 25
  23. 23. GA Has Lower Response Delay 26 Low response delay
  24. 24. Delay Decomposition of GA • Processing delay • Memory lock + copy • RGB to YUV • x264 encoder • Packetization (RTP packets) • Playout delay • 1-frame buffering • S/W decoder • SDL rendering 27
  25. 25. GA Incurs Low to Moderate Network Loads • Configured to capture at 50 fps with a bitrate of 3 Mbps 28
  26. 26. GA Provides Superior Video Quality 29
  27. 27. 30 http://gaminganywhere.org/
  28. 28. Conclusion • GamingAnywhere is the first open cloud gaming system • GamingAnywhere outperforms OnLive and StreamMyGame • 66% – 90% of processing delay reduction • 3 – 19 dB video quality improvement • We hope it will stimulate more studies and applications on cloud gaming • Server resource scheduling • QoS/QoE measurements and provisioning • Mobile cloud gaming • … and much more! 31
  29. 29. QUESTIONS? Thanks for your attention! 32 http://gaminganywhere.org/

×