Pages: 1 [2] 3 :: one page |
|
Author |
Thread Statistics | Show CCP posts - 0 post(s) |

Spoon Thumb
Paladin Imperium Curatores Veritatis Alliance
|
Posted - 2008.08.21 16:06:00 -
[31]
Originally by: Beltantis Torrence
etc.
Yes, if you read my later replies you'd see I've made a fair number of assumptions or used somewhat "noddy" examples, because this wasn't meant to be a guide for software engineers. So if you know better, then please correct me.
The point about scalability was more that once a system maxes out one of the blades, you can't really do anything about it, various other bottlenecks aside. So you can't just "add moar powar"
|

Doc Fury
|
Posted - 2008.08.21 17:00:00 -
[32]
Edited by: Doc Fury on 21/08/2008 17:05:12
Originally by: Spoon Thumb
Originally by: Beltantis Torrence
etc.
Yes, if you read my later replies you'd see I've made a fair number of assumptions or used somewhat "noddy" examples, because this wasn't meant to be a guide for software engineers. So if you know better, then please correct me.
The point about scalability was more that once a system maxes out one of the blades, you can't really do anything about it, various other bottlenecks aside. So you can't just "add moar powar"
Yes they can. CCP could dedicate one node per system instead of X systems sharing a single node. This would then finally maximize the capabilities of their 10-year old server code and give them breathing room until they can write proper code that fully utilizes commonly available server technology. It would also mean that people in a system of 20 players would not have to suffer just because some .0 system elsewhere is being sieged by a 100+ player fleet.
|

Dr Slaughter
Minmatar Rabies Inc.
|
Posted - 2008.08.21 19:23:00 -
[33]
Originally by: Beltantis Torrence
3) You don't know that a node is a single computer. It could be muliple computers handling different tasks.
Yes we do. The exception is the Market, and some other services (map etc.) which run elsewhere.
Originally by: Beltantis Torrence
4) " If the system is on another machine, they are sent through the network to the other node." What???
When you move from a system on one node to a system on another node a your state data needs to be moved to the other node. i.e. a shed load of information needs to make it's way from one blade to another. This goes over a gigabit network. Infiniband will be an order of magnitude, or more, quicker at this task.
Originally by: Beltantis Torrence
Not sure why you would write a guide on technical limitations when it appears like you aren't really a technical person, no offense.
To be honest, you seem like a technical person that's spent very little time learning about how CCP have actually implemented eve.
This isn't worms in space... well...  ~~~~ There is no parody in this thread. Honest. |

Lazuran
Gallente Aliastra
|
Posted - 2008.08.21 19:46:00 -
[34]
Originally by: Dr Slaughter Edited by: Dr Slaughter on 21/08/2008 12:46:09 Edited by: Dr Slaughter on 21/08/2008 12:45:43
Originally by: Lazuran CCP just isn't throwing enough hardware at the problem
You do understand that the nodes max out on CPU and that because of the GIL CCP's SOL code can't take advantage of the additional cores on their server blades, right?
So you could throw 10,000 more blades at it and not make a jot of difference to your fleet battle.
I don't understand why clueless people like you are spamming all over the forums really...
YES 10.000 BLADES WOULD MAKE A DIFFERENCE BECAUSE THEN YOUR FLEET FIGHT WON'T BE ON THE SAME NODE AS MOTSU..
|

Micheal Dietrich
Caldari Terradyne Networks
|
Posted - 2008.08.21 19:53:00 -
[35]
My god, an actual intellegent thread about lag. 
|

Donkee Punch
|
Posted - 2008.08.21 19:56:00 -
[36]
Originally by: Lazuran
Originally by: Dr Slaughter Edited by: Dr Slaughter on 21/08/2008 12:46:09 Edited by: Dr Slaughter on 21/08/2008 12:45:43
Originally by: Lazuran CCP just isn't throwing enough hardware at the problem
You do understand that the nodes max out on CPU and that because of the GIL CCP's SOL code can't take advantage of the additional cores on their server blades, right?
So you could throw 10,000 more blades at it and not make a jot of difference to your fleet battle.
I don't understand why clueless people like you are spamming all over the forums really...
YES 10.000 BLADES WOULD MAKE A DIFFERENCE BECAUSE THEN YOUR FLEET FIGHT WON'T BE ON THE SAME NODE AS MOTSU..
WRONG... not a viable option for any business to simply toss a massive amount of hardware at a problem like this. The code needs to be revamped to take advantage of multiple cores.....
Implementating some form of "load balancing" in the interim might help though.. but since I don't know what kind of setup they have it may well not be an option either.
|

Pnandor
|
Posted - 2008.08.21 20:06:00 -
[37]
Well 10.000 isk sellers is spamming alot of chats right about now ?
|

Beltantis Torrence
|
Posted - 2008.08.21 20:26:00 -
[38]
Edited by: Beltantis Torrence on 21/08/2008 20:28:50 Edited by: Beltantis Torrence on 21/08/2008 20:28:14
Originally by: Dr Slaughter
Originally by: Beltantis Torrence
3) You don't know that a node is a single computer. It could be muliple computers handling different tasks.
Yes we do. The exception is the Market, and some other services (map etc.) which run elsewhere.
...Thanks for confirming the exact same thing I said...Right...
Originally by: Dr Slaughter
Originally by: Beltantis Torrence
4) " If the system is on another machine, they are sent through the network to the other node." What???
When you move from a system on one node to a system on another node a your state data needs to be moved to the other node. i.e. a shed load of information needs to make it's way from one blade to another. This goes over a gigabit network. Infiniband will be an order of magnitude, or more, quicker at this task.
...This is probably done through the database...I say probably because its not like any of us know for sure...
Originally by: Dr Slaughter
Originally by: Beltantis Torrence
Not sure why you would write a guide on technical limitations when it appears like you aren't really a technical person, no offense.
To be honest, you seem like a technical person that's spent very little time learning about how CCP have actually implemented eve.
This isn't worms in space... well... 
Nice try at trolling when you didn't disagree with anything I said, just showed off your poor reading skills. At the end of the day, hardware isn't the only or largest constraint on a software system. If you were a software engineer you'd know that, just like the OP.
|

Beltantis Torrence
|
Posted - 2008.08.21 20:33:00 -
[39]
Originally by: Spoon Thumb
Originally by: Beltantis Torrence
etc.
Yes, if you read my later replies you'd see I've made a fair number of assumptions or used somewhat "noddy" examples, because this wasn't meant to be a guide for software engineers. So if you know better, then please correct me.
The point about scalability was more that once a system maxes out one of the blades, you can't really do anything about it, various other bottlenecks aside. So you can't just "add moar powar"
See that's the point. Here's my issue with your post :
1) You make a number of speculations and write them in a *guide* as if they were factual.
2) You draw conclusions that aren't based in fact (ie, that mohr power is the only method to 'fix lag' or that hardware constraints are the primary issue).
I'm fine with you speculating on how Eve works but you shouldn't call it a guide because a guide implies what you're writing is derived from a standpoint of expertise. Their back end system we only know what we can infer and what they tell us, which may or may not change without us being aware of it. So its not like we can *know* much, let alone with the level of certainty you'd expect from a guide on the subject.
|

Sile Suirghiche
Minmatar Gaidhlig Technology
|
Posted - 2008.08.21 20:52:00 -
[40]
Originally by: Spoon Thumb ( -1 since player activating their gun already knows)
Actually, no. As we've all seen you often hit F1 and wait, and wait, and wait for that module to activate. What we're waiting for is the server to send us the response. So information per player event varies by the square of the players present (in addition to any non-player derived information sent which would vary linearly by the players present.)
Right?
|
|

analoge Halluzinelle
|
Posted - 2008.08.21 21:05:00 -
[41]
"With sufficient thrust, pigs fly just fine. However, this is not necessarily a good idea. It is hard to be sure where they are going to land, and it could be dangerous sitting under them as they fly overhead."
RFC1925 - The Twelve Networking Truths
|

gpfwestie
Gallente Federal Defence Union
|
Posted - 2008.08.21 21:29:00 -
[42]
Originally by: Dr Slaughter
Please please please get rid of the GIL
Holy **** I didn't know you can't thread in Python. That is awful, perl, or C++ both do it very nicely.
Anyway, for the 20 years before threads were invented we used fork / exec. A bit of shared memory and some sockets for mutexing and you are done. Whats the problem ? 
Note:- I make the assumption a real OS is being used (ie not Windows , where context switches between processes are erm, a 'little' slow)
|

Lazuran
Gallente Aliastra
|
Posted - 2008.08.21 21:56:00 -
[43]
Originally by: gpfwestie
Originally by: Dr Slaughter
Please please please get rid of the GIL
Holy **** I didn't know you can't thread in Python. That is awful, perl, or C++ both do it very nicely.
Perl sucks at it actually. Every thread requires a full copy of the original process (yes, like a fork). It looks nice syntactically but the implementation is horrible.
|

Beltantis Torrence
|
Posted - 2008.08.21 22:21:00 -
[44]
Edited by: Beltantis Torrence on 21/08/2008 22:23:14
Originally by: gpfwestie
Originally by: Dr Slaughter
Please please please get rid of the GIL
Holy **** I didn't know you can't thread in Python. That is awful, perl, or C++ both do it very nicely.
Anyway, for the 20 years before threads were invented we used fork / exec. A bit of shared memory and some sockets for mutexing and you are done. Whats the problem ? 
Note:- I make the assumption a real OS is being used (ie not Windows , where context switches between processes are erm, a 'little' slow)
Right. And therein lies the issue with Python - the creator of Python himself doesn't view multi-threading as an intelligent way to design applications. His design principles are founded around the concept of cloud computing but cloud computing assumes you can break processes up into small single units of work or transactions. Once the workload gets beyond trivial interactions (the type that Python was mostly designed for), the inefficiencies of interpreter languages start to become obvious. Basically it isn't a problem until you run into a unit of work that is beyond the scope of the language to handle on a single machine in a reasonable timeframe. Using inter-process communication techniques (what they're hoping to implement with infiniband I assume in some practical way) isn't feasible in a game in normal circumstances because the overhead degrades rather than improves performance. Infiniband may mitigate that overhead but for a normal machine in normal circumstances hitting itself on a loopback over a socket is a lot of overhead to be attempting hundreds of times per second while also interacting with the 'outside world'.
For Eve that 'unit of work' is all the calculations to handle a round/pulse for a single grid. Since the requirements are high, the faults of Python stand out pretty strongly. I don't blame the developers though, I find in almost 100% of the cases where there are major performance issues like this its a caveat forced by middle and upper management against the better judgment of the system architects.
|

gpfwestie
Gallente Federal Defence Union
|
Posted - 2008.08.21 23:08:00 -
[45]
Originally by: Beltantis Torrence Using inter-process communication techniques (what they're hoping to implement with infiniband I assume in some practical way) isn't feasible in a game in normal circumstances because the overhead degrades rather than improves performance.
Well, back in 2002 we had a Regatta (IBM p Series 690) with 32 Cpus per node, so long as the processes are within the same node you can use Shared Memory for IPC - sure you have to communicate via the switches for more than that, but you know - thats quite a lot of processors.
I'm no longer doing HPC stuff, but surely things have moved on dramatically since 2002 ? I imagine a Regatta or an SP2 or something could be picked up on Ebay for a few $$$$s now 
|

Dr Slaughter
Minmatar Rabies Inc.
|
Posted - 2008.08.21 23:10:00 -
[46]
Edited by: Dr Slaughter on 21/08/2008 23:11:59 Spoon Thumb, great guide. Gives the flavor of the problems.
The uber tech bull moose's of the thread who think they can solve the problem by throwing more hardware at is.. I have a very recent CCP Hammer quote for you:
Originally by: CCP Hammer I'd love it if we could just plug the stuff in and see massive performance gains but that's not how it works.
see: Linkage
I have some others for you too:
Originally by: CCP Lingorm OK some general points again. Multiple Cores/multi threading can not solve all the problems.
see: Linkage
Originally by: CCP Lingorm Currently all services for a Solar system must be on a single 'node'. Currently a node can not 'span' multiple cpu's or multiple Cores. Most nodes run multiple Solar Systems (certain large Solar System get their own nodes, Jita, Salia etc).
This is one of many CCP posts which tell use how a NODE works. Just for those who might be being slow, a 'NODE' = single CPU on a blade.
There's tons of this stuff out there: 2003 Architecture info Oveurs Pretty Pictures version
but you know fortunately I'm a total idiot and don't know anything about how CCP have built the game, despite reading every CCP post about this stuff for several years.  ~~~~ There is no parody in this thread. Honest. |

Caedicus
Minmatar Native Freshfood
|
Posted - 2008.08.21 23:24:00 -
[47]
Good post Spoon Thumb. I love how these elitists are saying "you're obviously aren't a technical person." What the hell do they expect? Documentation of the source code? Give me a break.
I'm too lazy to find the post. But I remember a dev saying that their current node assigning system doesn't allow you to assign a single system to a node. I think CCP can reduce significant amounts of lag for large fleet battles if they complete re-wrote their network architecture and changed the hardware they used. That would require huge amounts of downtime, costs tons of real life iskies, and it wouldn't guarantee more players to bring in revenue for CCP. It's not really cost efficient at this point. It wouldn't even shut the whiners up, because whiners will always find something new to whine about.
So we're stuck with small improvements here and there. I suspect it will be this way for quite a while. Evolution in Eve:
|

Ruze
Amarr No Applicable Corporation
|
Posted - 2008.08.21 23:31:00 -
[48]
There once was a day, way long ago, when I played another game, and a bunch of players said 'I could do better then the developers.'
And they took off. Their goal was to create an emulation of the very game that we played, though they intended to make it the way it was 'before it was broken.'
Took them years to do what the developers had already done. They didn't have to make anything new, just had to put the game in the state it already was. They even had copies of the original game, so there was no reason they needed to fight to 'reverse' any changes.
Morale of the story?
Get off your fat *sses and go eat some pizza. 
Quote:
If you like playing EvE, but don't like to PvP ...
Maybe it's time you recognize that you don't really like to play EvE.
|

Dr Slaughter
Minmatar Rabies Inc.
|
Posted - 2008.08.21 23:35:00 -
[49]
Originally by: Caedicus But I remember a dev saying that their current node assigning system doesn't allow you to assign a single system to a node.
Originally by: CCP Explorer The load balancer uses historical data to predict the load and distribute the solar systems. It's kind of difficult for the load balancer to predict where fleet battles may take place, they are sporadic, chaotic and unpredictable by nature...
Perhaps they could look for POS coming out of reinforced that are holding sov.... ~~~~ There is no parody in this thread. Honest. |

Doc Fury
|
Posted - 2008.08.22 00:01:00 -
[50]
Edited by: Doc Fury on 22/08/2008 00:11:08
Originally by: Caedicus I remember a dev saying that their current node assigning system doesn't allow you to assign a single system to a node.
Jita is on its own node, and I would suspect that heavily populated newbie systems and a couple of the trade hubs are on their own nodes as well.
EVE as a game has simply become about player churn rate statistics (7 months) and not about being a "premium" product.
The accumulated filth of all their sex and murder will foam up about their waists and all the ho's and politicians will look up and shout 'Save us!' and I'll look down, and whisper 'no.' |
|

Ruze
Amarr No Applicable Corporation
|
Posted - 2008.08.22 00:03:00 -
[51]
Things I didn't know, or have heard:
- Market and chat are on their own separate machines. - Ambulation is supposed to hosted on a separate network.
Quote:
If you like playing EvE, but don't like to PvP ...
Maybe it's time you recognize that you don't really like to play EvE.
|

Lazuran
Gallente Aliastra
|
Posted - 2008.08.22 06:43:00 -
[52]
Originally by: Dr Slaughter Edited by: Dr Slaughter on 21/08/2008 23:56:37 Spoon Thumb, great guide. Gives the flavor of the problems.
The uber tech bull moose's of the thread who think they can solve the problem by throwing more hardware at is.. I have a very recent CCP Hammer quote for you:
Originally by: CCP Hammer I'd love it if we could just plug the stuff in and see massive performance gains but that's not how it works.
see: Linkage
I have some others for you too:
Originally by: CCP Lingorm OK some general points again. Multiple Cores/multi threading can not solve all the problems.
see: Linkage
Originally by: CCP Lingorm Currently all services for a Solar system must be on a single 'node'. Currently a node can not 'span' multiple cpu's or multiple Cores. Most nodes run multiple Solar Systems (certain large Solar System get their own nodes, Jita, Salia etc).
This is one of many CCP posts which tell use how a NODE works. Just for those who might be being slow, a 'NODE' = single CPU on a blade.
There's tons of this stuff out there: 2003 Architecture info Oveurs Pretty Pictures version
but you know fortunately I'm a total idiot and don't know anything about how CCP have built the game, despite reading every CCP post about this stuff like Herio Mortis recent post for several years. 
We have all read that CCP Lingorm post. Read further down for replies. Sorry to rain on your noob fanboi parade, but in that thread Lingorm basically admitted that they know where the problem is and what they would have to do (rewrite the "sol" code to take advantage of multiple CPU cores) but they felt unsure about whether they could actually pull it off without breaking everything.
I.e. they need better programmers tbh ... They cannot just look away because this problem is too hard or too scary.
|

Lazuran
Gallente Aliastra
|
Posted - 2008.08.22 06:46:00 -
[53]
Originally by: Ruze Things I didn't know, or have heard:
- Market and chat are on their own separate machines.
True, but when you buy/sell/fit something and items get moved from/to your hangar, the normal solarsystem node gets the load, which means that the guys who are docked and trade in Jita all day actually cause lag for the people out in space (also in Jita). That's from a post several months ago.
|

Dr Slaughter
Minmatar Rabies Inc.
|
Posted - 2008.08.22 09:06:00 -
[54]
Originally by: Lazuran We have all read that CCP Lingorm post.
Speaking for everyone are you. Many people have obviously NOT read all of that thread, or the other threads I linked for that matter.
Originally by: Lazuran Sorry to rain on your noob fanboi parade
If by noob you mean someone who's been playing the game for 4 years, and has spent 20 years working for software startups in storage and systems management.. dam.. you got me.
If by 'fanboi' you mean someone who stupidly tried to add content to a thread by linking CCP Dev posts and trying to elaborate on some of the OPs points I agree.. that's me! I'm a fanboi.
Anyway.. whatever. I was only trying to improve the 'guide' and correct some utter rubbish spouted by some of the other posters, who not being noob fanboi's obviously understand everything.
~~~~ There is no parody in this thread. Honest. |

Pan Crastus
Anti-Metagaming League
|
Posted - 2008.08.22 09:18:00 -
[55]
Originally by: Dr Slaughter
Originally by: Lazuran We have all read that CCP Lingorm post.
Speaking for everyone are you. Many people have obviously NOT read all of that thread, or the other threads I linked for that matter.
Originally by: Lazuran Sorry to rain on your noob fanboi parade
If by noob you mean someone who's been playing the game for 4 years, and has spent 20 years working for software startups in storage and systems management.. dam.. you got me.
You are probably working on cleaning their toilets, otherwise you wouldn't keep recommending CCP to switch to POWER6 CPUs "because they run at 6GHz", which is an utterly ridiculous suggestion to anyone with half a clue about CCP's setup, running a company, programming Python etc. etc. ...
How to PVP: 1. buy ISK with GTCs, 2. fit cloak, learn aggro mechanics, 3. buy second account for metagaming
|

Dr Slaughter
Minmatar Rabies Inc.
|
Posted - 2008.08.22 11:20:00 -
[56]
Edited by: Dr Slaughter on 22/08/2008 11:20:28
Originally by: Pan Crastus
You are probably working on cleaning their toilets, otherwise you wouldn't keep recommending CCP to switch to POWER6 CPUs "because they run at 6GHz", which is an utterly ridiculous suggestion to anyone with half a clue about CCP's setup, running a company, programming Python etc. etc. ...
The point about Power6 is that they should easily be able to test running a node on one and do a comparison. Being that the combat loop is sequential it might actually run faster on a Power6 blade.
As far as their architecture and python I always forget about: this presentation take a look. You might find it at least of minor interest.
With regards running a company.. yeah been there doing it just fine thanks since 2001. ~~~~ There is no parody in this thread. Honest. |

Pan Crastus
Anti-Metagaming League
|
Posted - 2008.08.22 11:54:00 -
[57]
Edited by: Pan Crastus on 22/08/2008 11:55:49
Originally by: Dr Slaughter Edited by: Dr Slaughter on 22/08/2008 11:20:28
Originally by: Pan Crastus
You are probably working on cleaning their toilets, otherwise you wouldn't keep recommending CCP to switch to POWER6 CPUs "because they run at 6GHz", which is an utterly ridiculous suggestion to anyone with half a clue about CCP's setup, running a company, programming Python etc. etc. ...
The point about Power6 is that they should easily be able to test running a node on one and do a comparison. Being that the combat loop is sequential it might actually run faster on a Power6 blade.
Yeah, especially when they have a lot of x86 code in performance-critical parts.
As for the POWER6 architecture itself, check out some published benchmarks for similar workloads (e.g. SPEC CINT2006 perlbench) and you'll see that current Xeon CPUs are much faster at that kind of stuff than POWER6 despite the lower CPU frequency.
To get you started: CPU2006 for 4.7GHz POWER6, CPU2006 for 3.33 GHz Xeon
Quote:
With regards running a company.. yeah been there doing it just fine thanks since 2001.
Good luck for the future then, you'll need it. Especially when you think that replacing 100s of Xeon-based servers with (similar numbers of?) POWER6 boxes is a sound business decision.
How to PVP: 1. buy ISK with GTCs, 2. fit cloak, learn aggro mechanics, 3. buy second account for metagaming
|

Dr Slaughter
Minmatar Rabies Inc.
|
Posted - 2008.08.22 12:31:00 -
[58]
Originally by: Beltantis Torrence
Point is you've never looked at it or tested it. You can't write a guide based on collecting posts over the course of 5 years and filling in the blanks with assumptions and half-truthes. Its the programming equivalent of being an EFT warrior.
So just so it's clear, your logic is:
Despite there being a large body of work describing how parts of a system work, because you have never personally looked at the actual code and seen the actual implementation, you can't, with any accuracy, make comments about the system.
Right? ~~~~ There is no parody in this thread. Honest. |

Beltantis Torrence
|
Posted - 2008.08.22 12:37:00 -
[59]
Originally by: gpfwestie
Originally by: Beltantis Torrence Using inter-process communication techniques (what they're hoping to implement with infiniband I assume in some practical way) isn't feasible in a game in normal circumstances because the overhead degrades rather than improves performance.
Well, back in 2002 we had a Regatta (IBM p Series 690) with 32 Cpus per node, so long as the processes are within the same node you can use Shared Memory for IPC - sure you have to communicate via the switches for more than that, but you know - thats quite a lot of processors.
I'm no longer doing HPC stuff, but surely things have moved on dramatically since 2002 ? I imagine a Regatta or an SP2 or something could be picked up on Ebay for a few $$$$s now 
Yeah, shared memory is ideal but I don't think its natively available to Python without C/C++ interop (Python is a language I'm not an expert in so maybe someone could clear this up). Probably have to write up a module to handle that bit. Might be one already built you could plug in. In an ideal world you'd have the business layer Python write to a file map and have some C program processing the data at lightning speed and you'd handle multiple cores with multiple memory maps. Its still a bit of a bottleneck but not as much so.
|

Beltantis Torrence
|
Posted - 2008.08.22 12:45:00 -
[60]
Originally by: Dr Slaughter
Originally by: Beltantis Torrence
Point is you've never looked at it or tested it. You can't write a guide based on collecting posts over the course of 5 years and filling in the blanks with assumptions and half-truthes. Its the programming equivalent of being an EFT warrior.
So just so it's clear, your logic is:
Despite there being a large body of work describing how parts of a system work, because you have never personally looked at the actual code and seen the actual implementation, you can't, with any accuracy, make comments about the system.
Right?
Maybe you and I have a different opinion of what a guide is. I don't want to get into a discussion over the epistemological aspects of this. There isn't a large body of work, as an aside. You can't even tell me the general order of processing that happens server side. You can't point out how the nodes interact with each other. In short, you fail to recognize how incredibly little you do know.
Reading some threads where architecture is hinted at or explained from a very high level does not an expert make. You should just eat some humble pie and admit you don't know anything. You just have an idea of how it works, a vague and very superficial idea.
|
|
|
|
|
Pages: 1 [2] 3 :: one page |
First page | Previous page | Next page | Last page |