running sins with multiple processors.

I know this topic has been beaten to death already, but is there a workable way of having sins use more than one processor?

26,716 views 14 replies
Reply #2 Top

Nope. You can assign a specific CPU core to run only Sins on it (so no other programs) though, which would make the game run slightly smoother.

Reply #3 Top

No, you can't split the load between cores yet. Hopefully Sins 2 will have that along with 64 bit support.

Reply #4 Top

Quoting SoulxReaper, reply 1
I think you mean cores, multiple processors are mostly for servers and whatnot

 

yeah i meant cores, dont know why i said that. :/

Reply #5 Top

Three points:

  1. Your OS (if you're running a multi-core system) can execute programs across multiple processors for load balancing purposes.
  2. This actually makes a program like sins take up more total processor time (depends mainly serial execution) for no real benefit, because switching execution from processor to processor adds overhead.
  3. If you have the know how, restricting Sins to a single processor eliminates the overhead (like Teun said). You should only do this if you understand the implications with respect to things like on-die heat generation and whatnot. Would not really recommend unless you need all your spare cycles for something else while playing. :)

PS. There's no real difference between "cores" and "processors". "Core" is just a marketing thing (let's face it, core sounds way cooler than processor). What you're probably thinking of for servers is multiple CPU sockets. ^_^

 

<- Studied parallel programming a few years ago, still thinks it's pretty darn cool, if complicated. I will talk your ear off if provoked, don't let this happen to you.

Reply #6 Top

My ears fell off and i cant find them!

Reply #7 Top

... is there a workable way of having sins use more than one processor?

Yes...

You need a  multiprocessor board with shared memory... Symetric MultiProcessor ( SMP ) with shared memory and limited to a max of 32 processor...

And you need a board who support hardware speculative multithreading... this type of multithreading of linear software ( single thread ) append at runtime... not very efficient... mainly loops are shared between processor... let say that if you have two 2ghz processor, at best, the performance will be equal to a 3ghz processor... unless at compilation time, some vectorization optimization ( parallel computing ) was done ...

After vectorization optimization... when the generated code run throught hardware speculative multithreading have a performance on two processor who is 400% faster that on a single dual core at the same frequency... well, since Soase is not open source, we can only hope for a 150% speed increase in the best case...

I have test it myself, using Linux... have no idea what software to use with windows ( and how much it will cost ) and 3/4 of the power user bios option from my board are "not for windows OS"...

Almost forget, the more important : using multiprocessor mean 100% desync with online soase...

Well, when Rebellion and Kubuntu 12.04 LTS ( long term support ) are released ( both are in beta stage now, both at Beta 2 !!! ), i will start a topic for Kubuntu user... the screenshot below was taken with Kubuntu 10.04 LTS and Entrenchment, all setting on hightest, using the 7DS mod ( biggest around  ), 10 player, ultra huge random map ( 10 star, 4 pirate base by star and between 350 and 500 planet ) and my own modification with double fleet and capital point...

As you can see, i break without problem the 2gb limit ( or the 3gb limit )... CPU use is 6%... since i have two CPU with 4 core at 2.66ghz, it is like 75% of a single core at 2.66ghz ( or 1 single core at 1.99 ghz )... this during a battle with 3 huge fleet... the max memory use that i have reach was around 11.5gb ram before crash but the software needed cost a few thousand $$$ ( rent at over 300$ year for student ), so it is not a option...

Almost forget, since Rebellion is using Steam in place of Impulse, and that Steam work with playonlinux ( Impulse have never work with Linux ), it will maybe try to make a script for Rebellion ( if needed )... a list of game that you can install in the same way that on windows, with playonlinux can be found at http://www.playonlinux.com/repository/?cat=1 ... as now, the top game used with playonlinux is skyrim... for these with MAC OS X, look at http://www.playonmac.com/repository/?cat=1 ...

Well, Ironclad/Stardock have made SOASE for windows but with a good setup, it run better on Linux ( for now )... The iron engine is one of the rare engine able to perform better that announced... the main limitation is not the engine but the windows OS... will probably be fixed with a sins 2 in a few years who will be 64 bit and multicore/multiprocessor who will be able to use the full power of Win7 ( i think that windows 8 will be a failure on Desktop computer )

 

Reply #8 Top

From a developer perspective, some of the real-time work could be farmed off to different threads. (Particularly computer players' decision making)

Making a shot in the dark, I'd guess Sins was written in C++, like most games are. The recent spec of C++ (C++11, finalized in mid-2011) has built in language features to better handle multiple threads (and GP-GPU stuff as well), although compilers are still implementing this even now.

The hope is that it becomes much easier to farm off pieces of work to other threads, so that more applications can make better use of multiple cores. The tools will come along in time, as the toolmakers discover what works and what doesn't.

 

Reply #9 Top

Thoumsin, sell custom build computers for SOASE users with extra cash to spend.

Reply #10 Top

Quoting kylone, reply 8

Making a shot in the dark, I'd guess Sins was written in C++, like most games are. The recent spec of C++ (C++11, finalized in mid-2011) has built in language features to better handle multiple threads (and GP-GPU stuff as well), although compilers are still implementing this even now.

The hope is that it becomes much easier to farm off pieces of work to other threads, so that more applications can make better use of multiple cores. The tools will come along in time, as the toolmakers discover what works and what doesn't.
 

 

Having library/language support makes a huge difference. In an ideal world a developer would just write the code for individual entities (ship behaviours, AI engines, that sort of thing) and pass the in game objects to some kind of management framework that takes care of their execution and synchronization. I don't know enough about game engines to say where the big serial bottleneck is likely to be, but there's a lot of potential for parallelism in Sins, especially with the gravity well system. The only things that act between gravity wells are culture, trade, superweapons and jumping ships, which means all that each well could have one "master thread" where all the combat and movement goes on (makes sync easier), so you could distribute all those threads across processors and gain some parallelism that way. In theory you could make each ship it's own independent thread  but theory also says the overhead goes boom when you do things like that, so it's probably a bad idea :P Gravity wells feel like the right level of granularity to me.

Reply #11 Top

Quoting SemazRalan, reply 9
Thoumsin, sell custom build computers for SOASE users with extra cash to spend.

Well, my custom computer was based on the spec of a MAC pro... only difference is by building it myself, it have cost 1/3 of the Apple price...

A other thing, the computer is almost 7 year old but it beat any today desktop... having not a lot of money myself, i bet on quality material and long life span ( plan on 10 year )... tired of game desktop who become obsolete after only a few months... it is why i have choose a workstation... workstation are between desktop and server...

As for a result similar to my screenshot, you need a 64 bit processor at least running at 2ghz, 5-6 gb ram, a nv 9600 gt 512 mb is enough, linux x64 and some patience/knowledge... 

Reply #12 Top

I've got the gear, but not the Linux 64 and neither patience, nor knowledge.  :(

Reply #13 Top

I know Sins is forced to run on 1 core only but heres a trick to make it run on three cores atleast (if you got 4 cores)

Works on all games (Windows 7)

I dont quarantee any improvement but it slightly works. Better on some other games.

 

 

 

 

 

Reply #14 Top

I don't think it is that simple really, Nahki.