Live data from Hacker News

Apple Silicon Mac Pro uses PCIe switches to support all slots

social.treehouse.systems

51–60 of 85 posts

Re: Apple Silicon Mac Pro uses PCIe switches to support all slots

#51

Earlier quoted context omitted.

Apple 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…

The 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.

For 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.

Re: Apple Silicon Mac Pro uses PCIe switches to support all slots

#52
post #26

Earlier quoted context omitted.

Maybe the “pro max” version of next September’s iphones. The iPad Pro versions have had TB3 for a while (though they ship with M2 CPUs, not the A series). Not really sure how many ppl would use this but if apple switches to Type C connectors they’re more likely to strut it at the high end than just just mention it in passing. The use case isn’t that clear to me. Perhaps a photographer, for a phone with a couple of TB…

> The use case isn’t that clear to me. Perhaps a photographer, for a phone with a couple of TB of SSD. IMO, eventually, phones will replace low end desktop/laptop computers. Someone (probably Apple, since their CPUs are head and shoulders above the competition) will have to do the work of designing a mode switching UI, but once that's done, they'll really be able to cut into desktop volume. I'm sure the early devices…

Before everyone went cloud crazy I thought everyone would have a "data furnace" in their basement with little interactive tablets.

I still think that is true and will eventually be building my own on a Mac Pro. I will be combine various sources into a single context that will represent the building. VisionOS has changed a lot of my thinking. I would like to be able to access the hand-tracking separate from goggles.

Re: Apple Silicon Mac Pro uses PCIe switches to support all slots

#53

Earlier quoted context omitted.

Swapping a failed device for a working one, without powering down the machine.

Curious to see how you imagine swapping all the registers and caches of a currently broken CPU (so, unable to do anything including sending those registers somewhere). Because if you don't, sure, you didn't technically power down your machine, you just fucked up your entire stack, stack pointer goes to the wrong place, checks based on hardware are now wrong... In effect, you powered down the machine because your OS w…

The equivalent to flushing your register state is more comparable to a context switch than a complete shut down. Also Thanks to PCIe CPU swapping could be done in pure software at the OS level. No further hardware changes required. Simply copy the contents of your RAM to the other CPU card and manage the hand-off. This is clearly different from a complete shutdown e.g. all devices on the PCIe bus would be able to keep their state.

A good programmer familiar with the target OS and inner workings of PCIe could deliver a working prototype within a week, production ready within less than a year.

Re: Apple Silicon Mac Pro uses PCIe switches to support all slots

#54
A nice advantage of PCIe switches is that device-to-device transfers are required to be supported. Many/most PCIe root ports don't support device-to-device transfers through the root port. So if your use-case requires PCIe devices to talk directly to each other without involving the root port, having switches is super beneficial.

Re: Apple Silicon Mac Pro uses PCIe switches to support all slots

#55

Earlier quoted context omitted.

Apple 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…

The 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.

Higher 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.

Re: Apple Silicon Mac Pro uses PCIe switches to support all slots

#56
post #34

Earlier quoted context omitted.

The new Mac Pro can be rack mounted. It has PCIe gen 4 for audio and video I/O, networking, and storage cards.

I'd be sceptical about "can be rack mounted" in the context of Apple hardware. Remember those? https://www.sonnettech.com/product/legacyproducts/rackmacpro... https://www.myelectronics.nl/us/mac-studio-empower-station-r... At least the new case is available with rails, but cooling and management are still crap.

It appears to have three 160mm fans in the front, behind the grille. Should be enough for the M2 Ultra

Re: Apple Silicon Mac Pro uses PCIe switches to support all slots

#57
post #33

Earlier quoted context omitted.

I wouldn't call M2 Ultra a low-end, but it certainly qualifies as regular desktop CPU, rather than a server or workstation CPU. Xeon, EPYC, Threadripper typically has 128 lanes. 16+8 is Core/Ryzen configuration with x8 for chipset and x16 for GPU. It is really starting to look like either COVID and new Campus architecture had seriously crippled engineering capabilities of Apple, or if not all the capabilities are red…

> They could have made Pro a cluster supercomputer on a backplane just as a flexing and a nod to NeXT, but didn't. Apple is crippled because they didn’t prioritize a niche use for the sole purpose of “flexing”?

Yes. See Mac Pro(2013), Mac Pro(2019), maybe Mac Pro(2009) and definitely Power Mac G5(2005).

Re: Apple Silicon Mac Pro uses PCIe switches to support all slots

#58
post #4

Earlier quoted context omitted.

If you add multiple GPUs to the same PCIe switch, their bandwidth to main memory of the SOC will be shared. For some use cases that bandwidth was already the bottle neck.

Using the older PCI bus every three or 4 slots represented a dedicated controller. We would install the high bandwidth cards on seperate controllers. PCI-E exists in a faster timing bus which may make a difference. The visionOS demo apparently shows sub 20 nanosecond processing and graphics blitting to appear imperceptibly. Finally Woz’s design for the Apple II color graphics was based on unified memory. Dramatic shi…

The defining characteristic of PCIe isn't faster bus timings. It is that PCIe isn't even a "bus" in the traditional sense. With a bus, you have a number of shared physical wires for addresses and data, and an arbitration system that assigns those shared wires to one device at a time. The available bandwidth is just the bandwidth of the bus, divided into the time you can reserve it for yourself.

PCIe is a tree-shaped network (root is the root hub in the CPU, inner nodes are switches, leafs are devices) with point-to-point links (called lanes) that transmit packets. Bandwidth is determined by the number of lanes that a device's path up to the root hub has at the narrowest node.

Re: Apple Silicon Mac Pro uses PCIe switches to support all slots

#59
post #34

Earlier quoted context omitted.

The new Mac Pro can be rack mounted. It has PCIe gen 4 for audio and video I/O, networking, and storage cards.

I'd be sceptical about "can be rack mounted" in the context of Apple hardware. Remember those? https://www.sonnettech.com/product/legacyproducts/rackmacpro... https://www.myelectronics.nl/us/mac-studio-empower-station-r... At least the new case is available with rails, but cooling and management are still crap.

It isn’t made for a datacenter it’s made for a studio. Studio equipment is often rack mounted so being able to put the computer in there too is great. And the case isn’t new it’s the same as the 2019 Mac Pro.

Re: Apple Silicon Mac Pro uses PCIe switches to support all slots

#60
post #3

Apple Silicon is low-power low-end laptop hardware. Of course their I/O capabilities are limited, because their users do not need lots of I/O. If you are looking for stuff with lots of I/O capabilities you have to buy proper server hardware.

The new Mac Pro can be rack mounted. It has PCIe gen 4 for audio and video I/O, networking, and storage cards.

Rack-mounted Macs target the studio crowd who have rack-mounted audio equipment under their desk and love being able to put their mac in the same rack.

Those are certainly users with I/O needs, but very different ones from the needs of a server.

Post reply on HN