Tuesday, January 27, 2009

Landscape Sharding

I was reading an article on scaling in games and virtual worlds, and two of the most common strategies for dealing with large volumes of users in such worlds are geographic decomposition and sharding. The goal of both of these is to minimize the response time between an action on the user side computer and the response from the server side host computer. Nobody likes to sit around and wait. I thought this somewhat analagous to waiting in line for a ride at an amusement park. Nobody likes a long line.

Getting back to the scaling concepts, geographic decomposition breaks down the game world into different areas, each of which is mapped to a host server. So, a specific island in the game might be hosted on a server, and anyone visiting that island would communicate with that specific server. In our amusement park analogy, Tom Sawyer Island at Disneyland might be such a geographically decomposed area. The second technique is called sharding. In this strategy each shard is a copy of a part of the game or virtual world. So players who exist in one shard can only interact with only those players and objects that exist in their shard. Getting back to amusement parks, this reminded me of the Indiana Jones ride at Disneyland. There's a single ride environment, but it is shared by several sets of tracks that offer slightly different ride experiences. You and your friends better get in the same set of cars if you want to stick together.

Scaling of landscape is certainly an issue that long pre-dates online games, but I do think these terms of "geographic decomposition" and "sharding" are evocative ones that are worth co-opting. The types of space that pop into my mind for applying them are amusement and theme parks, Olympic venues, festival sites, cemeteries, security checkpoints, etc. Aren't the airport security lines a form of sharding? Neighborhood parks might be more geographic decomposition instead of sharding. With a cemetery, how do you divide the site into more intimate scaled units. Again, maybe more geographic decomposition. What about box superstores such as Target and Home Depot. Those seem more sharding to me. You go there and it's almost like walking into the same floor plan no matter what city you're in. Are recreation parks with ball fields and courts a similar form of landscape sharding?

1 comment:

Levi Stahl said...

An interesting aspect of the airport security lines as landscape sharding is that they now ask patrons to select the line they'll enter based on a self-assessment of their capabilities as a traveler (and dealer with TSA hassles). The change has coincided with the general downturn in air travel coincident with Great Depression II, so I've not really gotten a sense of how well it works--it would really only become clear after several trips through a very crowded airport.