Partitioning and Scheduling Using Graph Decomposition