New ask Hacker News story: Ask HN: Intel 12/13th gen vs. AMD Zen 4 in Linux
Ask HN: Intel 12/13th gen vs. AMD Zen 4 in Linux
2 by lopkeny12ko | 1 comments on Hacker News.
Hi HN, the last time I built a system was more than a decade ago, and as you might guess I'm not caught up with present-day consumer desktop hardware. I'm planning to put together a new system in the next few months and trying to decide between Intel and AMD. Unfortunately, existing reviews don't seem to cover my use case. I don't play games, and I don't use Windows. I do a lot of software development that benefits from parallel execution (think: C++, Rust, and various projects built with Bazel). I care about compilation speed, multithreaded scalability, and interoperability with my existing tools and workflows. The 13th gen Intel chips (13900k) offer better performance than AMD's current top-of-the-line chips, and also at a lower MSRP. However, the new architecture of E-cores and P-cores worries me, especially in Linux. * Are recent (5.15+) versions of the kernel able to effectively take advantage of the different types of cores? The Linux scheduler AFAIK was never really designed with the assumption that each physical CPU would have different performance characteristics, and I'm not convinced that an adaptation shoehorned in after the fact would be particularly effective. * Given the unequal cores, how does this affect performance determinism? I'm concerned about the scenario where, for example, I benchmark a program that spins up $(nproc) worker threads, and some of those workers report much less max throughput than the rest (the ones allocated to E-cores by the kernel). If the kernel juggles the workload among all cores, then I'd have to rewrite a bunch of my tools to pin threads to specific P-core CPUs to get an accurate signal for maximum single-thread performance. * "Turbo boost" clocks are a new concept to me--if the hardware changes clock frequencies arbitrarily, it sounds like this would be another source of performance non-determinism that I'd have to account for in userspace.
2 by lopkeny12ko | 1 comments on Hacker News.
Hi HN, the last time I built a system was more than a decade ago, and as you might guess I'm not caught up with present-day consumer desktop hardware. I'm planning to put together a new system in the next few months and trying to decide between Intel and AMD. Unfortunately, existing reviews don't seem to cover my use case. I don't play games, and I don't use Windows. I do a lot of software development that benefits from parallel execution (think: C++, Rust, and various projects built with Bazel). I care about compilation speed, multithreaded scalability, and interoperability with my existing tools and workflows. The 13th gen Intel chips (13900k) offer better performance than AMD's current top-of-the-line chips, and also at a lower MSRP. However, the new architecture of E-cores and P-cores worries me, especially in Linux. * Are recent (5.15+) versions of the kernel able to effectively take advantage of the different types of cores? The Linux scheduler AFAIK was never really designed with the assumption that each physical CPU would have different performance characteristics, and I'm not convinced that an adaptation shoehorned in after the fact would be particularly effective. * Given the unequal cores, how does this affect performance determinism? I'm concerned about the scenario where, for example, I benchmark a program that spins up $(nproc) worker threads, and some of those workers report much less max throughput than the rest (the ones allocated to E-cores by the kernel). If the kernel juggles the workload among all cores, then I'd have to rewrite a bunch of my tools to pin threads to specific P-core CPUs to get an accurate signal for maximum single-thread performance. * "Turbo boost" clocks are a new concept to me--if the hardware changes clock frequencies arbitrarily, it sounds like this would be another source of performance non-determinism that I'd have to account for in userspace.
Comments
Post a Comment