Exploiting UniProcessor Schedulabilty Analysis for Partitioned Task Allocation on Multi-Processors with Precedence Constraints