refactor even allocator to support multi-fabrics