TTL expire times for entries are stored in PendingEntriesTree, which is singleton for cache. When expiration occurs, all system threads iterate through the tree in order to remove expired entries. Iterating through single tree causes contention and perfomance loss.
Related performance issue: https://issues.apache.org/jira/browse/IGNITE-5793
We should keep instance of PendingEntriesTree for each partition, like we do for CacheDataTree.