1. The forum will be closing soon permanently. Please read the announcement here

    Note: User registration has been closed. We do not accept any new accounts.

Space Engineers is enjoying multi threading?

Discussion in 'Groups & Dedicated Servers' started by Capsuna, Dec 15, 2016.

Thread Status:
This last post in this thread was made more than 31 days old.
  1. Capsuna

    Capsuna Apprentice Engineer

    Messages:
    117
    I have 27 people on my server at the time of this screenshot.. Keen has come far!

    The only downside, is the sim speed isn't 1.0.. It is roughly .60, you would think with none of the cores maxed the sim would be 1.0
    [​IMG]
     
  2. PhoenixTheSage

    PhoenixTheSage Junior Engineer

    Messages:
    677
    Well firstly, Keen is still very much working on multi-threading. The only things that are on separate threads right now AFAIK are world join/world save/grid copying/pasting which in terms of a survival DS, don't factor too much into the general performance (they prevent locking up or bottlenecking of the simulation). The rest are on the same thread.

    But secondly, the problem is that you are using a server grade processor.
    The per-thread performance is terrible and the clock speeds too low. The architecture and number of cores are designed for handling diverse workloads, VPS', or databases...but not for heavy real-time physics calculations.
    The real benefit you get is being able to run multiple separate servers easier, and higher L1/L2/L3 caches (generally, not in every case, and increased cache =/= linear increase in performance) for better buffering.
    Single-threaded performance in SE far outweighs these benefits.

    Refer to this graph as basically your Best-to-Worst list for SE CPU's:
    https://www.cpubenchmark.net/singleThread.html

    The gaps get even wider when you take overclocking into account and run cores on a 6700k or 7700k past 5.0Ghz...
     
    Last edited: Dec 18, 2016
  3. szalkerous

    szalkerous Trainee Engineer

    Messages:
    76
    Odd, my rack 1285v3 is #5 on that list, beating out my 4770K desktop processor.

    Oh that's right, I forgot that the processor architecture differences between a server/workstation grade system and a desktop one is almost negligible when it comes to single-threaded applications.

    Ultimately, the performance segment here for SE is not bottlenecked by CPU, it's bottlenecked by disk access speed (and network latency since we're discussing dedicated servers). Which is honestly a far cry from the real problem, which is buggy and un-optimized code from an unreleased game.

    Also anyone that talks about XEON CPUs being "not for heavy real-time physics" doesn't know much about server grade hardware. These setups are BUILT for intensive workstation loads, such that almost every CAD-based workstation is running them along with a professional GPU.

    Sorry to necro this thread, but in hunting for info on why the dedicated server isn't spanning cores/threads all that well, I came upon this gem...
     
  4. hieve

    hieve Trainee Engineer

    Messages:
    47
    can you do the same screenshot now with some players on it? I'm really interested in seeing the difference...
    my server looked the first day also like this, but after >7 days it was like 95% on core #1 with >1 player
     
  5. szalkerous

    szalkerous Trainee Engineer

    Messages:
    76
    I maintain a hosting policy of restarting every early access/beta server nightly because issues like these are extremely common.
     
  6. Capsuna

    Capsuna Apprentice Engineer

    Messages:
    117
    It's back to the way it used to be... Both of the servers are running in Hyper-V.. I allowed them 4 cores to see if any performace increase but i didn't notice anything.
    Mission On Mars : 4 connected players
    [​IMG]

    Mission To Mars : 3 connected players
    [​IMG]
     
  7. 88ToM

    88ToM Trainee Engineer

    Messages:
    38
    i tested the new version of space engineers stable, they say in changelog "new multiplayer netcode" but they are not talking of multithread support, this game is running only from one core of cpu, so.. nothing to do, this is e single player game. after many years nothing change.. the problems of 2 years old are persistent..
     
  8. hieve

    hieve Trainee Engineer

    Messages:
    47
    yeah sadly I have to confirm this..
    no multicore support = no future

    Many new Server and Desktop System just come with newer technologies and MORE CORES , so single core utilization is a really heavy bottleneck
     
  9. Ronin1973

    Ronin1973 Master Engineer

    Messages:
    4,965
    Rendering doesn't require real-time work. You can distribute renders across multiple cores and have them working on different parts of the render. This is about being able to throw back physics in near real time. SE isn't optimized to work in a multi-core environment. So your Xeon processor is limited to one core handling the bulk of the work.

    I've not overclocked a Xeon processor nor do I know if it's possible. But when hosting SE as a DS, speed is the key not processor power. There certainly bottle-necks due to disk access, ram access, and network speed. But throwing a Xeon at the problem is an expensive waste. It's not the right tool. At least for the moment. Xeons are running around 2.1gHz up to 3.6gHz. You can spend $10,000 on one if you please. But it can't beat the performance of a $300 i5 running at 4.4gHz (overclocked). I don't think I want to overclock at $5000 CPU.
     
  10. Capsuna

    Capsuna Apprentice Engineer

    Messages:
    117
    I didn't want an i5 on my server. And i didn't make it just for space engineers, that would have been a big waste of money. I picked a processor in a decent price range with good power.

    I originally made this post when i first started my SE server again. I had thought they fixed their netcode and got their multi-threading down, that is why i made this post... The first few days were great and i saw the game on multi cores. But after a week or so it went to crap, and went back to single core usage. If i were a die hard SE server owner, then i would spend money on a cpu with high single core power, but i like to run other games on my server, as well as hyper-v with virtual machines. This processor is working amazing for what i want it for and it can still run SE fine on it's own VM. Once (Probably never though) keen adds multi-threading to SE, my processor will easily be able to handle a high player slot server.
     
  11. System Error Message

    System Error Message Trainee Engineer

    Messages:
    96
    so many arguments all saying the wrong thing, firstly you're not looking at the fine details. Space engineers dedicated server runs on 1 thread, 2 threads sometimes if it has to handle other things but mostly just 1 thread, only the client is multithreaded but not for physics. Physics in space engineers uses the havok physics engine which uses SSE instruction set which is why it runs much faster on intel.

    The only reason to use a xeon is because you need the extra stuff that a consumer CPU cant offer such as if you need 20 cores or want to use a more ram that consumer boards cant use or for multi processor configuration or even more PCIe lanes or with server boards that come with onboard 10Gb/s or multiple NICs and some cool management features. I noticed however that using a xeon CPU vs standard desktop CPU for space engineers makes no difference whatsoever so go ahead and use those i5s that are highly clocked. All you need to run space engineers dedicated server is at least 2 cores with as high clocks as you can have and as much CPU cache. The other factor that helps is memory bandwidth as well so memory speed, timings and channels are a factor too.

    So one easy way to get more performance for space engineers dedicated server is to simply overclock your CPU and ram. I took a 6 core xeon and overclocked it really far giving it not only a lot more CPU bit even the ram was highly overclocked as well (ECC actually overclocks better) by a magnitude of 70% more bus so for £40 for a used 6 core xeon with a decent amount of cache in a consumer board using ECC unbuffered ram i got it past 4Ghz and after the update that made some mods run really slow the server's sim speed was running at 0.8 but it was double the client's sim speed meaning the server was much faster than the client and it was causing problems. So even with a server thats really fast your players also need the hardware to keep up. You dont need servers that costs many thousands for space engineers dedicated server, all you need is an intel CPU/AMD ryzen clocked as high as possible, with as much cache as possible and as much memory performance you can give it.

    You dont even need fancy disk performance, even a slow hard drive will only affect the time it takes for the server to load the world but even if you gave it SSDs in raid 0 its still going to transfer the world to the player at around 1MB/s at best. Savegames themselves are small.
     
  12. Brian

    Brian Trainee Engineer

    Messages:
    12
    My server is a dual 2.8 ghz xeon 20 cores total with 96 gig of ram running on a 4 disk raid 10 set running SAS 10k rpm 2.5 drives and I can go a week are 2 before the server becomes unplayable with 4 to 5 players
     
  13. System Error Message

    System Error Message Trainee Engineer

    Messages:
    96
    An whats the CPU usage when server is unplayable? Its a bad idea to host space engineers on such a server as it only uses 1 core. You can however host more than 30 space engineers server but your low clock speed is the problem. If your CPU runs above 4Ghz space engineers dedicated server will run like a charm with many players.
     
  14. globot

    globot Trainee Engineer

    Messages:
    17
    The main problem in my opinion is the optimization en multi-threading of the physic engine (havok multi-threading is not even activated in the server code).
    I am using the SE server extender and it can help to improve performences, but you do have to setup some automated cleaning task and some option to avoid calculation on grid that are not visible by anyone.
    In my opinion, right now, there is no use to give more than 2 cpus for a dedicated SE virtual machine and overclocking help a lot, but simulation speed will always go down when too much player connect and a lot of grid become active (there are hundreds on grids on my server). but we can live with a simulation speed of 0.4 when a lot of peoples are playing.
    The most annoying part is that the game become unplayable when we fight using gattling turrets this must be optimized ASAP because it really kills the fun !
     
Thread Status:
This last post in this thread was made more than 31 days old.