3 ms·
Not defending the Mac Pro's architecture here, I think there are issues, but calling Apple Silicon "low-end laptop hardware" is just false. The Max/Ultra chips
by danpalmer 3y ago
Not defending the Mac Pro's architecture here, I think there are issues, but calling Apple Silicon "low-end laptop hardware" is just false. The Max/Ultra chips easily outperform most server-grade CPUs, and are similar to top end Intel i9 chips. Then if you also take into account performance per watt, they're in a whole different league.
- adrian_b 3y agoApple Silicon CPUs have been "in a whole different league" for performance per watt when compared with other laptop or desktop CPUs for 2 reasons, they where made using a newer CMOS process to which competitors did not have yet access and they were designed to have a higher IPC, so that they have the same speed as competing CPUs at much lower clock frequencies, which results in a lower power consumption. On the other hand the comparison between Apple Silicon CPUs and "server-grade CPUs" has always been much less favorable for Apple. The reason is that the higher IPC of Apple CPUs does not matter for server applications. The server CPUs use the same low clock frequency as the Apple CPUs, resulting in the same low power consumption. An Intel or AMD core is slower than an Apple core, but that is compensated by more cores, and more cores with lower IPC have a better performance per watt than fewer cores with higher IPC. Therefore, until recently the Apple Silicon CPUs had a single advantage vs. "server-grade CPUs": they were made in various "5 nm" process variants, while the best "server-grade CPUs" were made in various "7 nm" process variants. Since the end of last year, and especially after the launch of today of AMD Bergamo, the existing Apple Silicon CPUs do not have any advantage for server applications a.k.a. multithreaded applications. Only after the launch of the next Apple Silicon CPUs, made in a "3 nm" process, they would become competitive again. However that does not matter anyway, because Apple has abandoned a long time ago the idea of competing in server applications and for now they are not interested in such applications. Whenever the intention is to praise the good performance per watt of Apple Silicon CPUs, they should always be compared with laptop or desktop CPUs, never with "server-grade CPUs", because in the latter case the numbers are very different.
- twoodfin 3y agoThe reason is that the higher IPC of Apple CPUs does not matter for server applications. I’m not sure how to interpret this. Of course server applications care about IPC. Maybe moreso! The only difference I can imagine is that server applications are more likely to be memory-bandwidth bound, which does indeed make IPC irrelevant, but also plays in favor of the high bandwidth architecture of the M- series.
- adrian_b 3y agoFor server applications, i.e. for multi-threaded applications, what matters is the aggregated throughput, i.e. the product between number of cores, IPC and clock frequency. For a given performance it does not matter if the same product value is obtained from more cores with lower IPC or fewer cores with higher IPC, and the former choice is more economical both in die area and in power consumption. A high IPC is good for interactive applications that cannot be parallelized, so the latency between request and reply is determined by the product between IPC and clock frequency. Intel and AMD can achieve a lower latency than Apple only by raising the clock frequency, which is paid by an increase in power consumption that exceeds a lot the increase in performance. So choosing to design a CPU with a higher IPC has contradictory effects on its efficiency for throughput-oriented (server) and for latency-oriented (personal computer) applications.
- c00lio 3y agoHigher IPC is relevant for workloads that are compute- but not data-intensive. There are practically no common server applications with that characteristic. In high performance computing, you might find some such applications, e.g. some Monte-Carlo-Type simulations, some linear-algebra-heavy workloads. Of course especially the latter are reported in popular benchmarks like the Top500, so marketing puts a special emphasis on those. But even there, raw IPC is mostly useless, since common problem sizes make a lot of network communication necessary to e.g. solve computational fluid dynamics problems. For those you'd need both IPC and (low latency and high bandwith) I/O, because one machine won't be enough and you have to do clustered computations with lots and lots of I/O-intensive communication to transmit your boundary results to your neighboring machines. But run-of-the-mill server workloads are more like database applications (get query, load data from mass storage, do some processing on it, send results to network), HTTP and similar servers (get request, load data from mass storage, do some processing on it, send results to network), file servers (load/store data from network, only a little processing), terminal servers (wait for user interaction on network, process/load/store a bit, shovel out screen updates). Lots and lots of I/O, not so much computation that would care about IPC.
- numpad0 3y ago> top end Intel i9 Intel top end is Xeon. i9 is gamer CPU, more or less.
- fmajid 3y agoThe i9 is used in HP Z2 workstations (with ECC memory) because of the delays to Sapphire Rapids.