1. A hierarchical heap allocator system, comprising: a system-level allocator for monitoring run-time resource usage information for an application having multiple application threads; a process-level allocator for dynamically balancing resources between said multiple application threads based on said run-time resource usage information; and multiple thread-level allocators, wherein each thread-level allocator facilitates resource allocation and resource deallocation for a corresponding application thread.