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.
Flash can deliver such performance because it provides terabytes of persistent memory right within the server. Connecting flash directly to the CPU through the PCIe slot allows flash to act as a new memory tier. This architecture allows flash to deliver the high throughput performance during peak access times and the flexibility to scale linearly as the customer base grows – something social gaming companies need to keep up with a game on its way to going viral.
Using flash as a new memory tier can also help companies maximize tight budgets by reducing data center footprint and cutting energy costs. One Japanese social gaming company used flash memory to improve performance per rack unit by 80 times. This was accomplished by reducing 36 1U servers to 9 1U servers, while still achieving a performance improvement of 4x (Figure 3). Not only does this reduce the data center footprint, save energy and improve user experience, it also provides system capacity to meet future performance demands.
Ultimately, system performance has the ability to make or break a social game. Today’s players expect a seamless experience when they play, and when millions of dollars in resources have already been invested in creating the next big social game, developers should ensure they are prepared to meet the data demands generated by hit titles. Flash, if implemented in the proper way, has the ability to meet these performance demands without breaking budgets.
Gary Orenstein has served in leadership roles at numerous data center infrastructure companies. Prior to Fusion-io, he was the vice president of marketing at MaxiScale, focused on web scale file systems and acquired by Overland Storage. Prior to MaxiScale, he was the vice president of marketing and business development at Gear6, focusing on storage and web caching. He also served as vice president of marketing at Compellent which went public in 2007, and was a co-founder at Nishan Systems, which was acquired by McDATA/Brocade.