1. A computer program product comprising a non-transitory machine-readable medium storing instructions that, when executed by at least one programmable processor, cause the at least one programmable processor to perform operations comprising: instantiating, for each of a plurality of processors in a multi-threaded multi-processor computing system, an associated allocator, wherein the allocator is associated with a lock protecting an internal structure of the allocator; selectively allocating and deallocating, by the associated allocator for each processor, memory to threads executing on the processor, wherein a first allocator is not able to allocate requested memory; and unlocking, by the first allocator, its lock and requesting one or more other allocators to execute the requested memory allocation under their respective lock.