Slashdot Log In
Server Structure in EVE Online
Posted by
Soulskill
on Thu Oct 02, 2008 05:20 PM
from the more-the-merrier dept.
from the more-the-merrier dept.
Massively takes an interesting look at the server model used by EVE Online. It's unusual for a MMOG because it doesn't divide the player load among different servers or "shards." Instead, the same cluster handles the entire EVE universe and all 300,000 subscribers (total; record concurrent load is around 40,000). The EVE Dev Blog recently announced some upgrades to keep things running smoothly and allow for battles involving over 1,000 ships. They call the technology StacklessIO.
Related Stories
[+]
On the Feasibility of Single-Server MMOs 316 comments
GameSetWatch takes a look at the issues involved in creating an MMO that does not split its users among many different servers. They suggest that running a single "shard" is the next step in the evolution of MMOs, since it better allows player choices to have a meaningful impact on the game world; supporting different outcomes across multiple shards is a technical nightmare. They estimate, from the hip, that the cost to develop the technology required to support a massive amount of players (i.e. far more than EVE Online) on a single server to be roughly $100 million. Another recommendation is the strong reliance on procedural and user-generated content creation to fill a necessarily enormous game world.
[+]
The Problem of Shards, Servers, and Queues In MMOs 253 comments
An editorial at GamesIndustry takes a look at a couple of problems many MMOs have failed to solve as the genre has evolved over the last decade: log-in queues and a split player base. The most recent example is Aion, which launched in Europe and North America a few weeks ago. Players on some of the game's servers had to deal with lengthy queues until enough people left the starting areas and spread throughout the game. To NCSoft's credit, the queues are mostly gone already, and it wasn't simply launching with too few servers that was the problem (nor was simply launching more servers a perfect solution, as Warhammer proved). In fact, several servers had no queues at all, but many players had set their sights on the more popular ones — a problem facing other MMOs as well. At this point, it becomes a matter of programming — how can the developers for these MMOs build the networking aspect of the game such that more hardware can easily be allocated when it's needed, and also make it easier for people to play together without the restriction of different shards or servers? EVE Online has done well with a single game universe, but it's not clear how far that model can scale upwards.
This discussion has been archived.
No new comments can be posted.
The Fine Print: The following comments are owned by whoever posted them. We are not responsible for them in any way.
Full
Abbreviated
Hidden
Loading... please wait.
Great! (Score:2, Funny)
Re:Great! (Score:5, Interesting)
While I personally don't find Eve the game to be very entertaining, I love to here any new information about it. That's partially because stories like this [rockpapershotgun.com] can only come out of a game like Eve, but also because it's pretty much the only MMO right now that's really doing things their own way and not just following in the footsteps of WoW and Everquest before it.
Parent
It's also the only game... (Score:3, Interesting)
..that has a real underground economy, and drug-dealing cartel.
http://www.massively.com/2008/09/24/outlaws-of-eve-online-masudi/ [massively.com]
Re:Great! (Score:4, Interesting)
I was a beta tester in Eve, and played the game when it first came out. The game had an amazing community before it was ever released, and there was a lot of anticipation around it. When it opened up, it was this huge world that was mostly empty, and a lot of players went solo, or in small corporations. It had much more of a wild west feeling, especially out in 0 sec. The economy was a grand experiment, and there were many creative ways to turn a profit.
I ended up quitting Eve because I felt that a lot of the things I enjoyed about it were being lost as the game matured. As large corporations and alliances moved into space, we lost the freedom and uncertainty of a lawless land. CCP considered many of the more "creative" ways of making money exploits, and banned players for using them, instead of fixing loopholes in the mechanics which were the root cause. In short, politics and heavy-handed policy enforcement killed the game for me.
Now I'm not saying they went the wrong direction with it. I think it was a natural maturing of the game which led to where it is now. But I do think they lost their most loyal player base by doing that, and made it more of a mainstream endeavor. While I can't fault them for wanting to expand their audience, and pull in some big revenue, personally, I wish they'd taken a different direction. In any case, I'm always interested to hear how "the experiment" is progressing, and I do think they've made a fresh contribution to the gaming industry. It will be interesting to see where their ideas evolve from here.
Parent
Re: (Score:2)
It's a fish tank.
Re: (Score:3, Interesting)
That review was the worst, seeing as he only played 20% of the game by avoiding the corporation and PvP aspect.
Though its mitigated by the fact that his reviews really aren't reviews at all, they're "I don't really like videogames, so here's my low-budget flash animation with voice over that tells you, again, why I don't like videogames."
Re:Great! (Score:5, Interesting)
That review is dead on accurate for solo type players. Still, it's intended to be funny which it succeeds at, even the most hardcore eve fanboy can admit it's mostly true. It just completely misses the good parts of eve.
Everyone should try eve once. There is about a 75% chance you'll loathe it with every fiber of your being and go out of your way to talk about how awful it is whenever it gets mentioned. However, for the people looking for something different in MMOs, eve can be fun on levels untouched by any other.
Parent
Re:Great! (Score:5, Insightful)
It's like elite, but worse.
What I find disappointing though, is that he fiddled around with the tip of the ice berg, proclaimed it too small and proceeded to sail on past. EVE is a game which _requires_ you be a self starter - that you go out and do stuff at your own behest. It's for that very simple reason that some people just don't get along with it - they are used to being told what to do, for questing, for getting loot, or ... well, whatever.
They fly missions for a bit - and whilst they _are_ getting better, they're not exactly the most enthralling thing in the world. Conclusion: EVE is dull, and they move on.
I don't actually think that's such a bad thing - EVE is not a game that appeals to every gamer. At a pretty fundamental level, it does involve being horrible to other players. What in other games would be 'griefing' in EVE is 'business as usual'. The kind of player who's not really thinking 'wow, a whole universe, what can I do?' won't get along anyway.
*shrug*. I play EVE a lot, and I like the freeform nature. Others won't.
The only thing that has me miffed by Zero Punctuation, is he took a massively multiplayer PvP game - didn't interact with anyone, and didn't PvP, and proclaimed it crap.
Parent
I was wondering about that... (Score:2)
I was wondering what the point of setting up a character was if you never got out of your ship, so I figured at some point you got to level up far enough to meet people on their ships or something... but I should have expected that wouldn't happen. I got involved briefly in a space MUD, many years ago, and discovered that it was divided into people who flew around in their ship and did space stuff so they never got into the same room as anyone else and only talked with anyone in IM, and people who didn't ha
Re: (Score:2, Informative)
No, there's plenty of interaction. Aside from the voice chat, chat channels and the like, inter-player interaction is done through interacting with other people's ships. The point of creating a character is that it gives you a visual identity that goes along with your character name. Beyond that, there's a future expansion planned that will allow interaction of ones' avatar inside of space stations and the like. For now though, as far as game terms go one's ship is their avatar.
Re: (Score:2)
The point of creating a character is that it gives you a visual identity that goes along with your character name.
But who sees it? Just you?
For now though, as far as game terms go one's ship is their avatar.
Sounds like it.
Re:I was wondering about that... (Score:4, Insightful)
The portrait is used:
In the eve-online.com forums, in the in-game chat rooms, and whenever you "get info" about a players ship.
Parent
Shards (Score:4, Interesting)
Re: (Score:2)
Especially in Eve, where skills are real time based (you gain x points per minute no matter what). You can't ever catch up.
Re: (Score:2)
Re:Shards (Score:5, Insightful)
Why do you need to catch up? Isn't the game fun without being the player with the most points?
That's my problem with MMOs. Too much concentration on the top players leaving a rather boring middle. It's kind of like society. The rich and famous are looked after, cared for, etc while the middle class has to foot the bill and pay for the servers while not getting half the game.
Parent
The elephant's tail (Score:4, Informative)
Heh. On WoW about 99% of the content is for levels 1 to 69, and all there is to do at level 70 is a repetitive grind to give you _something_ to do until the next expansion pack comes. It used to be the same at 60, before Burning Crusade.
The same applies to virtually any game out there.
E.g., on COH you still don't even _have_ a proper endgame grind, and it used to have none at all. (Unless you count the bad joke that the Hamidon "raid" used to be. Think: get 50 controllers to spam holds, and the rest of the gang does nothing at all to not get aggro.) Nor any perspective to get further than that, because the game had 50 levels since Issue 1 and just isn't supposed to ever have more than 50 levels.
E.g., on EQ2 much the same applies as on WoW. You hit level 80, you get stuck doing a dungeon 100 times, and then move on to the tier 2 grind and do it another 100 times, and somewhere past the point where you're bored out of your freaking mind, you finally get some of your epic gear.
E.g., on SWG, there didn't even use to be an endgame at all. The grind to Jedi was mostly repeatedly nuking your old "class" (ok, skill combination) and playing another "class" from zero to max. That was it: repeating the normal game again, with whichever class you got told to use this time. And then you got a Jedi to play the game with, from zero to max again.
Etc.
How the _fuck_ does that count as catering more to the top players? Those have 1% of the content, the low and middle guys get 99%.
On virtually any game out there, it's pretty much the illustration of this absurdist joke: "Q: Why does an elephant have a tail? A: So it doesn't end abruptly." That's it. What you get at top level is the elephant's tail, and the rest of the folks get the rest of the elephant.
But of course it doesn't prevent people from imagining that there's some grand and fabulous Shangri-La at the end. That they'll suddenly have 10x more fun, angels will give them blowjobs around the clock, heralds with trumpets will announce their every move, and that a thousand Blood Elf virgins will beg to have their baby. Basically, especially if they don't find the mid-game that much fun, that there must be _some_ grand reward at the end, or people wouldn't do it.
Boy, are they going to be disappointed. What people actually get at the end is... well, look at all the disgruntled WoW bashers and all the people swearing that <NEXT GAME> will bury WoW alive, and their whole raiding guild is swearing off WoW as soon as <NEXT GAME> comes out. That's how great they're catered for at the top.
It's still the same basic game, only more repetitive. If you find the middle boring, you're going to find the top even more so. Oh, it'll be something new to be in a raid for the first time. The second time too. But by the time you've went through it a dozen times, all using the same 1-2 buttons, it starts being a heck of a lot less fun. And if you still didn't get the hint that you've finished the game and might as well move on or start an alt, you're going to keep doing it more and more and enjoying it less and less. Well past the point where that enjoyment dropped below the "watching pait dry" mark. Until one more straw breaks the camels back. And then you join the great mass of burned-out, disgruntled ex-WoW-ers. Or ex-EQ2-ers. Or whatever.
And depending on the game, you might also get asked to respec your character into something you don't like. (See all the "but I wanted to be a Shadow spec priest" whines.) Or you might discover that your class isn't even needed by anyone at the top, at all. (See, again, everyone who wasn't a controller, in the Hamidon "raid" on COH.)
Did you actually play it to the top on those MMOs you have a problem with, or are you just judging them based on what you imagine about the top?
Parent
Re: (Score:2)
By default "most" of the content for any game is for the lead up to the endgame. However, most *new* content is generated for endgame players, because those are the most likely to leave (and as a result, stop paying their subscriptions, of course).
Whether or not any given company does this well is another discussion (but from my experience no one does it well -- at least WAR will have the endgame RvR to play).
Re: (Score:2)
That's pretty much what I was getting at. I played EQ1 for YEARS and the only content ever added was Raid and Guild centric content. I sadly jumped from MMO to MMO from that till Warhammer today. It felt as though the adventuring player that might stop to read would be left out of every expansion. Games do that even today (including WoW and EQ2... and yes, I've played them and got sick of the end game.) For the record, End Game is not what I was talking about for "top people". I meant those that some
Re:The elephant's tail (Score:5, Informative)
This is a common misconception. The content is for all levels. A common personality type wont use any content that doesn't measureably increase their usefulness at the highest tier. I submit you feel there is nothing gained from trying to solo Uldaman at level 70 or speed level or any of the non-traditional achievements that any person can imagine other than getting a sword that's +12 instead of +11. This personality type helped codify "a repetitive grind". In the asian markets, this does not exist (which is interesting from a sociological standpoint). If repetition was the problem with enjoyment, there would be a much higher suicide rate.
I have stated, many times, that the type of personality that does well with MMORPGs is not the exact same market that is assumed. Teenaged boys are tempermental, have shifting expectations, and are bored easily. You'll find the people that do well over years, are middle-aged and employed or otherwise fulfilled outside of game accomplishments.
What's worse, the content that BC came out with was LARGELY level 70 content. 1%? How do you come to that figure? The multiple subsections of zones devoted to 70-only (Skywing quests, comes immediately to mind) and specific holiday events. The entire zones geared for level 70s? No less than a dozen instances. Shattered Halls, Steam Vaults, Shadow Labryinth, Caverns of Time, The Arcatraz, Mount Hyjal, Serpentshrine Caverns, Tempest Keep, Black Temple, and EVERY Heroic version of the 5-mans? People see what they want to see.
You need to examine how you play the game, not make false criticisms based on an obvious personality quirk that prevents you from enjoying them more than one way. Yes, other people complain as well for the SAME EXACT REASONS (while there are millions who do not), but they complain because they are unable to be introspective, not because there's anything wrong with 'the original wheel'.
Parent
I'm talking in hours (Score:3, Interesting)
While technically that's true:
1. It was there at a lower level too, hence the claim that only top-levels get catered for, is false.
2. So basically a variant of the common fanboy defense, "well, you could go and do <insert pointless thing> or do it again and again, and that ought to count as more hours the game has." It's been floating around about various games since at least the 90's.
Re: (Score:3, Informative)
Not sure how the new expansion will work out. I suspect, that like Burning Crusade, they'll need to patch in content periodically in order to give players n
Re: (Score:2)
Re: (Score:3, Insightful)
Except the payoff for time invested is exponential, not linear. So even though you can't catch up, being a year behind means you're just 5% behind. Or not as diversified.
Example: a corp member, at about 6 months old in account age, had over twice the kills as anyone else in the corp, 4 year veterans included. It's not all about your in-game skills.
Re: (Score:2)
Except the payoff for time invested is exponential, not linear. So even though you can't catch up, being a year behind means you're just 5% behind.
I believe you meant logarithmic.
Re: (Score:2)
It's not all about your in-game skills.
****
Absolutely not true.
If you take a midrange ship and fit it well enough to get those kills, you require a minimum of 9 months to train it and the sub-skills. Maybe 6 if you buy a "starter" character with all of the basic skills learned and put some heavy duty skill boosting implants on it.
I know. I've thought about starting a new character to just do PVP and it's a 6-9 month minimum to not get squashed like a bug.
Older characters have a huge advantage, pure and si
Re: (Score:2)
No, that isn't true, unless you're talking pure one-on-one battles. Chances are you will get squashed in one-on-one until you are using all T2/named etc etc.
In group battles you can function perfectly well as part of a team in under a month.
Re:Shards (Score:4, Insightful)
Chances are someone new will get squashed one-on-one in any ship you can fly. This applies from a frigate up to the most expensive faction battleship. This isn't a skill points thing, it applies equally if you ebay a character from the day eve was released.
One on one pvp in eve is pretty rare, and being able to survive long enough to even find someone can be a challenge. You have to know what ships you can take on. (being in a bigger ship doesn't mean you can win) Even then there's always the chance of a surprise.
This 6-9 month crap is uh, crap. Solo pvp can be done in a T1 frigate or cruiser. It's not easy but neither is doing it in ANY ship.
The real trick to solo pvp is a good ship fitting(whatever ship that may be), and the balls to go out and get blown up many times learning how to do it.
Parent
Re: (Score:2)
I agree that a PvP spec character requires 6-9 months. But from there its only another 3 months to be fully specced on any one class of ship (T2 cruisers for a race). Once you get up and going with PvP, you're most of the way there. This is the logarithmic acceleration parent was talking about: you need a lot of skills to level 4/5, but only a couple to 5/5: it just so happens that 5/5 takes significantly longer than 1->4 took. Usually you need the 5/5 to use equipment, and not because the 5% energy
Re: (Score:3, Insightful)
agree that a PvP spec character requires 6-9 months. But from there its only another 3 months to be fully specced on any one class of ship (T2 cruisers for a race). Once you get up and going with PvP, you're most of the way there.
****
Absolute rubbish.
Sure, you can physically fly the ship, but you need shields, armor, guns and ammo, targeting, repairers, warp scramblers, energy and CPU efficiency skills to FIT them - stock can't fit half of them... there are literally 20+ skills that you need to even fly it.
Re:Shards (Score:5, Insightful)
EvE is also interesting in that the playing field is also relatively level. A fairly small gang of newbies can drop a 3 year player with a multi-billion ISK ship if they use good tactics. Compare with WoW where no number of low-level characters would have a chance against a 70 -- pretty much any character under 60 will be a 1-hit kill for the 70.
Also, the skills in EvE that "really matter" -- the ones pertaining to your ship's capabilities in combat, those skills are fairly limited. After around 15 million skill points or so you'll have maxed out anything. The 30 million skillpoint character may be able to manufacture stuff too, but the rest of his skill points won't help him in combat.
I really like their skill system and would like to see more MMOs adopt it. It does require patience, though, so I suppose it's not likely to be popular with most MMOs. The customers want their instant gratification.
Parent
Re:Shards (Score:4, Interesting)
Actaully, EVE is the first MMO that I've ever gotten into, and I think a lot of it is the skill system for me. I maybe get in 2 - 3 hours a day of good playtime, 4 days a week. So, about 8 - 12 hours a week. It's nice to know that, as long as I keep track of when my skills finish training, I can log in from work, start the new skill, log back out, and not be at all behind in skills as somebody else who started the same day as me.
IMO, EVE really gives a lot to the gamer who has to balance his gaming life with his work and social lives.
Parent
Re: (Score:2)
And I suppose they completely fucked up the death mechanism like every other MMO.
If there was permadeath then it wouldn't matter who was on top.. cause eventually they'll die.
Re: (Score:2)
yeah, this is called a "wuss-slap" by Bartle (one of the biggest proponents of permadeath).
Re: (Score:3, Interesting)
The player with the most skill points doesn't always win, because the player with the most skill points can still only throw around part of their skill points.
No single ship, can effectively engage any other ship.
A sniper battleship is a rather large investment of money(for some people) and a large investment of skill points. Yet a single determined ewar cruiser pilot with who has been playing for less than a month can prevent him from firing. A week old player in a frigate can be responsible for the death
Re: (Score:3, Interesting)
They might consider bringing up just a small number of shards to see what happens. Right now strategies, techniques and culture may be so entrenched that it stifles innovation, whereas having 3 or 4 shards would allow new techniques to develop.
Re: (Score:2)
Right now strategies, techniques and culture may be so entrenched that it stifles innovation
Wow, they did a great job simulating the real world.
Performance upgrades are a must. (Score:5, Interesting)
This was one of the largest reasons why I had left EVE. I was in a fairly large alliance. (SMASH) and I had partaken in my fair share of large battles, but we had one with around 400 people total in one system. The game was just in agony trying to run all that.
I actually saved an image of the fight.
http://s219.photobucket.com/albums/cc252/Drakin030/?action=view¤t=MassiveFight.jpg [photobucket.com]
You will notice to the right, the list of players was cut at the top, the client started to bug out. Also during the battle you really had no control over what was going on. The speed was about a frame every 15-30 seconds. After each from you could be dead....Or another part of your HUD/Overview was missing.
It was battles like that in which I look forward to, but it was to the point where whoever hit the fire button first won, because if you got caught in the stream of lag before you enabled your guns, you would not fire a shot.
I'm glad to see that they are working hard on the performance, I just hope it's good enough to sustain at least a 400 man fight.
Re:Performance upgrades are a must. (Score:4, Informative)
Effectively, they're knocking down as many lag-pins as they can, and I agree, hopefully with some luck.
Parent
Re: (Score:2, Interesting)
For one, the client handles things a lot better now. You're able to turn off irrelevant brackets, which leads to some massive performance improvements.
As for the server side, in the last week or two since the StacklessIO update went live on their servers, the servers have been able to handle large fleet battles incredibly well. Module lag is all-but nonexistent, even with several hundred per side battles. The problem is now one of memory; the removal of the IO-caused lag bottlenecks has shifted the bottlene
Re: (Score:3, Informative)
I think the servers were 4GB, with 2GB per server process (single-threaded on a dual-cpu machine you see). The "core" servers that handle the biggest places like Jita have now been upgraded to 16GB of ram and 64-bit code, allowing them to use it ALL for ONE server process.
Can't distribute 1 sol over N blades = !scalable (Score:4, Interesting)
The reason why EVE is lagging is because the architecture of a sol is not distributed at all. Each sol is a monolithic process.
Any given IBM blade can run any number of sols, but the fewest it can run is 1, not a fraction of 1. Second Life has this same problem, a non-scalable architecture in which several sims can be run on one CPU, but the fewest you can ever run is 1, and it's not possible for N different CPUs to carry the load of 1 sim. That places a limit on the activity within any 1 given sim, or sol here.
When any given sol can be run across N blades in EVE, then we'll have a decent scalable architecture, and not before.
Improving the I/O speed with Infiniband will help, sure, but it's not the answer to non-scalability of sol activity. That can only be done by total redesign of the sol process to make it distributable over an arbitrary number of blades.
Parent
MMOs (Score:2, Interesting)
quote from article: "However, this model affects a lot more than its running costs and complexity and may be practically required for any successful next-generation PvP based MMO."
"Could the single server approach become commonplace in the next generation of PvP-based MMO? I, for one, hope it does."
I played Eve for awhile, it is very cool how so many players in one place just change the approach of tasks which are common place in every MMO it seems. I would love for hardware to get a jump on software right
Re: (Score:2)
Eve is extremely well balance for incoming players
Theres been some talk about logarithmic advantage: training skills to level 5/5 takes far longer than 1->4 took yet provides the same boost as 1->2 or 2->3 or 3->4. As long as they're not 1v1 dueling older players (1v1 dueling... which _never_ _ever_ happens in this game), a new player will do fine with a scattering of level 3,4, & 5 skills.
The ships bear a similar diminishing rewards scheme. Old players with a crap ton of money fly Tier2 s
Used to be based on Stackless Python (Score:5, Informative)
http://www.stackless.com/wiki/Applications [stackless.com]
Don't know if that is still a core part of their technology; certainly makes sense, as lots of high-performance applications avoid creating lots of threads in order to scale--especially when there's IO involved. Thus, Stackless Python also takes the same approach to logical concurrency as Erlang.
"doesn't divide the player load" (Score:4, Interesting)
Actually, players are divided among servers. Specifically, all players in a single solar system (just "system" in EVE lingo) are isolated to a single thread within a single stackless python process.
This design does not permit real multicore concurrency for a single system. Every player action in space is handled by a single thread. Stackless python provides "microthreads" which gives the illusion of concurrency, but it's really just cooperative multitasking. Lacking real concurrency, EVE can not scale beyond what can be processed in a single thread in a reasonable amount of time. Presently that amounts to about 1000 ships/players.
Microthreads provide none of the concurrency mechanisms (locks, CAS, etc.) that permit threads to safely share data. Thus, the stackless design of EVE can not be scaled using SMP. In my opinion this is a major design flaw of EVE.
The stackless microthread design was chosen for ease of development. Today, that choice plagues the game; it can't be fixed (to permit real concurrency) without a major refactoring of the server side game engine. If EVE will ever scale to what the players actually expect (by virtue of the fact that they don't hesitate to try 1000+ ship battles) then CCP needs to begin thinking about this refactoring; systems should be capable of leveraging multiple cores on demand. That means abandoning microthreads, which is the right decision, because the design imperative behind the choice of stackless (ease of development) is obsolete; half a decade later the new imperative is scalability.
The StacklessIO thing is an improvement to asynchronous IO that CCP deployed earlier this week. It's nice in that it enabled about 1000 players/ships to fight in a system with less "lag" then had been the case with only 500 or so ships. The 32 bit nodes will still crash when they run out of RAM, buy hey, it's an improvement.
Re: (Score:3, Interesting)
Right right right right right... and wrong.
Great post, but I have one qualm. Microthreading/tasklet models are not explicitly incompatible with SMP systems. Theres nothing inherent to microthreads that would prevent, say, eight separate hardware threads all working in tandem to run a single solar system & its batch of microthreads.
Classical concurrency coordination mechanisms like mutexes and locks are not ideal for microthreading environments, so perhaps scaling out with these concurrency primitives
Re:"doesn't divide the player load" (Score:4, Informative)
Right right right right right... and wrong.
Great post, but I have one qualm. Microthreading/tasklet models are not explicitly incompatible with SMP systems. Theres nothing inherent to microthreads that would prevent, say, eight separate hardware threads all working in tandem to run a single solar system & its batch of microthreads.
Classical concurrency coordination mechanisms like mutexes and locks are not ideal for microthreading environments, so perhaps scaling out with these concurrency primitives might make abandoning stackless a logical step. Something like an actor model or a message passing scheme may however work extremely well in a stackless environment. Particularly if all you are doing is processing messages, you still want that ability to context switch extremely quickly.
My understanding is the main hold-back for concurrent Eve servers is things like guns firing at a ship thats already blown up, but the local thread doesnt know the ships blown up (not possible in their present non-concurrent environment). You can deal with this either by holding mutexes on the target, or you can use message passing and simply have the blown up ship send a message back saying "sorry, you cant shoot me, i already asploded," and then deal with that failure message in an async fashion.
If I were CCP I know what path I'd be taking. But thus far, CCP has focused largely on platform wins like asynch IO (although given the CPU usage their IO USED to be taking up perhaps that was in order) and proxy servers. They've systematically been ignoring the question of real concurrency.
Absolutely, the larger problem is the Python interpreter itself (CPython) and something called the Global Interpreter Lock (GIL). This lock prevents the real threading from having an actual impact and is the reason that CCP has not persued a OS threading.
CCP Lingorm [eve-online.com]
Actually this [one thread per system] is a limit of Python. Currently Python is bound to a Single Core (this is called the GIL, Global Interpreter Lock) and it is the centre of a large amount of heated discussion in the Python Community about removing it or keeping it.
IronPython has removed it but has no support for stackless at this point so we would still have to completely rewrite the threading system.
We are continuing to look into options to enable us to span multiple CPU cores and thus 'grow' our architecture. I am hoping to get some more details on this for posting Soon(TM).
Parent
Re: (Score:3, Interesting)
i did not know that: good point!
however, real horizontal scaling has to be able to go beyond SMP scaling; with this in mind i dont see a interpreter lock as necessarily a dealbreaker. running an interpretter per CPU and using a combination of networking and shared memory for message passing is still viable, and those remoting techniques would ultimately be required down the road even with SMP scaling.
actually, the inability to scale on SMP systems gives me faith that CCP wont do the wrong thing yet again:
Re: (Score:2)
Probably not in general, where the cluster that they have is focused on a high level of concurrency and a low level of latency. Their database stuff might be interesting for data warehousing projects--it's mostly solid-state storage for a database that handles a really high number of transactions.
Basically what they have are a couple hundred IBM built dual Opteron blades sitting on a lot of RAMSAN SSDs, with a more conventional disk based storage system for the more persistent data. The cluster runs a lot