AWS Storage Blog
AWS STAC-M3™ benchmark results: Low-latency tick analytics made easy
Analyzing time-series data such as tick-by-tick quotes and trades is crucial to our financial services customers, specifically quantitative analysts, algorithm engineers, risk managers, and others handling various trading functions. From running global ticker plants to algorithm development, to risk management, these functions are critical to day-to-day business operations.
With the increase in trading volume and asset classes, capital markets firms are re-evaluating their current on-premises infrastructure for time-series analysis. They are finding that on-premises infrastructure is posing challenges including providing cost efficient and stable data storage, scalability, and the agility required to quickly deploy compute and networking resources. These challenges are causing a slower time to market due to delayed resources for research, development, and testing environments.
Running time-series databases that scale to support many users and multi-threaded queries with low-latency requires a fair amount of compute power and a fast network. As a result, many customers and system integrators spend a lot of time, money, and effort building out and managing a complex network computing environment to handle these workloads.
Amazon Web Services (AWS) solves many of the preceding challenges by allowing customers to run low-latency tick analytics using Amazon Elastic Compute Cloud (Amazon EC2) and Amazon Elastic Block Store (Amazon EBS). Proof of performance is in the results of our recently audited STAC-M3™ solution running KX’s kdb+ 4.0 on AWS Cloud ¹(SUT ID KDB220410).
What is STAC™?
Before diving into our STAC-M3™ benchmark details and the tested AWS stack, it is important to explain what STAC™ is, and its significance to the broader financial services community. STAC™ (Securities Technology Analysis Center) coordinates the STAC™ Benchmark Council and improves technology discovery and assessment in the finance industry through dialog and research.
The STAC™ Benchmark Council consists of over 400 financial institutions and more than 50 vendor organizations whose purpose is to conduct discussions on important technical challenges and solutions in financial services. The STAC™ Benchmark Council also develops technology benchmark standards that are useful and relevant to financial organizations.
User firms include the largest global banks, brokerage houses, exchanges, asset managers, hedge funds, proprietary trading shops, and other market participants. Vendor firms include innovative providers of hardware, software, and cloud services.
The user firms in the Council drive STAC™ standardized benchmarks that are representative of their financial workloads, while STAC™ ensures the validity of benchmark results by conducting rigorous audits. STAC Benchmarks™ for capital markets cover key workloads in which financial institutions turn historical and real-time information into action and knowledge. These workloads vary in their intensity of computation, storage I/O, and network I/O. The benchmark suites are categorized primarily as market data (STAC-M™), analytics (STAC-A™), machine learning (STAC-ML™), execution (STAC-E™), “tick-to-trade” (STAC-T™), and time sync (STAC-TS™).
Why a STAC-M3™ benchmark?
We are seeing growing interest from our customers wanting to ingest and analyze market data in the cloud, so we opted to have STAC™ audit our STAC-M3™ solution to provide them with performance data.
Our STAC-M3™ results show that using the combination of Amazon EC2 X2iedn.32xlarge instances with Amazon managed EBS io2 Block Express deliver excellent performance, even when compared to machines with local NVMe drives, SAN attached arrays, traditional NAS solutions, and systems using commercial high-performance file-systems.
Our STAC-M3™ audit was done on AWS cloud using Amazon Linux 2 with practically default settings, software packages, and running services on Amazon EC2 instances with Amazon EBS when running kdb+ v4.0, the time-series database from KX.
Note that this is the first STAC-M3™ benchmark done by AWS. A common practice with this benchmark is to extensively tune the operating system to get the best benchmark results possible, we intentionally did not do that to prove that our customers can achieve the same results directly from our service. In fact, our only change to the default operating system was limiting CPU sleep states.
Amazon STAC-M3™ results show:
- That a latency-sensitive mixed workload can be effectively run on AWS Cloud using our native services with limited tuning needed.
- The tested AWS stack is particularly well suited to workloads that require a shared data set presented to kdb+ clients in a distributed configuration.
- The tested AWS stack provides fast response times for both single threaded and multi-threaded database queries.
- The tested AWS stack outperformed all publicly disclosed STAC-M3™ results in the 10-user volume curve mean response time benchmark (STAC-M3.β1.10T.VOLCURV.TIME).
STAC-M3 and AWS Audit Results
The STAC-M3™ tick analytics benchmark suite measures performance for integrated solutions that enable high-speed financial analytics on time series data, such as tick-by-tick market data, also known as tick databases. The benchmark captures the performance profile of an end-to-end solution including compute resources, networking, storage, and database software. STAC-M3™ results provide an easy way to articulate advancements in software, hardware, and cloud solutions that benefit financial organizations.
The STAC-M3™ baseline benchmark suite is code named “Antuco”. Antuco tests a wide range of compute-bound and storage-bound operations, and is the benchmark suite used for our AWS STAC-M3™ audit. In total, there are 17 mean response time benchmarks in the Antuco suite, and one of the key metrics of each is mean response time.
The stack under test (SUT) was KX’s kdb+ 4.0 DBMS configured to run in distributed mode on (8) Amazon EC2 x2iedn.32xlarge instances each with a single 100 Gbps Amazon Elastic Network Interface.
The STAC-M3™ Antuco database was distributed over (4) 4000 GiB Amazon EBS io2 Block Express multi-attach volumes, with a separate EBS volume used for write tests. Each EBS volume is provisioned for 256K IOPS.
EC2 X2iedn.32xlarge instances provide 128 vCPUs and 4,096 GiB of memory, enabling customers to consolidate workloads on fewer instances and save on licensing costs.
The following diagram depicts the AWS SUT for our STAC-M3 audit.
This AWS SUT uses our cloud native, managed Amazon EBS Provisioned IOPS Volumes (io2 Block Express) service to store the Antuco tick data. The storage efficiency per the STAC-M3™ audit is 149% (STAC-M3.v1.1.STORAGE.EFF). This is calculated using the reference size of the database divided by the size of the data set as stored by the SUT, the less storage space required, the higher the percentage.
For compute, the AWS SUT leverage EC2 X2iedn.32xlarge Amazon EC2 instances. Amazon EC2 X2i instances offer up to 50% better performance than EC2 X1 instances, EC2 X2i instances are built on the AWS Nitro System. The AWS Nitro System is a combination of dedicated hardware and lightweight hypervisor that delivers practically all of the compute and memory resources of the host hardware to your compute instances for better overall performance and security. EC2 X2iedn instances support up to 100Gbps of network throughput and 80 Gbps throughput to Amazon EBS io2 Block Express volumes, which is more than four times the EBS throughput of comparable EC2 X1 instances.
This AWS SUT outperformed all publicly disclosed results in the 10-user volume curve mean response time benchmark (STAC-M3.β1.10T.VOLCURV.TIME):
From the STAC Report (Reprinted with permission)
The AWS landing page on the STAC™ website is accessible at this link.
To see our complete STAC-M3™ report, please visit this link at STAC.
Closing comments
Multiple forces are converging to drive cloud adoption in capital markets. These factors include; increasing data volumes, on-going competition from robo-advisors and no-fee trading platforms, expanding reporting obligations, and the need to be more agile to research, test, and respond to market changes faster. This is putting a strain on many financial services and investment management organizations. AWS is fundamentally changing how these organizations address these challenges while also enabling them to innovate, transform and migrate critical business functions to the cloud.
The AWS Cloud is widely used across the globe by numerous companies. For example, FactSet is moving their global ticker plant to AWS, Capital One closed all their data centers and runs completely on AWS. We are partnering with Nasdaq to transform capital markets. The AWS Crypto.com case study reveals powerful alternatives to traditional financial services.
AWS supports any financial analysis workload with a current global foot print of 26 regions, 84 availability zones, 310 points of presence, 200+ services and thousands of APN partners and AWS Marketplace solutions. This new STAC-M3™ results is an insightful proof point of how AWS delivers performance for the most demanding business applications. It is clear from the STAC-M3™ results that using a combination of Amazon EBS io2 Block Express volumes with Amazon EC2 X2iedn instance types provide low-latency performance for kdb+ workloads.
We would like to thank STAC™ for their support and professionalism in conducting our STAC-M3™ audit and KX for the use of their time series database kdb+. If you are interested in trying out KX Insights, the new cloud native software from KX, you can get it from AWS Marketplace.
For more information on AWS cloud services for Financial Service, please visit the AWS Financial Services web page.
“STAC™” and all STAC™ names are trademarks or registered trademarks of the Securities Technology Analysis Center, LLC.
¹SUT ID: KDB220410, benchmark: STAC-M3.β1.10T.VOLCURV.TIME