BIGMEMORY: PERFORMANCE RESULTS ON TWO TERABYTES OF RAM TABLE OF CONTENTS 2Methodology 2 Hardware details 2 Software details 2Configurations 2 Performance measurement 3 Data set size At the intersection of plummeting RAM prices and exploding data sets lies an opportunity for businesses to change what is possible to do with their data––whether that’s multiplying the throughput of existing applications or bringing new real-time data services online. Unfortunately, traditional Java® applications are unable to take full advantage of the terabytes of local memory available to them today. 4 Data element size 4 Read-write ratio 4Conclusion BigMemory is a solution that stores big amounts of data in machine memory for ultra-fast access. It snaps into enterprise applications to deliver high-speed performance at any scale. As data sets grow, traditional Java applications get bogged down in Java Garbage Collection (GC), database latencies and complex scale-out schemes. BigMemory, however, uses existing machine RAM outside of the garbage collector’s reach. Plugging in BigMemory boosts performance, offloads databases and simplifies scalability. A major hallmark of an effective in-memory data management system is its ability to maintain performance while handling ever-larger data sets and a range of access rates and data element sizes. Terracotta partnered with HP Labs to test BigMemory’s ability to fully utilize the terabytes of RAM available on HP® servers. To validate BigMemory’s performance under these different conditions, we tested its throughput and latency under three test scenarios: 1. Scaling up. Testing performance across a range of in-memory data set sizes from gigabytes to terabytes. 2. Varying data characteristics. Testing performance across a range of sizes and number of data elements. 3. Varying data access patterns. Testing performance while changing the ratio of read and write operations. WHITE PAPER BigMemory: Performance Results on Two Terabytes of RAM Methodology All tests were performed by the Terracotta performance engineering team on hardware provided by HP Labs. The test code is available via a public subversion repository here: https://svn.terracotta.org/repo/forge/offHeap-test/branches/3.7.x/. Access to the public repository requires a Terracotta community account available at: www.terracotta.org. Each test used a simple multi-threaded Java application that programmatically initialized four BigMemory in-memory data stores. Each test run was conducted in a single Java Virtual Machine (JVM®) and consisted of two phases: a “warm-up”phase and a “testing” phase. During the warm-up phase, data elements in the form of byte arrays were loaded into memory. Each data element was 4KB unless otherwise noted. Tests were run on total data set sizes ranging from 2GB to 1.8TB. After the warm-up phase completed, the test phase ran for 15 minutes. During the test phase, the application ran both read and write operations, accessing data elements at random. Unless otherwise noted, the number of elements remained constant during the test phase. Heap size for the JVM was set to 1.6GB, with 10MB of heap allocated for data storage directly on the JVM heap. Each test run also allocated 1.9TB of off-heap in-memory storage. All other parameters had default values. Hardware details The test suite ran on a Hewlett Packard DL980 G7 server with the following specifications: • 8P/80C 2.4GHz (Intel® Xeon® E7-4870) • 2TB RAM • 8 x 300GB 15K SAS disks Software details • BigMemory Go version 3.7 • Java™ SE Runtime Environment (build 1.6.0_32-b05) • Java HotSpot™ 64-Bit Server VM (build 20.7-b02, mixed mode) Configurations APPLICATION BigMemory 1.9 TB <ehcache name=”cacheManagerName_0” maxBytesLocalHeap=”10m” maxBytesLocalOffHeap=”960g”> <cache name=”mgr_0_cache_0” overflowToOffHeap=”true”/> <cache name=”mgr_0_cache_1” overflowToOffHeap=”true”/> </ehcache> <ehcache name=”cacheManagerName_1” maxBytesLocalHeap=”10m” maxBytesLocalOffHeap=”960g”> <cache name=”mgr_1_cache_0” overflowToOffHeap=”true”/> <cache name=”mgr_1_cache_1” overflowToOffHeap=”true”/> </ehcache> Performance measurement HP DL980 G7 – Xeon E7 – 4870 8 x 10 cores 2.4Ghz 2 TB RAM Performance testing covered three dimensions: • Data set size • Data element size • Read-write ratio 2 BigMemory: Performance Results on Two Terabytes of RAM Data set size Scaling data sets This test measured throughput and latency while scaling a data set from two gigabytes to 1.8TB. Figures 1 and 2 show the throughput while warming the data store (Figure 1) and the throughput for steady-state data access operations with a read-write ratio of 9:1 (Figure 2). Throughput remained consistently high, essentially independent of the size of the data set. During the warm-up phase, latency remained within a range of 0.10–0.12 milliseconds with no large garbage collection pauses. Similarly, during the test phase, latency remained within a range of 0.13–0.15 milliseconds. z Figure 1: Scaling Data Sets, Warm-Up Phase Figure 2: Scaling Data Sets, Test Phase Figure 3: Data Characteristics 3 BigMemory: Performance Results on Two Terabytes of RAM Data element size Throughput for different data characteristics If data characteristics such as element size can be controlled, it is useful to find its optimal value for maximizing performance. This test measured throughput as a function of element size. Since the data set size remained constant, the number of elements varied in step with the changes to element size. The results (Figure 3) show that performance peaked or plateaued at an element size of about 100KB. Throughput was calculated by multiplying the transaction rate by element size. Read-write ratio Writing a lot…fast Some applications must frequently create or update data. Periodic bursts of write-heavy data operations have the potential to degrade performance for a number of reasons, but an in-memory data management system should still be able to sustain high performance. This test measured throughput as a function of the percentage of writes out of the total amount of read and write operations, starting with a read-only case and progressively doubling the percentage of writes. Figure 2 shows throughput values as the write percentage increased, maintaining nearly 80 percent of the performance of the read-only case when writes reached a full 64 percent of all operations. For all cases, latency remained at approximately 120 microseconds. Figure 4: Write Percentage, Test Phase Conclusion Data sizes for most enterprises are exploding at the same time that terabytes of RAM are now available on servers like those in Hewlett-Packard’s ProLiant series. While traditional Java applications struggle to handle that data in memory, BigMemory snaps into enterprise applications to deliver consistent performance at any scale with no special tuning required. Across a range of data set sizes from a few gigabytes to nearly two terabytes in memory on a single JVM, we saw throughput remain within a range of approximately 10 percent of the mean with no garbage-collection induced latency spikes. We also saw high performance across a range of data element sizes. For all data element sizes tested––from one kilobyte to one megabyte––we saw throughput greater than 100MB per second. In some cases, we saw throughput greater than 2.5GB per second. In all tests, BigMemory maintained an average latency of 120 microseconds, with no garbagecollection induced spikes. Lastly, we saw BigMemory perform well under both read-heavy and write-heavy conditions. In the readonly case, we saw throughput greater than 180,000 transactions per second. In the write-mostly case, where write operations were greater than half of the total, we saw throughput at nearly 80 percent that of the read-only case. ABOUT SOFTWARE AG Software AG offers the world’s first Digital Business Platform. Recognized as a leader by the industry’s top analyst firms, Software AG helps you combine existing systems on premises and in the cloud into a single platform to optimize your business and delight your customers. With Software AG, you can rapidly build and deploy digital business applications to exploit real-time market opportunities. Get maximum value from big data, make better decisions with streaming analytics, achieve more with the Internet of Things, and respond faster to shifting regulations and threats with intelligent governance, risk and compliance. The world’s top brands trust Software AG to help them rapidly innovate, differentiate and win in the digital world. Learn more at www.SoftwareAG.com. © 2015 Software AG. All rights reserved. Software AG and all Software AG products are either trademarks or registered trademarks of Software AG. Other product and company names mentioned herein may be the trademarks of their respective owners. SAG_BigMemory_Performance_Results_WP_Dec15
© Copyright 2026 Paperzz