Pages: [1] :: one page |
|
Author |
Thread Statistics | Show CCP posts - 0 post(s) |
Axemaster
|
Posted - 2010.07.19 22:10:00 -
[1]
Given that CCP apparently has a huge number (100's) of developers/programmers, I was wondering, why is Eve still singlethreaded (i.e. one CPU)?
Now, I am aware that the Eve code is incredibly large and complex, but surely CCP must realize the astronomical benefits of moving to multiple cores? They could spend less on hardware, could use less energy to run their servers, and it would effectively eliminate server lag issues, since dynamic reinforcement would become very easy. Looking into the future, it seems like they would have no choice but to use multiple cores in the long run. So why not start now, before the code expands even more (Incarna)?
I know that the task is huge, but couldn't they just assign 1-2 teams to it for a year? And require all the new coding to be compatible with the multicore scheme?
It just seems like they're hobbling themselves and will be forced to do it later anyway, at even greater expense.
Any devs care to chime in on the matter?
|
Seamus McLove
Aperture Harmonics K162
|
Posted - 2010.07.19 22:15:00 -
[2]
I believe the common comparison for the eve code is its like a vengeful, sentient snake made of spite, hatred and irony. Thus working on it, especially updating the old stuff, is only a job for coding superheroes and Men with capital Ms.
Also 1nd :) |
GTar
|
Posted - 2010.07.19 22:23:00 -
[3]
Are you talking server side Eve, i know for sure that the coding supports multi-cpu (and probably multi-core), both for the blade servers running the frontend and the MS-SQL database cluster. All of those servers have multiple cpu's pr server.
The Eve-client wouldnt gain much by supporting multi-cpu or multi-core, im just happy that i can utilize my I7 930's 4 cores by running 4 x Eve at a time.
/Gtar
|
Gavjack Bunk
|
Posted - 2010.07.19 22:25:00 -
[4]
In accordance with Eve Forum Rules, I will impress upon thee that the problem is your ****ty 386 and not Eve.
|
Niccolado Starwalker
Gallente Shadow Templars
|
Posted - 2010.07.19 22:26:00 -
[5]
AFAIK the code server side is more than multithreaded seeing they are using multi core CPUs
When it comes to client side code its still single core, mainly because there is no need to make it multithreaded since there would be nothing to gain from it. Or so I heard.
Originally by: Dianabolic Your tears are absolutely divine, like a fine fine wine, rolling down your cheeks until they flow down the river of LOL. |
Nika Dekaia
|
Posted - 2010.07.19 22:30:00 -
[6]
Knowing nothing about the topic and coding at all I'll take a wild guess and say that the Eve code is simply some 5+ years old code and more of Frankensteins Monster than something that would be coded by any developer today. Adding new parts of already dead bodies will not benefit that much.
Coding it all up from scratch with Eve 2.0 would be the only real option, I guess. And that would not be just a year, I guess.
|
Axemaster
|
Posted - 2010.07.19 22:30:00 -
[7]
Edited by: Axemaster on 19/07/2010 22:33:00 Uh... I was very strongly under the impression that the server has basically one CPU core per node, and each system can't have more than one node. Hence a max of one CPU core per system.
I'm looking around for evidence...
EDIT: For example, this thread seems to support it... Linkage
|
Dan O'Connor
Cerberus Network Dignitas.
|
Posted - 2010.07.19 22:31:00 -
[8]
Originally by: Niccolado Starwalker AFAIK the code server side is more than multithreaded seeing they are using multi core CPUs
When it comes to client side code its still single core, mainly because there is no need to make it multithreaded since there would be nothing to gain from it. Or so I heard.
That is correct. While everything is distributed on many many CPUs, it all works as one thing (or "mind", if you will).
Item DB | Sigs
|
Yuki Kulotsuki
|
Posted - 2010.07.19 22:38:00 -
[9]
Edited by: Yuki Kulotsuki on 19/07/2010 22:40:44
Originally by: Axemaster Edited by: Axemaster on 19/07/2010 22:33:00 Uh... I was very strongly under the impression that the server has basically one CPU core per node, and each system can't have more than one node. Hence a max of one CPU core per system.
I'm looking around for evidence...
EDIT: For example, this thread seems to support it... Linkage
That is correct. Many other aspects of the cluster are spread out but the one CPU per node is one of the big problems. The other is the inability to migrate a node to a dedicated CPU (1 CPU per node but can have many nodes per CPU) or a different machine entirely when it becomes overloaded. My understanding is that the issue has something to with stackless python unable to delegate it's tasks and "threads" beyond a single CPU.
Edit: just sub in CPU core for wherever I use CPU.
Originally by: CCP Lemur THIS IS GOD: ... IF YOU HAVE ANY MORE REQUESTS I'M AVAILABLE SUNDAY FROM 10:30 TO 12:00 TO RECEIVE YOUR PRAYERS.
|
Xenuria
Gallente Marcabian 5th Invasion Fleet HYDRA RELOADED
|
Posted - 2010.07.19 22:43:00 -
[10]
That is because eve dosent need to be multi threaded. Its not that heavy duty of a game. I have a nice computer but it could be better and the only problems I have with eve is the random socket closures.
Even when I am in jita the only issues I experience are server side latency.
Also the eve servers DO use several core cpus. The game client just dosent need to. "My name is legion, for we are many" |
|
Dztrgovac
|
Posted - 2010.07.19 22:47:00 -
[11]
Once upon a time Intel was promising 5GHz processors by 2004. and 10GHz down the line.
AMD was already starting to scratch their head at that and doubt the feasibility of it all.
And young and naive CCP believed it. Whether they first chose Python knowing its not that friendly to multiprocessing, or they "knew" multi GHz processors were coming so chose Python because they were good on it and could do the job best in it, while hoping that said 5GHz cpus materialize while customer base grows.
And time went on and best Intel could deliver was 3.8GHz PressHOT.
|
Axemaster
|
Posted - 2010.07.19 22:51:00 -
[12]
Originally by: Xenuria That is because eve dosent need to be multi threaded. Its not that heavy duty of a game. I have a nice computer but it could be better and the only problems I have with eve is the random socket closures.
Even when I am in jita the only issues I experience are server side latency.
Also the eve servers DO use several core cpus. The game client just dosent need to.
I'm talking about the server, not the client.
Also, Jita is an exception and a horrible benchmark. Fleet fight lag is the real problem coming from the node=1 core issue, since it demands so much raw processing speed - speed the single core apparently can't provide anymore.
|
Tinneus Nor
|
Posted - 2010.07.19 23:02:00 -
[13]
Edited by: Tinneus Nor on 19/07/2010 23:03:32 Writing correct, efficient multithreaded code for something as intricate as a game simulation environment (where you have many interacting entities) is still generally considered Hard. Taking existing single-threaded code and multithreading it, without screwing up badly, is Really Hard. For instance, it gets difficult when multiple entities have to update the same quantity (e.g., ship hitpoints) but make sure that they don't overwrite each other's changes (a "race condition") And then, once you've protected against race conditions, you've got to worry about threads getting stuck waiting for each other deadlock. Finally, you'd have to either use some custom version of Python that runs seperate threads on seperate cores efficiently (it's non-trivial), or find a way to efficiently share the workload between processes.
My guess is that the resource cost would be much higher than 1-2 teams for a year, and would also result in numerous bugs that are hard to find without extensive mass testing.
Edit: that doesn't mean that I don't dream of finding efficient ways to write correct, multithreaded simulation code in a high level language like Python
|
TheBaptist
|
Posted - 2010.07.19 23:25:00 -
[14]
To the OP: Go to University, take a course on Real Time and Concurrent Systems and you'd realise what you are suggesting to be a walk in the park is actually a slow crawl across lava fields. ;)
-- ECM: Eve Character Monitor Widget for OS X |
Grez
M. Corp Daisho Syndicate
|
Posted - 2010.07.19 23:25:00 -
[15]
You're both correct and not correct.
Portions of the server code are multi-threaded, and are shared between regions (as far as I'm aware), and multiple systems run on a single core. However, the more heavily loaded systems are confined to one CPU, as they require a lot more resources per player/action. ---
|
|
|
|
Pages: [1] :: one page |
First page | Previous page | Next page | Last page |