non blocking memory allocation api