Social Gaming Infrastructure: Winning with Flash

Editor’s Note: The following article comes from Gary Orenstein, VP of Products, Fusion-io. It addresses how using flash memory with server architecture can help game developers manage traffic growth at a comparatively low cost.

With social gaming applications exploding overnight as companies pop up and become smash hits, the industry has never been hotter. Numerous studies have confirmed this trend, showing mobile and online gaming could grow into a $44 billion market by 2014, which would represent 50 percent of global video game revenue. In today’s device-driven world, even adults can’t resist the addictive diversion offered by video games, with 53 percent of U.S. adults saying they regularly play video games of some kind.

With more adults than ever becoming gamers, and 46 percent of adults owning smartphones, it makes sense that the social gaming market would be expanding, but this growth is not without its challenges. As games go viral, keeping up with growth while still providing a high-performance experience for customers can be difficult. And while many gaming services are free, poor performance can cause gamers to move on to another free service, meaning companies cannot afford to play games with their servers.

Keeping server sprawl under control while remaining profitable is the back-end quandary facing all online companies, and it is exacerbated when a game’s popularity explodes. At a game’s peak, it can require several hundred added servers each day to keep up with growth. In 2010, Zynga reported that it adds up to a thousand servers a week to keep up with the demand for all its games. Overall costs are multiplied by increased energy consumption used to power and cool hardware. With billions of dollars on the line, and some social gaming companies reporting to be processing one petabyte of new data every day, finding a solution to manage this growth is imperative. 

Incorporating flash memory into server architecture can provide the low latency performance necessary to keep up with the rapidly changing performance demands of social gaming. Flash can be used as a cache for commonly accessed data, providing much larger capacities compared to DRAM. Storing all the application data directly on the server on flash is the most efficient way to deliver content to happy gamers by providing the necessary bandwidth to eliminate lag and facilitate online interaction.

One company experiencing trouble keeping up with server sprawl in its virtualization datacenter implemented a flash memory solution to eliminate bottlenecks in its Massively Multiplayer Online Gaming (MMOG) database. Before turning to flash, the company’s growing number of servers began to strain its business model. In Figure 1, you can see that by combining application and database servers, while placing I/O intensive virtual machines (VMs) on flash, the company was able to improve performance density by more than five times.

While non I/O intensive VMs were left on disk, flash was able to provide consistent performance, even throughout peak playing times, allowing the company to guarantee high service levels to all applications under any load.

An online casino gaming software company experienced trouble when site traffic had more than doubled over a 12 month period, with further growth expected in the future. The company determined that a flash-based solution would provide the necessary performance to keep up with its customer growth. When architecting its solution, the company moved all its active data to flash, along with short-term backup – leaving its SAN to house its long-term backup files.

With this solution, back-up and check DB run times were improved by 10 times, from about four hours to 25 minutes. Figure 2 reviews the new and simplified architecture that made this solution possible.