High Core Count Cpu

0 views
Skip to first unread message

Jasmine Lemaitre

unread,
Aug 4, 2024, 4:04:42 PM8/4/24
to riasnifeves
Withlowering silicon costs and rising consumer needs, manufacturers seem to be pushing one of two things: clock speed and/or core count. With the way things are going, it doesn't seem that clock speed of processors is rising anymore, but the number of processor cores.

I remember only a few years back, I had a nice fast single-core Pentium 4 processor. Fast-forward to today, and I don't think you can even purchase a single-core processor (not to mention the rising increase in multicore processors even in cellphones). The way things are going, we might find computers with hundreds of cores in a few years (and I know many operating systems already have support for it).


Is it more beneficial to a system's overall performance to increase the clock speed, or increase the number of cores? Assume we're getting into hundreds of cores all running together, or clock speeds ten times higher what we have today (regardless of whether or not that is physically possible).


What are some examples of common processes (e.g. encryption, file compression, image/video editing) that will most benefit from one or another? Are there some processes which can be, but currently aren't (due to technical reasons) sped up by increasing their parallelism?


Assume the hypothetical processor has the exact same core design (word size, address bit width, memory bus size, cache, etc...), so the only variables here are clock speed and core count. And again, I'm not talking about one, two, or even four cores - imagine tens to hundreds.


The first situation is where processor 'speed' is more important, as the user wants the ability to make calculations quickly and efficiently. These situations are typically for calculation intensive processing i.e. calculating prime numbers for encryption/decryption


The second is where multiple cores come in handy, as each program can be assigned to a separate core, thus freeing each program from 'bottle-necking' each other. In today's world, the average user is going to be using their computer for multiple programs at a time, thus making the multi-core processing a desirable thing.


However, multi-core != faster speeds or higher performance in all cases. Since most programs are written for single core processing*, clock speed is still important to look at. A combination of both must be taken into consideration (along with many other factors as well).


I personally think core count is the way to go. Software development has shifted to networked systems so no longer are local resources the only resources available to you. The most important factor in how you work now is what network you are a part of.


Notice the shift to mobile broadband, constant connectivity, remote access, etc etc. With that, constant connectivity requires battery life. While it is debatable which CPU factors are more optimal for battery life (You've got the a classic optimization equation of work value vs time), I personally think, if you had to pick one, I'd pick more cores.


Intel now allows you to power cores on demand. While not as optimal as having no cores to sleep, having the option to use more cores give you the flexibility to run more applications off the same hardware platform.


In most of the common processes you mention, the number of cores aren't going to matter very much, since most of the work is done in a single thread which can only execute on a single core (at a time). For such processes, a single but very powerful core will perform better than a couple of slower cores. Both encryption and file compression could be exceptions to this, but it depends a lot on what algorithms are used, and if they can be executed in parallel.


However, you have forgotten one of the most common tasks performed on computers today: browsing. Several popular browsers open each tab in a separate process (Chrome being the only one I'm sure does this, since it's the one I use), meaning that if you have four tabs open on a quad-core system, each browsing window can (in theory) have a core "to itself" (ignoring OS threads and stuff), and be as fast as if there was no other browser tabs/windows open. For people who browse with many tabs open at a time, this can be a serious performance improvement without having to build extremely fast CPU cores.


The key to knowing whether a multi-core system with slower cores will be faster than a single-core system with a fast core is knowing if you will do a lot of different things simultaneously or a few, but heavy, things. As this will differ a lot from user to user, so will the answer to your question.


First of all, single-core speeds have not really gone down that much. The only reason Intel's current Sandy Bridge lineup does not top single-core Pentium 4s in terms of megahertz is that Intel lacks competition, so they don't have to push that hard.


Second, clock speed is not everything, even on single core. When looking at application performance, again against Pentium 4, current Intel lineup is around 50% faster per clock cycle. The reasons why Sandy Bridge is faster per clock cycle than Pentium 4 (Prescott being the last incarnation of it) are multitudinous, but having pre-fetching intelligent memory controller, having memory controller on same die with CPU and higher Instruction Level Parallelism (ILP) contribute to that.


Instruction level parallelism basically means that the processor looks at the instructions and their dependencies and if two instructions are not depending on each other, the CPU can start loading data for both at the same time and possibly reorder the instructions, of the data for one of them arrives before the other one.


Third, some application indeed benefit very nicely from multiple cores. For example Photoshop almost always prefers more cores over operating frequency. Ie. even a slow quad-core almost always beats any dual-core chip, and any dual-core beats any single-core chip. Tri-cores are a mixed bag, they often win over dual-cores, but not always.


Generally applications that do same kind of operations for lot of different sets of data benefit from parallelism most. For example video compression or photo editing often can be parallelized quite easily. On the other hand, computer games have proved out to be hard to parallelize. The graphics on them of course parallelizes very well, but that part is executed on GPU, not CPU. The remaining physics, game world bookkeeping and AIs parallelize less easily.


Actually, when I want to compare processor speeds I consult passmark of notebookcheck benchmark tables. Benchmarks, in my opinion, are the best factor to measure and compare processor speed and performance.


Here are some pretty general questions from a new developer / moderate gamer about CPU core counts and how they affect the developer experience in terms of convenience and QoL. Feel free to answer any/all :)


QoL increased massively. Working in visual studio on an asp.net c# environment I've noticed that compile times roughly halved and it's easier to have several instances of the code open to use as a reference.


It's difficult to say what type of developer requires the fastest PC. Someone who works with large databases for example could have access to a test server, and only need a small system to access it. another that does the same job but doesn't have a test server would need an extremely powerful system.


Most modern server class CPUs have at least 8 cores with some configurations supporting more than 30 cores per processor. Motherboards can contain multiple processors connected together by the UPI, or Intel Ultra Path Interconnect.


Since high core count processors have higher computational power, however, this can lead to increased power consumption and, subsequently, overheating. This can result in damage to critical components of a computer as well as impeded functionality.


The primary benefit of low core count processors is that since they complete a limited number of tasks, they consume less power. This helps to protect a computer's parts and components from overheating, which, in turn, ensures proper functionality.


In low core count processors, however, performance is severely limited, as the CPU has to take time to communicate with the RAM (random access memory), and it is only able to run one program at a time. This decreases efficiency and weakens compute power.


With their limited capabilities, these processors pose a problem when faced with demanding workloads, only being able to focus on one task at a time when it is crucial that multiple tasks be handled simultaneously.


In general, a faster clock speed means applications can load and run faster, but a high core count means that a computer can run multiple programs and/or switch between programs at the same with little trouble.


This is because clock speed is dependent upon scaling, the ability of software to assign the right task to the right core. But scaling is often done in a split or random manner, meaning cores are not always able to compute data at optimal speed.


For applications that require multi-tasking like modeling and simulation (M&S), multi-core processors are the best choice. For applications like video games that require high speed, single-core processors may be a better choice.


Trenton's custom, USA-made solutions, whether in rack mount or small form factor, are able to support both high core count and low core count processors for a wide range of military, commercial, and industrial applications.


These processors have 2.32x faster processing speed and 5.73x faster AI inferencing over the previous generation, handling complex, concurrent workloads and controlling throughput to improve performance at the edge.


Though high core count processors can run hot, our expert team of engineers have equipped with the TAC with passive cooling and low voltage requirements to achieve maximum output in small physical spaces to maintain performance and environmental thermals.


Whether in the command room or on the field, our systems are equipped to handle the most challenging of workloads, enabling our military, commercial, and industrial customers to operate with speed and efficiency across a wide range of environments.

3a8082e126
Reply all
Reply to author
Forward
0 new messages