Memory allocation algorithm (including partner system)