By Glenn Wright
This year kdb+ again set records in real-world financial data analytics benchmarks called STAC-M3. They were performed by the Securities Trading Analysis Center (STAC) on behalf of Google Cloud Platform (GCP) and Intel.
The STAC-M3 benchmark was originally developed in 2010 by several of the world’s largest banks and trading firms. It is designed to measure exactly how much emerging hardware and software innovations improve the performance of tick analytics. After STAC-M3 was developed, kdb+ quickly became the favorite database platform for hardware vendors running the tests because it set performance standards that other software providers simply couldn’t beat.
Google Cloud Platform
This fall, GCP became the first cloud provider to enter the STAC-M3 arena, pitting the performance of market data analytics run on the cloud against on-premises results. These tests were particularly significant for Kx customers, who are focused on performance and the impact of latency in the cloud. GCP was able to demonstrate with these tests that for many applications, performance was almost as good, or better, than on bare metal.
Also, because GCP, working with Intel, chose to run two separate benchmarks using kdb+, one for in-memory RDB’s and one for disk-stored HDB’s, they highlighted kdb+’s unique ability to perform high-speed analytics on very large datasets with real time, streaming and historical data, all in one platform.
The GCP High Memory Instance (RDB) benchmark was run using kdb+3.5. The objective was to see how the STAC-M3 Shasta test-suite performed against a single large-memory instance of GCP. This test, also known as Shasta, uses standard finance market data queries, but based on the data being in-memory. GCP used an Intel Xeon Processor E7-8880 v4, which outperformed in eight of 15 previous bare metal tests using an Intel Broadwell EX.
The GCP Distributed (HDB) benchmark was also run using kdb+ 3.5. The objective here was to see how the STAC-M3 Kanaga test-suite performed in a typical cloud distributed mode. This test, called Kanaga, checks the performance of standard finance queries, but in this case was executed across five years’ worth of market quote/trade data in a 56 terabyte database. Although there were no world records, the results were solid and showed that even when using standard storage from GCP, the results are in the correct range, 1.6x – 12.6x, compared to the performance of an on-premises distributed solution.
STAC-M3 scripts do not lock-in or shard data distribution, so it uses standard kdb+ peach map/reduce in the scripts with a single namespace for the HDB. This gives a sense of what performance you can get from shared persistent disks, shared read-only, e.g. peak read rates of 12.7 GB/sec across the cluster of 13 nodes.
Kx and Intel have been collaborating on benchmarking for over a decade. After the STAC-M3 benchmark was developed, together Intel and Kx steadily improved their benchmarking results year-over-year using a wide variety of equipment. By running the same STAC-audited standard industry tests for over seven years, these results now provide a valuable look-back for the high-frequency trading community to see comparable results on evolving hardware and software.
For example, on one of the tests, which calculates a market snapshot using large historical datasets going back multiple years in multi-terabyte datasets, the latency has decreased by 98% since 2011. This is due to a combination of improvements in kdb+’s performance coupled with innovations in server and storage technology.
The most recent Intel benchmarks featured the latest Optane DC SSDs, which have a completely new way of approaching data storage and access. They make a new memory/storage tier available for handling hot working data that brings the data much closer to the processor to analyze it more quickly and efficiently.
This is a significant gain for Kx customers who compete on the speed of their analytics. Not only did Intel show that with the Optane DC SSD’s there was a measurable improvement in performance for some analytics, they also showed that customers don’t have to re-architect their systems to gain this advantage.
Intel’s STAC-M3 Antuco tests set 11 world records. The Antuco and Kanaga tests use the same queries, but Antuco tests one year of tick data, versus Kanaga, which has at least four years’ of data, with each subsequent year having more data added. The second set of more demanding Kanaga tests, were run on a hardware configuration which also had the additional market data stored on high density Intel 3D-NAND SSD’s. These tests set five world records.
To summarize, all three of these STAC-M3 benchmarks used standard, available technology and required no changes to the database architecture. In the case of the Intel Optane testing, standard SSD Optane drives were placed into standard slots of the underlying Lenovo ThinkSystem SR950. In these tests, kdb+ accelerated the access to the specified hot data residing on these devices. The ability to flexibly designate access to specific hot data is one of the ways kdb+ speeds the performance of the analytics in these tests.
One interesting aspect of the GCP distributed tests was the use of standard GCP persistent disks, which were shared across multiple GCP compute instances. This is actually a powerful feature for our users, as it means they do not have to always consider the partitioning or segmentation of the data at the outset of the project. This allows for more flexibility, as this gives the user the ability to dynamically scale the compute instance load, whilst at the same time being able to access the same data.