Why Concurrency Matters
I have a lot of work to do today, but to hell with all of it for a minute. This needs addressing.
Last week I put some notes down about what I wanted in a virtual world largely as a thought exercise to help me collect ideas as I worked on a project for Clever Zebra. Interesting pingback links and comments came in, but one stood out (thanks Claus):
I agree with everything except the need for 1,000 or 10,000 concurrent users, in one shared space. The benefit of a virtual environment is the interaction with other people. You can interact with 30,40 people, even 100 will stretch it. 1,000 or 10,000 is a broadcasting event. Unless you break it down again into 30-40 smaller groups.
This is a common objection to the concept of allowing more than 50 avatars to share a space. Many bright people from both academic and technology circles argue that the need for many concurrent users to share a single 3D space is unnecessary and irrelevant.
At the moment virtual worlds just aren’t built that way: get too many people in the same room and the whole thing chokes. Many of the world’s brightest people consider this issue to be very low-priority.
They’re dead wrong.
I have all sorts of arguments, but let’s put my nerdyness on hold for a second and ask a simple question: which of these two clubs would you rather hang out in?
vs. 
Go with your gut here, because that’s what using a 3D space is all about: your gut reaction.
If the issue is settled for you then get to work filing bug reports with your favorite 3D platform that they aren’t supporting nearly enough people in a given place, and that until they do everything else they accomplish is irrelevant. If you’re an Auditory-Digital thinker and the issue is still far too vague for you, read on.
The facetious, in-your-face argument:
If the whole point of using a 3D virtual space is its similarity to being in a physical space, ask yourself this question: in the real world, are conference centers important to business? Are large rooms important? What about auditoriums and theaters? How about trade show floors?
A lack of concurrency forces us to slice all of these things up into small classroom-sized rooms. This is unacceptable. Period.
Take every one of your arguments in favor of small “multiple-venue solutions” or the fact that you can’t chat with more than a few people at a time and apply them to eliminating REAL-WORLD large venues. Do they still hold water? No, of course not. They don’t apply in the virtual world either.
The perception of value argument:
Which of these two speakers at the UN is saying things the world considers important to think about?
vs. 
Note: you could tell without even knowing who was on stage, couldn’t you? Shared presence matters on an instinctive level.
Seeing lots of avatars manned by real people adds a huge perception of value, but it isn’t just a visual phenomenon. Audio comes into play here as well.
One of the most important features of a recent trade show we ran (using four separate servers at once to support a mere 200 people at a time) was the chatter in between the booths. That background hum was something that you can’t fake with a looping crowd sound-effect. The real thing makes a difference.
That sense that something big is happening right here, right now, is huge. It beats the hell out of even a live video broadcast.
The rebooting server argument:
Which server is less likely to crash: one that can support 1000 users, or one that can only handle 50 at a time? I mean, all things being equal, a high-capacity machine can handle one or two extra avatars joining a meeting or sneaking into a lecture much more safely, can’t it?
The “on paper” vs. “in practice” argument:
Bottom line: nobody should be rationalizing what should be important. They should just look around and figure out what seems to be important, based on observation of how things are done in the real world.

This is a chronic problem in both academia and technology circles. People discover a new way to sound clever and stop paying attention to what people are actually inclined to do. This results in user-punishing interfaces, the necessity for hour-long orientations, and the Zune. Check yourself guys.
The “stop saying that’s impossible” argument:
Ok, last one, and then I’d better get back to work… won’t really be proof-reading this either… again…
One thing a lot of people assume is that high concurrency is impossible. The fact is, it isn’t even hard.
Take Activeworlds: you can cram a ridiculous number of people into a single room. Chat his handled gracefully, and on the client side if your computer can’t handle displaying that many avatars at once it just displays them as 2D cutouts in the distance.
A number of other platforms simply reduce the detail level on avatars that are far away. As a result the client doesn’t nag at the server for a ton of data it won’t use, and everything scales. Again, a client-side fix, easy to roll out.
Even voice can scale! Vivox is just one of many companies finding new ways of mixing audio based on proximity, allowing you to see someone in a conversation across a crowded room and walk over to them with your business partner without all sorts of technical hacks and craziness.
Ok, I’m out of time…
which is why this is so long. Usually I ramble, grab a bunch of pictures from Google Image Search to break it up, and then start cutting the text way down… but you’ll have to suffer the length this time, sorry. So, how do I wrap this up? Concluding thoughts?
Concurrency is a make-or-break for business. For games, who cares. That argument I’ll buy for a myriad of reasons. But when it comes to making these things into practical, meaningful tools, worrying about an extra team of 20 observers from the branch office not being able to fit into the venue is just stupid.
We’ve just barely been able to scrape this technology together into something that isn’t a toy in the last few years, but the true explosion of virtual worlds is held back by the inability to do anything large-scale. Delivery of virtual crowds will be the true dawn of the virtual world.


October 19th, 2009 at 1:03 pm
I agree entirely; we want virtual worlds to be like the real world. There is no ‘real’ problem only bandwidth is the limitation and this is becoming virtually infinite with the new techniques.
October 20th, 2009 at 5:14 am
From my experience with web.alive; it’s the performance of the PC that limits not the internet.
October 20th, 2009 at 3:11 pm
I agree partially. For the virtual platform as a whole, yes, I need a large population in order to find the few I’m interested in interacting with. As for the club scene, I hate crowds and wouldn’t darken the door of the second club, even virtually. But the UN venue does hit home. Because the people are seated and focused on the podium the crowding effect is reduced.
The advantage of a large population of users in a VW like Second Life is that I can search for like-minded folks more effectively than I could in real life. In a RL context we don’t publish our profiles. Since I’m not out for sex what I can see doesn’t tell me enough about who I’m rubbing shoulders with.
October 20th, 2009 at 10:09 pm
Concurrency matters and is the currency of many real world spaces. I’m happy as a flat avatar viewing a movie or performance in a crowded virtual theater. However when I’m presenting to a larger group in SL, I hate SL when it begins to approach maximum density (about 70 avatars per server?) and everything starts to lag. A weekly meeting of non-profits in SL generally runs 70+ participants. We could attract more, but the server fills up and randomly casts us on to another sim. It’s after the meeting when we want to stand around in small groups for mutual reality experiences when we usually give up or move our group to a less populated sim to continue the conversation.
Really liked your examples, and look forward to additional posts from you.
Thanks,
John (Docent Alturas in SL) Grozik
Milwaukee
October 20th, 2009 at 11:26 pm
I totally agree with everything you’ve written here, Caleb, and I think the photographic examples are great. It really is a no-brainer. Virtual worlds (_real_ virtual worlds) will never take the commercial high ground from flat-web, ersatz webinar ‘engagement’ solutions until they come to an accomodation with scale and local audience density that doesn’t require effectual sharding, load-balancing, sim-crossing and finger-crossing.
October 21st, 2009 at 1:06 am
Ah, yes. This is a technical / sociological topic that tends to make me twitch.
The current de-facto quanta of concurrency (valued ~50) is surely an implementation artifact, as much as technical limitation. It won’t stay at that level, at least not in platforms that survive.
And sure, there are physics, content format and other details which reveal comparisons between SL(+OpenSim) platforms and other metaverses such as ActiveWorlds and FreeRealms to be not quite appropriate.
No matter, the point stands and a high level of usable concurrency is perhaps a good metric for demarking that “next generation” of metaverse platforms. My guess is that those platforms will have to combine sharded and contiguous worlds, with both multi-domain big-iron asset service and p2p client interactions.
Anyway, I expect that ISP p2p “limitations” (even if only rate-related) may represent even more irritating interim barriers to crossing that immersive metaverse chasm.
But thanks for this post, not least because this is a topic deeply deserving of more rant-like coverage ;^)
Now I’m off to check out a few more sections of the excellent Burning Life 2009, at least until the concurrency spikes and lag monster make it all too tedious.
October 21st, 2009 at 4:08 am
Optimising the ISP and Operating system to games mode; reduces lag and latency and increases frame rates.
October 21st, 2009 at 10:52 pm
It’s great to be in such a high concurrency area, but these new techniques have to be rock solid and efficient for it to be able to work well - not just polygons per second but also animation/skinning cycles and bandwidth for all the UGC, gracefully scaling down textures.. maybe it has been solved already but is seems to still be a tough engineering challenge on lower end machines, especially as they are also doing many other things at the same time (eg web platforms )
October 22nd, 2009 at 4:13 pm
My 2 cents after creating virtual worlds for 10 years.
People want to be around people, but only with in limits. e.g. While in New Orleans for Mardi Gras I was on a street was SO crowded I literally couldn’t move. The virtual world analogy is lag caused by the client trying to render too many avatars at once, particularly visible in SL due to the user generated content. The other down side to too many people in one area is that you can’t interact with all of them. Chat scrolls by too quickly. I challenge someone to show me how having 1000 people in an area of a world adds any value. It sounds neat, but in balancing cost vs benefit, is it really there?
So the ideal situation is being around enough people to keep you interested, but not so many that your performance is seriously effected. Some worlds, of which Prototerra’s platform was the first, create parallel dimensions. So if a region of the world gets over some defined population limit, the server does not assign new users to the region of the world. The server automagically create a new dimension (which looks exactly like the first) and users going into the area of the world are assigned to this parallel dimension. User can travel between dimensions if they choose, to join friends for example. And the server allows the population limit to be broken for dimension travel. So you can always be with your friends.
I like to compare the SL way of doing it to a web site. Would eBay be in business if only 50 people could be on one of their web site at a time? Virtual worlds like websites need to scale scale scale.
Prototerra’s worlds have had thousands of people spread out simultaneously across multiple dimensions. And all of these user felt like they were in a full house. We also can assign people to dimension based on things like language, or region, so that all of the French speakers, and Turkish speakers can be in the same dimension.
Lots more could be said on this subject, but I will save it for another time.
October 23rd, 2009 at 12:35 pm
Using a deFacto 3D engine like Unreal enables most of the processing to be done locally; only positional data of moving objects need to be sent via the internet. The engine was designed to work on 2004 spec machines so most 3-4 year old machines have no problem; but things like anti-aliasing will probably not work to well.
October 29th, 2009 at 3:30 am
I think I’m on the fence on this one. I personally don’t buy your arguments, but that’s just it, it’s a personal choice and I do think that the fairly arbitrary technical limits that exist right now will inevitably improve. Having said that, I’d prefer a club with medium concurrency and a meeting with few enough people that there’s at least half a chance of making a decision!
What I disagree most with though is the assertion that the whole point of using a 3D virtual space is its similarity to being in a physical space. To me that is another completely arbitrary limitation. Sure, people aren’t going to leave familiar environments behind immediately since they help set the context of interactions but I hope we will gradually get beyond that to find better ways of working. Bob has it so right with his Mardi Gras example; the real world doesn’t scale well either! Why recreate the overcrowding, queues, inconvenience etc. of a real event. Surely every seat in a virtual event should be a front row seat?
October 29th, 2009 at 10:10 am
So let’s assume concurrency does matter and that a single crowd of >250 avatars interacting lag-free is an important capability. NORTEL has presented web.alive as such a platform for the Immersive Internet
http://www.linkedin.com/news?viewArticle=&articleID=78296419&gid=1990473&srchCat=WOTC&articleURL=http%3A%2F%2Fwww%2Eslideshare%2Enet%2Fjoe133952%2Fimmersive-internet&urlhash=Zjcm
I approached NORTEL personnel and suggested that they would gain some kudos by allowing sufficient server bandwidth for a high concurrency on their APEX “OFFICE COMPLEX” http://www.apex.projectchainsaw.com and they laughed indignantly and stated categorically it would be impossible to attract enough visitors to ever significantly affect the performance of the site. Is this a opportunity to arrange for a mass influx to test their beta 2.0 client? I personally think that there are some individuals who understand both that web.alive could be a important step in the future development of the 3D web but also scuppers their present commitment to other platforms. I am often wrong however. Am I?
October 29th, 2009 at 4:54 pm
Virual Worlds should simulate the real world; with all the possibilities. Some people like crowds, some don’t. Choice is the answer, let people decide what they want. Just give them the choice.
Instant collaboration, information on tap, all in a 3D real-world simulation. No need to travel, work from home, with constant monitoring to ensure efficiency and effectiveness. No more silly e-mails on works time, no office politics, etc. Heaven for the Creatives? Awful for the control freaks!
November 2nd, 2009 at 5:02 am
Joe; We need to organise a mass crowd to test concurrency limits from many locations, say when and where!
November 3rd, 2009 at 9:16 am
Hows about it then! Lets make it the 27th November at 12 NOON (EST)http://mellanium13.blogspot.com/2009/11/come-one-come-all-take-load-off.html
November 3rd, 2009 at 9:16 am
oops! http://mellanium13.blogspot.com/2009/11/come-one-come-all-take-load-off.html