Setting up a community dedicated-monster-of-a-server

Discussion in 'Planetary Annihilation General Discussion' started by cola_colin, October 10, 2014.

  1. cola_colin

    cola_colin Moderator Alumni

    Messages:
    12,074
    Likes Received:
    16,221
    The current server simply make no use of more than 3-4 cores. The whole simulation is a single thread. On top of that come some threads that manage connections and other things, ending up at 300% cpu usage on a quad core for a 17 player game.

    A little sidenote: The PA Stats server runs a i5-2310@2.9ghz which has 1600 pts in that single threaded benchmark. the pa server was crawling at 3-4 fps sim speed most of the time late game with 17 people.
    The cpu's we are looking to get have 2500+ pts
    Nobody knows what that means though. But it should make a difference I hope.
  2. zihuatanejo

    zihuatanejo Well-Known Member

    Messages:
    798
    Likes Received:
    577
    Kind of exciting. Looking forward to an enormous FFA on a huge planet :D
  3. frankablu

    frankablu Member

    Messages:
    34
    Likes Received:
    4
    If you going to do this at least get an i7 CPU!
    I doubt the bandwidth requirements are high.
    Guessing at 250GB per month, 10 mbit connection
  4. cola_colin

    cola_colin Moderator Alumni

    Messages:
    12,074
    Likes Received:
    16,221
    On a 10 mbit connection it will lag HARD. That much I can guarantee. If a 10 mbit connection would be enough we could run a server on somebody machine at home xD
    A single client can eat up a few mbit/s upload for the server.
    We want 100 clients.

    An overclocked i5 or the best i7, yes
  5. burntcustard

    burntcustard Post Master General

    Messages:
    699
    Likes Received:
    1,312
    Instead of a $480 Xeon CPU, get a $240 i5 4690k and $240 worth of water cooling and higher-end motherboard and overclock it to hell, would be much better :D
    I think I might be repeating myself a bit, but an overclocked i5 would be better than an overclocked i7, because you can OC it slightly more and the hyper-threading of the i7 won't make a difference.
    Last edited: October 11, 2014
    zilverink likes this.
  6. zilverink

    zilverink New Member

    Messages:
    10
    Likes Received:
    4
    If true it's a little sad, and hopefully it'll scale better in newer builds, but it probably won't. I was mainly referring to these two posts (and some other I can't find) about uber intending to use as many cores as possible:

    https://forums.uberent.com/threads/multicore-optimization.43701/
    http://www.reddit.com/r/gaming/comm...tainment_presents_planetary/c5uszkl?context=3

    Also, all that talk about super big matches (in the future) and the design "faults" in supreme commander they wanted to avoid/solved (I know, server-client architecture this time and all that) lead me to believe that more core mechanisms would be multithreaded. Then a quad core super fast CPU might really be the best way to go.

    Far away from 40 player matches if 17 player matches play that slow... shame, but lets hope on huge optimisations.
  7. cola_colin

    cola_colin Moderator Alumni

    Messages:
    12,074
    Likes Received:
    16,221
    garat posted about that somewhere very recently. Basically multithreading is on the list of things they do want to add to the server, but it isn't easy and won't be in soon.
    I agree it is a letdown. I can only guess they had to realize that writing a fully multithreading simulation is not easy to do. On the other hand they imho should've put in the time on this from the start.

    It's not really that known how it actually scales with more players. Doesn't have to be linear/units. It may be mostly logarithmic, so 50000 units instead of 10000 won't be 5 times as slow.
    If we add 50 players it may also actually use more than 4 cores to manage the connections/player state/whatever it does. So more cores might still help to keep the sim thread on it's own core without connection management slowing it down. We do not know.
    17 player seems to need 3 cores at least.
    zilverink likes this.
  8. zilverink

    zilverink New Member

    Messages:
    10
    Likes Received:
    4
    Yeah, I trust cola_colin is right, and if in the end there really is no benefit to more cores I will definitely build a dedicated fast quad core server. I guess that we will know what's best soon enough with a little bit of experimenting now that offline mode is available.
  9. cola_colin

    cola_colin Moderator Alumni

    Messages:
    12,074
    Likes Received:
    16,221
    Just to make sure there is not some magical per core scaling hidden somewhere I'll probably host a game on a 16 core amazon cloud machine tomorrow evening. At least those can be rented by the hour, so that won't cost me more than maybe 1-3$ and until the donations are decided I need some server to host games on after all. Also the cpu instances from amazon only have enough ram with the 16 or 32 core version.
    shootall and zilverink like this.
  10. zilverink

    zilverink New Member

    Messages:
    10
    Likes Received:
    4
    I can definitely agree that multithreaded programming isn't easy from the small exposure I've had with it, so I understand their problems, but I also agree with you that it should have been implemented from the start (I believed that it had been). It must be even harder to implement now that they have a somewhat finished game.
  11. cola_colin

    cola_colin Moderator Alumni

    Messages:
    12,074
    Likes Received:
    16,221
    Doing a perfectly multithreaded simulation is HARD. In fact until a few days ago I thought it is close to impossible. Then I found that after years of work the devs behind the bullet physics engine have figured out how to make it work on openCL, basically scaling it to thousands of cores, making it work on graphics cards.
    HARD, but doable... Reading the paper that described how they do it basically tells you: Rethink and rewrite everything. I doubt PA will get that. I'd love Uber forever if they could do that, but in reality I'd be pretty happy if PA could scale with maybe 1-3 threads per planet in the game. Simulating the different planets on different threads should be the "easiest" helpful thing to do that would let us play games with 16 planets with players spread over them.
  12. stuart98

    stuart98 Post Master General

    Messages:
    6,009
    Likes Received:
    3,888
    Will the server load mods if the host has them enabled?
  13. cola_colin

    cola_colin Moderator Alumni

    Messages:
    12,074
    Likes Received:
    16,221
    Yes.
    The server basically shows up as an empty lobby in the server browser. Whoever first joins becomes "host" and pushes his mods to it.
    stuart98 likes this.
  14. maxpowerz

    maxpowerz Post Master General

    Messages:
    2,208
    Likes Received:
    885
    add my $10 to the list
    squishypon3 and cola_colin like this.
  15. reptarking

    reptarking Post Master General

    Messages:
    1,321
    Likes Received:
    1,577
    After the 15th I can do 20$ maybe more
    cola_colin likes this.
  16. Bhaal

    Bhaal Active Member

    Messages:
    137
    Likes Received:
    52
    It should be fairly easy for them because the engine was designed to support multiple cores efficiently.

    From the Kickstarter FAQ:
  17. reptarking

    reptarking Post Master General

    Messages:
    1,321
    Likes Received:
    1,577
    there still building/evolving the engine, it has not hit the point of multithreading yet.
    squishypon3 likes this.
  18. FSN1977

    FSN1977 Active Member

    Messages:
    657
    Likes Received:
    232
    garat statet it's a large task to make the server use more cores, its not 100% they will do it.
  19. wpmarshall

    wpmarshall Planetary Moderator

    Messages:
    1,861
    Likes Received:
    2,983
    shootall and zihuatanejo like this.
  20. zihuatanejo

    zihuatanejo Well-Known Member

    Messages:
    798
    Likes Received:
    577
    Oooh, so that did happen :D Thanks for casting it!
    wpmarshall likes this.

Share This Page