Intel Salivates Over Virtual World Processing Demands
CNet has up an article looking at the lucrative virtual world market for processor companies. An Intel developer forum held in San Francisco this week highlighted the opportunities for selling hardware to both consumers and vendors in the VW marketplace. "[Chief Technology Officer Justin Rattner] showed statistics that indicated a PC's processor bumps up to 20 percent utilization while browsing the Web, while its graphics processor doesn't even break above 1 percent. But running Second Life--even with today's coarse graphics--pushes those to 70 percent for the main processor and 35 to 70 percent for the graphics processor, he said. The Google Maps Web site and Google Earth software pose intermediate demands. Running a virtual worlds server is vastly more computationally challenging, though, when compared with 2D Web sites and even massively multiplayer online games such as Eve Online. An Eve Online server can handle 34,420 users at a time, but Second Life maxes a server out with just 160 users."
...is the lack of optimization in the code. "Yes," says Br'er Intel. "Please throw more processors at the problem! Optimization is for pussies!"
Kwisatz Haderach
Sell the spice to CHOAM
This Mahdi took Shaddam's Throne
As there is only one gaming instance in Eve Online.
Now that I think of it Second Life is a single instace too, so in this case to make a fair comparison it would be more apt to say that Eve Online handles around 100 users with what could be considered normal performance on a single (solar system) server.
It takes a man to suffer ignorance and smile
Be yourself no matter what they say
I find it hard to believe that SL doesn't allow more than 160 concurrent users to log in simultaneously. 160 users per CPU or per chassis blade, maybe, but 160 total all at once or even 160 per shard?
EVE does not have 34,000 people on one server. One shard which people call a "server", but the Tranquility cluster is some SERIOUS hardware. I think they're up to something like 160-200 dual or quad-core blades, at least.
retrorocket.o not found, launch anyway?
"Software is decelerating faster than hardware is accelerating."
http://en.wikipedia.org/wiki/Wirth's_Law
from the put-your-cock-back-in-your-pants department
... business peoples.. got together and talked about how people wear way more clothes when they go outside than when they stay at home. "This whole 'real world' is frigging nuts as far as how much clothing the average person needs to wear when being active in it." Turns out that performing simple tasks like scratching one's belly or sitting around doing jack squat requires no more than a pair of shorts. But demanding real world tasks like walking outside and buying groceries requires no less than 200% more clothing. "We are gonna make a killing with this new realization," said a Kohls business dude to a hobo on the street pretending to be a news correspondent.
The other day Kohls
I like basketball!!1!
One of the core components of AI is that it runs a virtual world that is the imagination of our real world. It doesn't have to be complete, but only know enough to get around. It is funny how games spur development of faster computers. Hasn't it been this way ever since arcade games? All those quarters didn't go to waste. At least thats what I like to think.
God spoke to me.
A single EVE server ("node") handles about 700 users. The EVE universe ("cluster") handles 30,000+ users
Web sites without Flash, maybe.
The "processor" vs. "coprocessor" arguments has been going on forever. Meanwhile, people like me are still happily running Pentium3 systems at home at probably will for the next 5 years.
The article could be accurate so long as SL and EVE have their own definitions for what a 'Server' is. The more important question IMO is, how many people can they have for $X in hardware.
-Rick
"Most people in the U.S. wouldn't know they live in a tyrannical state if it walked up and grabbed their junk." - MyFirs
160? On the server where you don't even have to render graphics? Either they're running 160 self-aware AIs on their or the SL server code sucks so badly it could've just as well been written in visual basic.
Assorted stuff I do sometimes: Lemuria.org
Second Life is not sharded. It's clustered (they refer to the cluster as "The Grid"). Everyone is on the same grid (though there is a teen grid and a test grid, they aren't used much, and they are 100% independent except for authentication/transaction systems).
In Second Life, the game world is broken up into "sims"... sections of the virtual world that represent 256 x 256 in-game "meters". Each sim has its own master process, two of which run on each server within a cluster... everything that goes on within the sim stays on that server, except for "global" systems: inventory, monetary transactions, group/private IM, login authorization, assets (textures, sounds, etc). When you walk/fly/teleport from one sim to another, you are going to another server. Frequently, this is a painful process, and you can experience long delays or dropped connections if the destination server is unable to take in your session.
There are no global "game rules" per se; the base systems are movement (fly, walk, teleport, with collisions detected), lighting, spatialized sound, object placement, object and state delivery to the client (including animations, other players, textures, sounds, etc.), a primitive physics engine, and an advanced scripting system. If a combat system is in place on a given sim, it's been written by a player. (the built-in crude "combat" system really isn't used).
Because of the very high overhead of script processing, the pipe dream of player-created "mini MMOs" has never materialized. There are some imbedded games, but for performance reasons they don't scale, and because of the small size of sims their scope is very limited.
There are two types of sims: mainland and private. Mainland sims are run by Linden Labs, while private sims are leased by and run by individuals (I have two). Mainland sims have more restrictive conditions and behavioral rules; private sims are largely up to the sim owners, though there is still a minimum AUP for every location, be it mainland or private.
Second Life uses an OpenGL-based client package which has recently been open sourced. Because Second Life is connected directly to your credit card read-write (you can buy and sell in-game objects and services with "Lindens", in-game currency... and buy and sell Lindens for real cash, hence the recent crackdown on online casino operations which were de facto unregulated real-cash systems), there are significant hazards associated with a client build from any source other than what Linden labs has vetted.
One significant shackle to Second Life is the fact of player-created content: when SL releases a feature, players build around that feature's abilities AND limitations. If a bug fix changes how objects are rendered, etc., then it will break player-content that has worked around (or even incorporated) that bug. SL therefore has very limited room in which to improve things; given that their entire proposition is "it's player-created content", breaking player-created content breaks EVERYTHING. Once a feature ships, it's more or less graven in stone. Optimization becomes a nightmare.
Second Life uses blade servers running AMD processors provided by a company called Silicon Mechanics.
Comparing Second Life to Eve or WoW is apples-and-oranges. SL has much more in common with a chat room system that happens to have 3-D rendering and animations than with a modern MMO; its simply a different thing.
SL claims about 9 million accounts and 40,000+ simultaneous connects at peak usage. There is some controversy about the validity of these numbers, as most of those accounts are free/unverified, and "camping" is a widespread practice (characters logged in and idle to artificially boost traffic numbers for sim and business owners so they appear higher in in-game searches; sim and business owners often pay micropayments to campers in return for boosting their traffic ratings).
There are many other SL-style "sandbox"/microtransaction games currently in development on the premise of "great idea but Linden Labs is running it poorly enough that there is opportunity for others in the same product type". I happen to agree; the challenge is for one of these potential competitors to gain critical mass and learn from Linden Labs' mistakes.
Everybody gets what the majority deserves.
I'm surprised they're not trying to capitalize more on this. The piece about the "hard science" of gaming was mostly fluff, but it did highlight an interesting point: if you want ultra realistic graphics and physics, you need a crapton of CPU power. Intel, or some other enterprising folks with a lot of computers hanging around, should take up the challenge
When I play WoW (and I use "I" figuratively, since I don't actually), my computer doesn't have to process everything to do with Azeroth. I let Blizzard do that, and all my CPU needs to do is display what I'm looking at. Which is a good thing, because my computer probably can't handle running a WoW server AND draw the graphics AND do everything else it needs to.
Why not take this one step further, and farm out the physics and graphics processing to a remote super computer cluster? Let's say I play a game where the goal is to knock down a building. I want every brick, tile and support beam in that building to be represented by an object that is controlled by a physics engine, which in turn will be able to simulate every stress, strain and force at work. My CPU certainly can't do that-- but if the CalculatePhysics() routine farms out to a beowulf-whatever-- returning to my CPU only the resultant vectors-- maybe its doable.
UTF-8: There and Back Again
400, actually. That's 4 regions (called sims) on a 4-core server with up to 100 avatars per region.
That's with each sim doing concurrent physics calculations for 100 avatars interacting concurrently with 15000 unique objects in a 256x256x768 meter simulated volume, with each avatar running up to 1000 concurrent scripts. Anything from 10 to 1000 objects are independent actors that have to be taking into account for object-object collisions with a 1/45th of a second quantum. Maybe 1000 objects are running their own scripts, ALL THE TIME. And all content created by complete amateurs with no understanding of how to make physics run fast and making no attempt to establish collision zones or otherwise optimize the layout.
So each server is handling the physics for 60,000 objects, maybe 3000 being dynamic objects that cause as much load as a player in a regular combat game, and there's no optimization of the "level".
I don't think they're doing so badly.
I find it hard to believe that SL doesn't allow more than 160 concurrent users to log in simultaneously.
There's no "shards". The world is contiguous: you pause less than a second crossing from one sim to another and it's even possible to fly planes across multiple region boundaries at 25 meters a second (hitting a new region every 7-10 seconds depending on the direction you're flying) without losing control... you *can* still "outfly" the sims and crash but it's gotten a lot better than it has been.
Typically the SL server farm (grid) supports 20-30,000 users concurrently, and seeing over 40,000 isn't unusual.
It's a lot more servers than an Eve cluster but its also doing a lot of physics on in-world objects written and programmed by amateurs.
Because Second Life is connected directly to your credit card read-write, there are significant hazards associated with a client build from any source other than what Linden labs has vetted.
:p
The recent URL exploit on Windows (it was a command line parsing bug, so wouldn't have impacted Mac or linux since applications don't parse their own command lines the same way) wasn't from any open source build.
If by one server you mean 200+ multicore blades with a 400gig RAMSAN database behind it...
Subject says it all.
That is, if my post were as comprehensive as some of the figures in this story are.
Most web browser are massively memory-hungry. Circular Javascript references have Internet Explorer practically hemorrhaging unreachable allocations, and on Firefox, numbers are often reference-counted and allocated on the heap.
My CPU doesn't break above 20% when browsing the web either. But I'd be getting the same performance I would with four times as much RAM and a CPU that is one fifth as fast.
Don't discount network bottlenecks either. As Verizon rolls out its FiOS service in more areas, and bandwidth keeps getting cheaper, even without paging virtual memory in and out of your hard disk, you should expect to see greater CPU usage.
Just like you can not run Fedora 6 in a GUI on a computer with 64mb of ram and 800mhz.
You can't? Even if you run it headless? Why the hell not?
160 users per CPU in SecondLife? Give me a break.
You can barely get above 40 before a dedicated isolated island sim crashes (Class IV & V Sims)
Theoretical limit is stated I think.