The single resource allocation problem: parallel algorithms on distributed systems