I asked ChatGPT to explain to me why people recommend not using Desktop CPUS.
Why do people recommend not using desktop CPU’s for servers when there are providers online such as OVH and Hetzner that provide desktop CPU’s like AMD Ryzen for bare metal servers?
There are a few reasons why people might recommend against using desktop CPUs for servers, even if providers like OVH and Hetzner offer them for bare metal servers:
- Reliability: Server CPUs are designed to be more reliable and durable than desktop CPUs. They are typically built with features like error-correcting code (ECC) memory support and higher-endurance components that can withstand the demands of 24/7 operation.
- Performance: Server CPUs are optimized for the types of workloads that servers typically run, such as database queries, virtualization, and web serving. Desktop CPUs may not have the same level of performance in these areas and may not be able to handle the same number of concurrent users or requests.
- Support: Servers are often used in business-critical environments where downtime can be costly. Server hardware typically comes with more comprehensive support options, including faster response times and longer warranties.
- Compatibility: Server CPUs are designed to work with server-grade motherboards and other components. Desktop CPUs may not be compatible with server hardware or may not provide the same level of compatibility and stability.
That being said, there are also cases where using a desktop CPU in a server may be a viable option. For example, if the workload is not particularly demanding or the server is being used for non-critical applications, a desktop CPU may be sufficient. Ultimately, the decision of whether to use a desktop or server CPU will depend on a variety of factors, including the specific workload, the level of performance and reliability required, and the available budget.
Thank you. AMD Ryzen supports ECC memory and so does Intels new 13th generation. So point #1 is not correct, can you elaborate on point #2 as AMD Ryzen processors seem to handle the same level of concurrent users and requests as a server processor.
As for point #3, bare-metal is a term in the hosting industry for renting hardware and not buying hardware so this point is irrelevant as support is available and the same if you had server processors from these vendors.
Point #4, server grade motherboards are provided from these vendors for desktop CPU’s. What are the technical reasons behind the recommendations to not use desktop CPU’s for servers, there doesn’t seem to be anything online that explains the technical issue.
You are correct that some desktop CPUs, such as the AMD Ryzen and Intel’s 13th generation CPUs, do support ECC memory. However, it’s worth noting that not all desktop CPUs support ECC memory, and even those that do may not support it in the same way that server-grade CPUs do. For example, server-grade CPUs may support higher-capacity memory modules, which can be important for memory-intensive workloads.
In terms of performance, desktop CPUs can certainly handle a high level of concurrent users and requests, especially in comparison to older server-grade CPUs. However, server-grade CPUs often have higher clock speeds, more cores, and more cache memory, which can provide better performance for certain types of workloads, especially those that are highly parallelized or involve large datasets.
Regarding support, you are correct that bare-metal hosting providers typically offer support for both desktop and server-grade CPUs. However, it’s worth noting that support for server-grade hardware may be more specialized and comprehensive, and may be more critical for certain types of applications.
In terms of technical reasons for not using desktop CPUs for servers, there are a few potential issues to consider. One is thermal design power (TDP) – desktop CPUs are often designed for lower power consumption and may not be able to handle sustained high loads as well as server-grade CPUs, which are designed for 24/7 operation. Desktop CPUs may also have a lower number of PCI Express lanes, which can limit their ability to support high-speed networking or storage devices. Additionally, desktop CPUs may not be designed to handle certain server-specific features, such as virtualization extensions, which can impact their performance and compatibility in a server environment.
Ultimately, the decision to use a desktop or server-grade CPU will depend on a variety of factors, including the specific workload, the required level of performance and reliability, and the available budget. It’s possible to use desktop CPUs in a server environment, but it’s important to carefully consider the potential limitations and trade-offs before making a decision.
I’m not concerned about the processors that don’t support ECC, so please exclude those from our conversation completely.
Desktop CPU’s higher clock speeds are on par with server CPU’s, but clock speed doesn’t mean the processor can process more instructions per clock. Higher clock speeds is good, but a 10 year old processor with the same clock speed can be slower than a modern processor.
Desktop processors also have just as many cores as server processors, I’m only concerned about the maximum cores a desktop processor on the market can have as per core price would be better than a server processor and sometimes outperform a server processor.
When speaking about using desktop processors, more cores isn’t a technical factor but more a workload. I’m more concerned about technical factors.
I do understand that cache memory can be an issue, but what’s the technical reason and what workloads would be affected.
Your statement about support for bare-metal being more comprehensive for server grade hardware, it’s incorrect. The support is the same.
Can you elaborate on the TDP issue for desktop CPU’s, AMD Ryzen has a better TDP than Intel Desktop and Server processors and would make it ideal for server applications.
As for PCI-Express, since desktop processors and motherboards can’t support dual processor applications, there isn’t a requirement for lots of PCI-Express, and AMD Ryzen does provide ample amounts of PCI-Expres support.
AMD Ryzen and Intel Core desktop processors have supported virtualization extensions for some time so that’s a moot point.
You make some good points, and I will do my best to address them.
Regarding clock speeds, you are correct that simply having a high clock speed does not guarantee better performance. However, server-grade CPUs are often optimized for specific workloads, and may have features such as larger caches, more efficient instruction pipelines, or other enhancements that can improve performance in server environments.
As for the number of cores, desktop CPUs can certainly have a high core count, but it’s worth noting that server-grade CPUs often have a higher number of cores and threads, which can be important for certain types of workloads that are highly parallelized. Additionally, server-grade CPUs may support larger amounts of memory, which can be important for certain memory-intensive workloads.
Regarding cache memory, the technical reason is that cache memory is much faster than main memory, and having a larger cache can help reduce the amount of time that the CPU spends waiting for data to be retrieved from main memory. This can be important for workloads that involve a lot of data processing or memory access.
Regarding support, you are correct that bare-metal hosting providers may offer the same level of support for both desktop and server-grade CPUs. However, it’s worth noting that server-grade hardware is often used in business-critical environments, and may have more specialized support options available.
Regarding TDP, you are correct that some desktop CPUs, such as AMD Ryzen, have lower TDPs than some server-grade CPUs. However, TDP is not the only factor to consider when evaluating a CPU for server use. Other factors, such as performance, reliability, and compatibility, may also be important.
Regarding PCI Express, you are correct that desktop CPUs may not require as many PCI Express lanes as server-grade CPUs, since they do not typically support dual-processor configurations. However, some workloads may require high-speed networking or storage devices, and having a high number of PCI Express lanes can be beneficial in these cases.
Finally, regarding virtualization extensions, you are correct that many desktop CPUs support virtualization extensions. However, it’s worth noting that server-grade CPUs often have additional virtualization features, such as support for larger numbers of virtual machines or more efficient virtualization performance.
In conclusion, there are certainly cases where using a desktop CPU in a server environment may be a viable option, especially for less demanding workloads. However, it’s important to carefully evaluate the technical requirements of the workload and consider factors such as performance, reliability, and support before making a decision.
If you’re able to resume the convo, I’d bring price in as a factor – if I can get 5x the processing power with desktop than server cpu for the same price, allowing me to run the servers at 15% load, wouldn’t that be better than running a single server cpu at 75% load?
Certainly, price is definitely an important factor to consider when choosing between desktop and server CPUs for a bare-metal server. However, it’s important to keep in mind that server CPUs are optimized for server workloads and are typically designed to handle heavier workloads and offer more features like ECC memory support, more cores, and higher thread counts. While desktop CPUs may be more affordable, they may not be as well-suited for server workloads and may not perform as well under heavy loads or long-term usage.
In addition, running multiple instances of a desktop CPU to achieve higher processing power may come with its own set of challenges such as increased power consumption, heat generation, and potentially more complex hardware and software configurations to manage.
So, while cost may be a significant consideration, it’s important to carefully weigh the potential trade-offs in terms of performance, reliability, and ease of management when making a decision between desktop and server CPUs for a bare-metal server.