him225

Future of single core performance?

Recommended Posts

1. It has been apparent since several years intel has not shown any interest in boosting single core performance. Can AMD be expected to cover this area or bets are still on Intel if ever it happens?

2. Will we have to wait for above to happen for a remarkable increase in performance or LM is going to multithread the rendering before that?

3. None of above will happen and things will continue at a crawling pace as they have for past few years?

Share this post


Link to post
Share on other sites
Help AVSIM continue to serve you!
Please donate today!

1. they are certainly interested in it but the problem is one of physics, not of interest. power dissipation and heat increase is huge (cubic if i recall correctly) for a linear frequency increase. it's just not practical yet for people to use liquid nitrogen and have industrial strength power supplies in a desktop machine. they are also going to be bumping up against the limits of silicon in terms of how small the transistors can be made. they are currently at 14nm and supposedly plan to get to ~6nm eventually. beyond that quantum tunneling just means you have a lot of difficulty to go any smaller in a practical fashion. the ultimate limit is something like 1nm before you are at the limit of sizes of molecules basically. lots of engineering challenges to solve yet before we will be seeing major increases here i think. there are other avenues of research like exploiting the quantum tunneling effect or other stuff but that is all things that may work as a lab experiment but not anywhere near ready for commercial mass production in an actual cpu.

2. probably will be a pretty major rework of the engine for LM to make that happen. one can only speculate how high of a priority it is on their schedule. it is unfortunate that the core engine tech is so cpu-dependent, hopefully they can eventually decouple the physics and simulation side of things more from the renderer, along with finding ways to make the renderer utilize multiple cores efficiently.

3. i think this may be the case. but there are other engines out there with more modern design. aerofly seems to be the performance king right now, seems designed with more parallelized modern hardware and high fps design goal as it's foundation, but even that remains to be seen where it will go once it becomes more feature complete with weather, more sophisticated aircraft, AI, etc.

cheers,-andy crosby

  • Upvote 2

Share this post


Link to post
Share on other sites

1. Just to have an idea, if they were to go with larger design, beefier air coolers and power supply what would it be like and how high the cost would be of processor and associated components to build such a pc? As they could keep it as a product range for interested industry customers and enthusiasts even if of little use or demand to the mainstream. Would it be cheaper for them to work at larger nm scale when much finer scale technology is readily established?

2. Thought that might be the case. Would it be more substantial of a work than x64 conversion which they recently did?

3. A tantalizing prospect but each of the other options have to go a significant way until they become a more complete package like fsx/p3d is. But given the pace they all have similar uncertainty if it will happen.

Share this post


Link to post
Share on other sites

1. hmm maybe yeah, but consider that there is already sort of a high-end cooler market out there. i'm sure if money was no object you could make something even more efficient, but as with anything like this, you still have to deal with the economy of scale. if you make a $5000 cooler how many people are gonna buy it? enough to offset the engineering, manufacturing setup and production lines for something that you might only be able to sell a handful of them? i don't really know the numbers on stuff like this so i can't really say for sure one way or another but i'd guess that the equilibrium in the market out there right now already reflects how many potential users would be interested in this sort of tech. and there's still an upper limit of how much heat you can transfer with air or water, there's a reason the extreme overclocker dudes use liquid nitrogen or liquid helium and even with that the i7 record is something like 7.5Ghz, which is pretty awesome but not practical for extended daily use.

power supplies might be easier since there's already off-the-shelf tech that can go a lot higher, i've seen 6000W+ ones out there, but they cost thousands also and are really meant more for server farms or stuff i think for needing to power tons of drives or racks full of multiple cpus. and you probably also want to have a more robust infrastructure than just household wiring.

2. hard to say really but i'd guess harder than x64 conversion for sure. really have no idea, never seen the code or much detailed information about why the rendering pipeline gets so stalled out all the time

3. yeah. unfortunately patience is the only thing really. one positive thing is there is still maybe room to grow in speed for the GPU side of things, the 10x cards only run in the 1Ghz neighborhood on their 14nm process so maybe there will be some expectations of increases there. if p3d can continue to optimize how much of the math gets done on with the video card instead of the cpu maybe there's some opportunity there.

cheers,-andy crosby

Share this post


Link to post
Share on other sites

1. We've really already hit the practical limit of power/heat in normal desktop systems. In fact, we hit that in the mid 00's with Intel's Pentium D hitting about 130 W TDP in 2005. In 2006, Intel "reset the clock" with the highly efficient Core 2 architecture, starting at 65W and with subsequent iterations eventually creeping up to ~95W on the desktop. Super high-end CPUs like AMD Threadripper and Intel 7900X are at 140 - 180W. The AMD FX 9590 hit 220W and shipped with a liquid cooling system, but that was borderline unsellable (it didn't help that it performed worse than a 2600K in most cases).
There's simply no market for hot, power hungry CPUs because most apps and games are moving towards utilizing multiple, more power efficient cores. Current x86 cores are already so efficient that trading 100W for maybe 10 - 20% more single-threaded performance just isn't worth it.

2. LM will definitely have to work towards making their engine more multi threaded. It will probably be a slow, incremental process over several years. It's different from the move to 64-bit in that way, because you don't have to do it all at once (you can't go from 32-bit to 33-bit, to 34-bit etc., either it's a 32-bit application or a 64-bit one).

3. LM are moving at a slow pace because they have important customers, and they're working with a very old and complex code base. The other thing they can do is move more work over to the GPU. P3D is really an outliner here, modern games and applications offload a lot more to the GPU. That's why GTA 5 can run at 100 FPS with very detailed scenery, while P3D struggles to maintain 30 FPS.

Share this post


Link to post
Share on other sites

1. An additional 100w for of the order of +20% single core throughput would indeed be not that interesting an increase in performance.

This might be a cheesy thought but since we already have so many cores being put on a die, can there be a design where a single thread is run alternatively on two or more cores where the cores run at nominal clock speed but in alternating sync while only the combining data bus run at higher speed with windows seeing them as a single core at the combined speed, could that give 2x, 3x.. single thread performance?

2. Being able to do it gradually in parts unlike x64 would be a convenience, but will it be of significantly more complexity than 64 bit conversion that they might hesitate in taking it up?

3. I think the well known explanation for this is p3d loads the whole world and its varying features on the run while games cover a small area optimized and build to be viewed from limited viewpoints and distances. Would be interesting to know how much further it is possible for more tasks to be efficiently shifted to the gpu which is better at parallel processing while cpu at sequential one. From my use I find AI quantity and scenery complexity quantity to be the primary hitters on the performance aside from complex aircraft.

Share this post


Link to post
Share on other sites
16 hours ago, him225 said:

This might be a cheesy thought but since we already have so many cores being put on a die, can there be a design where a single thread is run alternatively on two or more cores where the cores run at nominal clock speed but in alternating sync while only the combining data bus run at higher speed with windows seeing them as a single core at the combined speed, could that give 2x, 3x.. single thread performance?

Think about it not as computing, but general work. If you have tasks A, B, C and D, if they have no dependencies on them then you can get the work done quicker if there are two of you and you each grab a task and work on it. When you're done, grab the next task and finish it. That's essentially how multi-threading works.

But if B depends on the output of A, then you can't start on B until A is complete - so whether there's just one of you or 4 of you, all but one are going to be sitting around twiddling their thumbs waiting for that task to finish. That's the same issue with your proposal - since the work of a single thread is sequential, only one core will ever be doing any work.

16 hours ago, him225 said:

Would be interesting to know how much further it is possible for more tasks to be efficiently shifted to the gpu which is better at parallel processing while cpu at sequential one. From my use I find AI quantity and scenery complexity quantity to be the primary hitters on the performance aside from complex aircraft.

There's nothing inherent to GPUs that makes them better at parallel processing than CPUs. Years ago I worked with a 64-core monster that ran at barely 1GHz - there are CPUs out there optimized for amazing parallel performance. The problem is that workloads are by their nature sequential and there are very few problems outside of graphics rendering that are so independent and can be split up.

Think of building a house - it's a sequential task. You can't frame it until the foundation has been poured; you cannot paint until the drywall has been hung but that cannot be done until the wiring, plumbing and ventilation are installed. While you can parallelize those tasks to a significant extent, there are some fundamental dependencies that you simply cannot eliminate. Same thing with code. Rethinking process to eliminate bottlenecks is a hard, hard problem.

Cheers!

Luke

Share this post


Link to post
Share on other sites

With ESP based simulators the graphics rendering is closely tied to the flight model/gauges etc. So any slowdown in the chain will grind down your FPS. In recent years several developers have given us aircraft that the FM is separated out from the sim (Majestic for example) this seems promising as there is usually a decent  FPS gain as the sim is freed up 

You can clearly see how this works with heavy aircraft like PMDG. Looking straight ahead out the window your framerate will be higher than when you pan down and all the displays come in to view. There is a substantial drop.

Stock aircraft still use an 18 hz timer for refreshing panel displays etc but in V4 they have given us options to tinker with that (AdvancedPresentationMode and Panel_update_mode) . It looks like you need Professional Plus to take advantage of that though.

IF they can eventually separate some more functions so that they can each run in their own thread that would help a lot.

 

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now