Multi-Constraint multi-processor Resource Allocation