Infos
12:00 - 12:50
Room C
Description
This talk shows how Anaplan eliminated stop-the-world pauses of many minutes in 200Gb Java heaps which were caused by garbage collection of humongous objects. Anaplan’s core engine maintains a fully calculated and aggregated model of the customers’ planning data in-memory. It runs in a JVM with a 200Gb heap using the G1 garbage collector.
The engine itself uses large primitive arrays, many in excess of 16Mb in size. These are treated by the G1 collector as what are called “humongous objects” with the characteristic that they are not collected in the normal way and can accumulate, causing stop-the-world pauses of many minutes.
This talk shows how we diagnosed the problem, with demonstration of the techniques, and the approach we took to reduce the incidence of humongous arrays, through paging and pooling, while retaining most of the access performance of native arrays.