40 likes | 129 Views
ALPS: Software Framework for Scheduling Parallel Computations with Application to Parallel Space-Time Adaptive Processing Kyusoon Lee and Adam W. Bojanczyk Cornell University Ithaca, NY, 14850 {KL224,AWB8}@cornell.edu. High Performance Embedded Computing (HPEC) Workshop 18 – 20 September 2007.
E N D
ALPS: Software Framework for Scheduling Parallel Computationswith Application to Parallel Space-Time Adaptive ProcessingKyusoon Lee and Adam W. BojanczykCornell UniversityIthaca, NY, 14850{KL224,AWB8}@cornell.edu High Performance Embedded Computing (HPEC) Workshop18 – 20 September 2007
ALPS Software Framework /* This is a .cpp file of the partially adaptive STAP methods that the user had in mind. This is optimized for minimum latency or maximum throughput on a given parallel machine. */ #include <alps.h> ... ALPS CodeGen User’s idea on Parallel Computations (e.g. STAP) ALPS Library Various STAP heuristics constructed from ALPS building blocks ALPS Scheduler Find optimal configuration that minimizes overall makespan or maximizes throughput Task Graph ALPS Benchmarker & Modeler Modeling execution times of basic building blocks under various configurations
0.7 0.6 0.5 0.4 0.3 0.2 0.1 0 0.7 0 0.1 0.2 0.3 0.4 0.5 0.6 Building execution time models using incremental weighted least-squares Difficulties Measurements are not quite reliable Number of variables in the model is large 26.6% error from ordinary least-square 10% better 20% better Relative errors from weighted least-square 30% better 40% better 7.5% error from INV-weighted least-square Relative errors from ordinary least-square
Makespan (sec) Throughput (1/sec) estimated achieved estimated 30 0.1 achieved 20 0.05 10 0 0 Our scheduling algorithm Our scheduling algorithm Data- parallelism only Task- parallelism preferred Data- parallelism only Task- parallelism preferred Scheduling tree-shaped task graphs on parallel computers exploiting mixed-parallelism Difficulties Communication cost not negligible Arbitrary computation costs Trade-off between task-parallelism and data-parallelism