Today's Best CPUs Compared... To a Pentium 4
Dr. Damage writes "How do current $74 CPUs compare to the $133 ones? To exclusive $1K Extreme Editions? Interesting questions, but what if you took a five-year-old Pentium 4 at 3.8GHz and pitted it against today's CPUs in a slew of games and other applications? The results are eye-opening." Note that this voluminous comparison is presented over 18 pages with no single-page view in sight.
http://techreport.com/articles.x/18448/18 is the page with the conclusion
Don't fight for your country, if your country does not fight for you.
How can game engines not take advantage of multiple cores?
Because not everyone has multiple cores so PC games have to go for some version of the lowest common denominator whereas a console game has a known platform to work with that is standardized.
The so called 7 Cores are pretty specialized sub units. With the lack of good middleware and development kits at the PS3 release, the platform is just now after years starting to get somewhat used
Pentium 4 is still fast enough for 97% of the applications.
And its constantly growing. check it out: http://www.anandtech.com/bench/default.aspx?b=2&c=1
OpenGL Performer managed to enable applications to run on different platforms, from single CPU, single GPU, all the way up to hundreds of CPUs and upto (IIRC) 16 GPUs, without any changes.
OK, so the developers of OpenGL Performer were clever and motivated, but it certainly proves that it isn't a technical limitation and (IMO) invalidates your assertion that they "have to go for some version of the lowest common denominator".
http://en.wikipedia.org/wiki/OpenGL_Performer
Max.
How can game engines not take advantage of multiple cores? I had no idea this was the case, and find it very surprising given that the PS3 has 7 cores to work with. Are games so lazily programmed that they don't take advantage of that either?
this was the case a couple of years ago, nowadays all major games(dragon age, mass effect 2, battlefield bad company 2, etc..) uses my dual core at 100%
the frostbite engine(used in bfbc2 and bf1943) is even designed to use up to 16 threads http://repi.blogspot.com/2009/11/parallel-futures-of-game-engine.html
Physics is very friendly to multithreading since most computations are done in parallel anyway. N objects interacting with each other would be simulated in a series of steps, and for each step you need to calculate the next attributes taking into account the previous ones of all the objects. Then, you would save this instance and start again. During each step, threads can more or less operate independent to each other.
A very good example of this would be NVidia PhysX.
ics
You do realize that overclocking Northwood core CPUs is a bad idea, right?
They have been known to suffer from random heat death, even with water cooling. They also tend to have computational errors and actually suffer worse performance when overclocked. This last bit is very batch dependent though - it really depends on where the chip was manufactured. The heat issue is still valid for every Northwood. There's a good reason most OEMs blocked overclocking in BIOS for their Northwood equipped systems.
@Mindless Drivel: 100% of Twitter posts ever Tweeted.
As somebody working in the gaming industry, let me correct you on each of your points.
1) A great many game-related problems can be parallelized quite well. It differs by genre, but most games today could easily split graphics, audio, input processing, game logic and AI into separate threads. Some gaming engines have started to do this. AI is one area that really benefits from multiple threads of execution, so that we can simulate several different outcomes at a time.
2) This was true in the 1970s. We've come a long way since then. From compiler-assisted technology like OpenMP to a variety of higher-level approaches and techniques, multithreaded programming doesn't have to be difficult. Even just making your data immutable, like functional programmers have been trying to teach us for decades, removes many of the IPC woes you mention.
3) This isn't a problem at all. Aside from netbooks, most consumer laptops and virtually all consumer desktops sold since 2006 have had at least two cores. Intel's Core i7 has been out for over a year now, and has seen very good adoption rates. The average number of virtual CPUs (ie. physical, cores or threads) on the average gaming PC today is roughly 2.7. Besides, games shouldn't care how many CPUs are present. They adapt to the available resources. If you have one CPU, we do everything on it. If you have 8, we'll distribute the load appropriately.
4) Where did you hear this from? Again, this was true in 2003, but things have changed a lot since then. Virtually every engine written since then, by a half-decent team, has included mulitprocessor support.
You wouldn't happen to know the sorts or reductions in errors running registered memory brings (compared to just ECC)? If you must run registered as well, it's a comparison between Opterons and Xeons.
My understanding is that registered memory is less about error correction and more about being able to plug in way too many DIMMs per memory channel, so you don't want it unless you need ridiculous amount of memory.
If you are concerned about data integrity you might also want to look at an operating system that has ZFS - which means OpenSolaris or FreeBSD, and running mirrored or RAIDZ.
Or use Btrfs; ZFS isn't the only option with integrity checks.
The ECC support involves the motherboard RAM itself - each DIMM has extra chips to carry the error-correcting information. It's mainly used in servers that run 24x7. Single-bit errors are automatically corrected, and, if they occur, multiple-bit errors are at least detected. The point is of course to keep the server from crashing, or worse, silently corrupting data.
Up until about the mid-1990s, most PCs had parity memory, which provides error detection but not correction. But, in the rush to make things cheaper, computer makers realized that they could shave a few pennies off the cost of a machine by eliminating the parity chips. By doing so, they made it very easy for bad RAM to cause all sorts of hard-to-diagnose problems. Unfortunately, non-parity, non-ECC RAM became the standard, and there are very few places you can buy ECC DIMMs off-the-shelf.
Socket AM2+ and AM3 boards can easily support ECC RAM, but it's up to the motherboard maker to enable it. My recent Asus board for an OpenSolaris box has 4G of ECC memory installed.
Oh, no! You have walked into the slavering fangs of a lurking grue!
To be precise, multi-bit errors are *usually* detected. Any ECC scheme will accept faults that happen to convert stored data from one valid pattern (called a codeword in the literature) and another. They just trade off the likelihood of correctable, detectable-but-not-correctable and undetected faults (according to some model of what causes faults) versus the space and time overhead. The fault origin models are pretty good at matching what most servers see, and the standard ECC schemes are enormously valuable for long-running servers.
+1. Rhaban, physics/graphics is one of the MOST parallelizable operations we have. The "shared dataset" is the previous solved set, and no communication is needed so long as the previous set is in shared memory of some sort. The new data should be deterministically determined by the previous set. Graphics processors use this in a non-core-based system where specialized hardware modifies the data set in a pre-determined way massively in parallel.
If you annoy your visitors to the point they start looking for ad-blocking/skipping solutions - there's something wrong with your business model. Either you fix it or you leave the business, it's just that's easy. Whining about your customers not liking some part of your business doesn't make sense. Google was probably the first to realize there is no point in annoying the hell out of surfers - that's why their ads are text-only and quite modest.
If all your processes must communicate with each other constantly, you lose the benefits of having each process processed by a different core.
This statement is just flat wrong, and hardly insightful. The only time this condition is true is if you are dealing with processors *completely isolated* from each other's memory resources. To my knowledge, there is no such beast (cluster or multi-core system) and hasn't been since the days before MPI and OpenMP (or their predecessors) existed. The only bottlenecks in the above quoted situation are latency and bandwidth so that each process CAN communicate simultaneously with any other process, running on any core, tied to the same high-speed bus/network. There are actually other ways to create data parallelism within a system so that even discrete processors can still contribute work toward a larger problem.
I build supercomputers, so I should know!
Tx clerick for making this list (from Rage3d.com) ...
This is a list of games that support multicore... forget about the others
-- Quad Core --
Alan Wake - Ground up quad core support.
Bioshock (Unreal Engine 3) - Quad core support.
Call Of Duty 4 - Ground up quad core support.
Company of Heroes - Ground up quad core support
Crysis - MP Beta Dual Core support, full game ground up Quad Core support.
DiRT - Ground up quad core support (up to 8 cores reported).
Flight Simulator X - Quad core support with patch.
Lost Planet - Ground up quad core support. (octa core support as well).
MOH: Airborn (Unreal Engine 3) - Ground up quad core support.
Supreme Commander - Ground up quad core support.
The Elder Scrolls: Oblivion - Quad core ground up, can use 5 threads.
World in Conflict - Ground up quad core support.
Unreal Tournament 3 (Unreal Engine 3) - Ground up quad core support.
-- Dual Core --
Age of Empires 3 - Dual core
support.
Call of Duty 2 with 1.01 smp patch - Dual Core support
Enemy Territory: Quake Wars - Native dual core support (possible quad, need confirmation).
EVE online - Dual core (possible quad core, need confirmation)
Falcon 4.0 - Some Support, extent unknown.
Galactic Civilizations II - Dual core support.
Gothic 3 - Dual core support.
HL2: Orangebox - Dual core support
Stalker - Dual core support with 1.0004 patch.
Quake 4 - Dual Core with patch.
Titan quest + Titan quest Immortal Throne - Dual core with patch.
World of Warcraft - Dual Core with patch.
With 100 watts of power consumption at ~10 cents a kilowatt hour you would be spending about $88 a year to run your backend 24x7. That doesn't count the extra draw for air conditioning in summer months (the benefit in winter is pretty minor). Different costs per kwh or power consumption scale accordingly. Hopefully your P4 is a northwood and not a prescott! At some point the reduction in power costs will justify a switch to something like the Revo. My total power costs are about $0.30c a kwh (don't get me started!) so I could pay for the switch in a year.
There is a great product called the "Kill-a-watt" that will measure the power consumption of a device simply by plugging it in through the kill-a-watt box. My Q6600 rig draws 120-140 watts for a good fraction of the day as measured by my kill-a-watt. It's a non-trivial cost and a 45nm chip might pay for itself in a year and a half.
The P4 appears to be included in every one of the performance benchmarks (or at least on the one performance page I bothered to check on). The headline here is badly skewed. It's a new chip comparison that includes benchmarks for a lot of older chips, including the P4. Not a "how far have we come" article remembering the bygone days of P4 yore. Bad /. headline.
The Quirkz Handbook of Self-Improvement for People Who Are Already Pretty Okay
I would say the P4 and Pentium D series of processors have kept up quite well. I primarily work with CAD (Solidworks and AutoCAD depending on location) and have noticed that the old processors chew through the programs quite well, I have found RAM (or lack there of) and GPU to be much more critical when working with high demand applications.
Work PC:
Pentium 4
1 GB RAM
Crappy GPU
OS: WinXP x32
Solidworks Startup time: Long enough to cross the office and get coffee.
Home PC:
Pentium D Dual Core 64-bit
4 GB RAM
GPU: Nvidia 8600 GT 256mb DDR3 VRAM
OS: Win7 x64
AutoCAD Startup: Near Instant
AutoCAD Inventor Startup: Long enough to get preheated coffee
Solidworks Startup: Near Instant
***Plays EVE Online and COD:WaW Fine
Looking at these systems I think it should be clear that processor makes little difference to CAD users which are considered to be one of the heavier uses of PC's.