AWS for Industries
How DeviceAtlas optimized Real-Time Advertising Price/Performance on AWS Graviton3
This post is co-written with Isabel Hughes, Senior Content Specialist, at DeviceAtlas and Ronan Cremin, Chief Technology Officer at DeviceAtlas
Around the Web in 100 milliseconds
In the time it takes to load a web page, several programmatic auctions have already started, ended, and served the winning ad impressions. Real-time bidding (RTB) is a unique process that occurs in less than one second—100 milliseconds, to be precise, according to requirements from the Interactive Advertising Bureau (IAB).
For ad impressions to be bought, sold, and served in such a short timeframe, speed is critical for any service provider in this space, whether it’s a Demand-Side Platform (DSP), Sell-Side Platform (SSP), Ad Server, and more. However, one of the biggest challenges for AdTech companies is maintaining volume and performance requirements while managing Amazon Web Services (AWS) spend. The volume of bid requests transacted in any given day can run into the hundreds of billions, necessitating a robust and reliable solution to process such vast amounts of data.
In this post, we will discuss how DeviceAtlas running on AWS Graviton3 improves the performance of advertising device detection intelligence by 200%, 55% less expensive.
The need for device intelligence
Device detection is a critical component of programmatic advertising on both the supply and demand side. Knowledge of end-user device types and capabilities unlocks granular targeting opportunities to help increase ad-fill rates and enrich bid requests. Detection speed is also critical, where capturing user attention and delivering relevant content in real-time is essential for effective campaigns and better return on investment.
DeviceAtlas, a market-leading device detection and device intelligence solutions provider, is used throughout the RTB chain from the demand side to the supply side and in every entity in between. Publishers, SSPs, DSPs, and ad servers use DeviceAtlas to accurately identify the devices accessing their content and applications. This allows:
- Customized content delivery
- Targeted advertising
- Personalized user experiences based on specific device characteristics such as:
- Primary hardware type
- Screen size
- Operating system
- Browser
- And more
DeviceAtlas is widely used by companies across various industries such as ecommerce, analytics, content management, and particularly AdTech, underpinning an estimated five trillion ads every month.
Following is a diagram (fig. 1) outlining the programmatic auction process. While DeviceAtlas is typically used in many steps of this process, its impact occurs in microseconds.
Fig. 1 – Open RTB programmatic auction process
Managing speed and volume while maintaining costs
As a general rule in computing, one can decrease the time taken for a given process by adding more hardware, but adding more hardware inevitably incurs costs. In programmatic advertising, where hundreds of billions of daily requests are routine, controlling hardware costs becomes a central concern. AdTech companies need a cost-effective means to process vast numbers of requests in real-time or lose out on business.
DeviceAtlas + AWS Graviton = Synergy
A significant number of DeviceAtlas users run their businesses on AWS. Given this, we have worked with Amazon on optimizing DeviceAtlas to fully utilize the performance advantage of the latest AWS Graviton processor family. AWS Graviton processors deliver the best price performance for your cloud workloads running in Amazon Elastic Compute Cloud (Amazon EC2)—presenting a natural focus for DeviceAtlas optimization.
The following table summarizes the performance gains that can be achieved by running DeviceAtlas on the latest AWS Graviton3 processors compared with Intel hardware.
Fig 2 – Comparison of AWS Graviton3 processors with comparable Intel hardware graph
Fig 3 – Comparison of AWS Graviton3 processors with comparable Intel hardware table
As can be seen from the previous table, DeviceAtlas runs almost twice as fast on AWS Graviton3 compared with X86 architectures. But this figure understates the benefits—at the time of testing (Q1 2023), the AWS On-Demand hourly rates in US East (N. Virginia) were as follows:
Fig 4 – AWS On-Demand hourly rates in US East (N. Virginia) at the time of testing
Given the lower price of AWS Graviton compared with comparable X86 architectures, this ultimately means that by moving DeviceAtlas workloads to AWS Graviton hardware, we can run device detection 2.3 times more cost-effectively. Or, to put it another way, the same AWS spend offers 2.0 times more processing power for device intelligence workloads.
Fig 5 – DigitalAtlas lookups per $ by architecture
Another interesting point is that loads scaled more linearly, with additional threads (cores), on AWS Graviton than on X86:
Fig 6 – DeviceAtlas CPU scaling factor by architecture
Fig 7 – DeviceAtlas threading CPU scaling factor by architecture
Test methodology
These tests were performed using six million HTTP requests taken from real traffic sources including full User-Agent Client Hint headers where available. This set of web traffic represents a typical traffic profile for a website, with a mix of desktop, mobile and various other device types. The load was repeatedly run through DeviceAtlas for about an hour.
In all cases gcc/g++ 10.2.1 was utilized to compile the released version of the DeviceAtlas C API, v 3.1.7.
DeviceAtlas was configured to return all 220 properties available to customers.
A memory cache of 10,000 items was utilized.
Tests were repeated several times to ensure a consistent result was obtained.
Porting DeviceAtlas to AWS Graviton
The DeviceAtlas C API is shipped in source code format to facilitate integration options for customers. DeviceAtlas uses a portable dialect of C enabling customers to compile the code into other applications on their hardware platform and several operating systems. As it happens, the DeviceAtlas API compiled without issue on AWS Graviton, requiring no alterations whatsoever. After our initial success, we reviewed the Porting Guide for Getting Started with AWS Graviton to review the use of available best practices. With AWS Graviton3 in particular, the high-performance DDR5 memory can influence strategies around caching.
Tools for Porting to AWS Graviton
Porting code from x86-64 processor to arm64 may require an initial time investment. To further simplify this migration, AWS recently introduced Porting Advisor for AWS Graviton. Porting Advisor for AWS Graviton is an open-source, command-line tool that analyzes source code and generates a report highlighting areas that may require modification to execute a successful port. It helps customers and developers accelerate their transition to AWS Graviton-based Amazon EC2 instances by reducing the iterative process of identifying and resolving source code and library dependencies.
In addition to AWS Graviton’s price and performance benefits, AWS Graviton-based Amazon EC2 instances provide the best EC2 performance/watt, reducing a customer’s carbon footprint. Furthermore, AWS Graviton-based instances use up to 60% less energy for the same performance than comparable EC2 instances.
To better understand the savings of running your applications on AWS Graviton, please visit the AWS Pricing Calculator. The AWS Pricing Calculator allows you to build thorough cost estimations to fit your specific workload requirements. In addition, if you want to try out an AWS Graviton-based EC2 instance, you can do so by leveraging a free trial of an Amazon EC2 t4g.small instance.
Conclusion
In programmatic advertising, where speed and volume are critical, the right software and hardware are needed to ensure that processes run quickly and cost-effectively. The combination of AWS Graviton processors and DeviceAtlas offers a perfect synergy for AdTech companies to deliver the performance demanded by real-time bidding as cost-effectively as possible.
As the device recognition landscape becomes more complex with the advent of user-agent client hints and tightening privacy regulations, DeviceAtlas continues to deliver consistent, reliable device intelligence.
DeviceAtlas delivers performance high enough for any business–even in the AdTech space where the need to process billions of transactions per day is standard practice–while AWS Graviton maximizes processing capabilities in the most cost-effective way.