AscendingPageAllocator is a fast and safe allocator that rounds all allocations to multiples of the system's page size. It reserves a range of virtual addresses (using mmap on Posix and VirtualAlloc on Windows) and allocates memory at consecutive virtual addresses.
SharedAscendingPageAllocator is the threadsafe version of AscendingPageAllocator.