Suitability of AMD Processors for Chronicle Low Latency Microservices

At Chronicle we are often involved in helping clients to choose the optimum hardware on which to run Chronicle Queue and we are happy to give specific advice in line with what clients are trying to achieve. Recently we were asked about the suitability  of AMD processors for running Chronicle Low Latency Microservices below is the thoughts of one of our senior developers:-

Current AMD processors are very capable alternatives to Intel, easily matching and in some cases exceeding performance.There are a couple of factors to consider though which means there’s no single answer to which is best in general: it will depend on your planned use case.

While top-end Intel processors generally still offer the better single-core performance, AMD processors generally benchmark better for intensive multi-core workloads which is relevant for typical Chronicle stacks.

The main advantages of AMD are:

– better power/performance ratio

– larger caches (typically)

– better/more PCIe support (eg more PCIe lanes)

– generally better multi-core, multi-thread performance overall

One thing to keep in mind too, is even consumer-grade CPUs are now available with 12-16 cores, which blurs the boundary between top-end consumer and enterprise-grade CPUs. As a rule of thumb we would recommend keeping the number of cores on any single socket around this 12-16 core sweet spot: this provides enough real-estate to spread out workloads, without hitting too much of a penalty with core-core latencies and/or pollution of shared cache from other workloads. Core-core latencies in particular tend to degrade non-linearly with increasing core count (certainly for Intel, likely but TBC for AMD), which has a direct impact on typical Chronicle workloads with multiple processes sharing/exchanging data through shared memory.

The generally better PCIe support with current AMD processors is also an important consideration as it allows more flexibility when attaching storage, in particular multiple high-performance SSDs. Again, for typical Chronicle stacks using memory-mapped files, high-performance SSDs are recommended – especially for high-throughput applications which generate data at a relatively high rate.

In terms of direct observations, our newest machine (from a few months back) is AMD with high-capacity SSDs, which is posting excellent benchmark numbers. This is quite a significant step up from our latest Intel machine (Xeon), but it should be noted the Intel machine is somewhat older with a lower clock speed and less-performant SSDs which skews any direct comparison. We don’t have results from a current high-end Intel machine to provide a direct comparison between the two platforms, but it is clear the AMD numbers we are seeing are very strong in absolute terms.

Other practical factors such as available vendor specs, memory type and amount, vendor support etc may come into play too when making a choice, but from a performance point of view AMD is certainly well worth considering.

If you have any questions about optimising your hardware to achieve the best performance from either our open source or Enterprise software please don’t hesitate to contact us at info@chronicle.software

Peter Lawrey

Peter Lawrey is a Java Champion and Oracle Code One alumnus. Peter likes to inspire developers to improve the craftsmanship of their solutions and his popular blog “Vanilla Java” has had over 4 million views. Peter is the founder and architect of Chronicle Software. He has one of the top number of answers for Java and JVM on StackOverflow.com (~13K).

Subscribe to Our Newsletter

Featured Products

Data Processing

Chronicle Queue Enterprise

Persisted messaging framework that handles massive throughput. Delivers superior control of outliers, and replicates easily across hosts.

Read more >>