Difference between revisions of "User:Finrod Meriman/Scalability"

From Second Life Wiki
Jump to navigation Jump to search
(Blanked the page)
 
Line 1: Line 1:
== Some thoughts on scalability ==


In the kickoff meeting of the Architecture Working Group Zero presented
several scalability objectives: a platform that could support 60 million
regions, 2 billion total users, and 50 million concurrently connected
users. These objectives reflect Zero's frequently stated intention to
"instill a deep sense of platform" in the AWG.
One way to achieve the desired scalability objectives is to create a
large number of independently hosted regions. As proof, consider how the
current Web scales: any organization (or individual for that matter) can
run an HTTP server and publish content. As of October 2007 Netcraft
reports more than 140 million web servers surveyed on the public
Internet (with countless additional servers deployed inside corporate
firewalls). Scalability of the Web occurs largely because each server is
independent of others.
Although Second Life could scale to meet Zero's targets by creating a
number of independent regions (or a large number of independent copies
of Second Life itself), there are implicit objectives that affect
scalability as well.
=== Scale Identity ===
As the number of organizations hosting regions increases, the complexity
of managing a common identity increases. It becomes necessary to
establish trust relationships between different organizations, an issue
that his historically been limited by complexity of management and
competing business models (there is a perception that the organization
that owns the identity owns the customer).
In the Web each organization typically implements an identity service to
track its customers; e.g. I have distinct accounts at web sites hosted
by Amazon, Ebay, ESPN, and CNN. Multiple attempts have been made to
federate identity across multiple sites with relatively little success.
The wireless carriers have had some success with identity federation:
carriers establish roaming agreements that tie customer billing records
together across multiple domains; my identity as stored in my SIM card
enables the carrier hosting my roaming cell phone to bill my primary
carrier for the minutes I use.
The extent to which my identity scales (that is, the number of regions
over which my identity is known) will determine the extent to which my
avatar can move transparently among regions. (And by the way, this is
really hard.)
=== Scale Per Region Concurrency ===
The number of concurrent users in a single region (sim) right now is
less than 100 (much less for practical use). Scaling the number of
concurrent users opens the potential for many new applications including
concerts, conferences, business meetings and large sporting events.
If we generalize the notion of "concurrent users in a region" to mean
the number of users that can interact with each other at a single event,
then it becomes a bit easier to define the expected behavior. If
fifty-thousand people attend a baseball game, they all watch the same
game, they see each other, they share a common interest in the outcome
of the game, and operate within the same space. The shared social
experience is what differentiates interactions in a virtual world from a
simple webcast. Ideally it should be possible to host a large event
(like the Super Bowl) where the fans have sufficient fidelity of
interaction to enable a "virtual wave" through the stadium. However,
rich social interactions generally occur with others who are nearby.
Scaling the number of users at an event can leverage user expectations
to maintain a reasonable experience.
Early "large" Web events like coverage of the 1998 Winter Olympics in
Nagano enabled literally millions of people worldwide to remotely
"participate" in the event (just a reminder: that was only five years
after the Mosaic was launched). What would it take to scale a virtual
world to handle that kind of traffic?
=== Scale the Number of Objects ===
=== Scale the Complexity of Objects ===
=== Scale the Complexity of Object Behavior ===
How many objects can have scripts? What can scripts control about
objects? How difficult is it to define new behaviors?
=== Scale Geographies ===
The Second Life community includes users from all across the world. The
geographical distribution of users means that network latency and jitter
will be highly variable for the users in a region of the virtual
world. With the current architecture a region where most of the users
are from Europe may be co-located with a server where most users are
from Asia or North America.
Consistent network behavior is extremely important for MMOG's where
users with low latency connections have a decided advantage over those
with a high latency connection. Although many interactions between users in
Second Life do not appear to have such tight latency bounds, the impact
of network behavior on end-user experience requires additional
study.
Some background material on the impact of network behavior is available
from [http://www.thefengs.com/wuchang/work/ Wu-chang Feng] at Portland
State University.

Latest revision as of 11:42, 16 February 2015