Automatic Schedulers through Projective Reparameterization
Explore the challenges in machine learning for systems and learn about automatic schedulers through projective reparameterization. Discover motivating applications like instruction scheduling and efficient schedules. Introduce the EPOCS operator for learning under dynamic constraints and imitate GCC compiler instruction schedules.
- Machine Learning
- Automatic Schedulers
- Projective Reparameterization
- Instruction Scheduling
- Dynamic Constraints
Download Presentation
Please find below an Image/Link to download the presentation.
The content on the website is provided AS IS for your information and personal use only. It may not be sold, licensed, or shared on other websites without obtaining consent from the author. Download presentation by click this link. If you encounter any issues during the download, it is possible that the publisher has removed the file from their server.
E N D
Presentation Transcript
Learning Automatic Schedulers through Projective Reparameterization Ajay Jain SamanAmarasinghe
Challenges in ML for Systems Ajay Jain Learning automatic schedulers through projective reparameterization
Challenges in ML for Systems 1. Discrete search spaces Ajay Jain Learning automatic schedulers through projective reparameterization
Challenges in ML for Systems 1. Discrete search spaces 2. Large, combinatorial search spaces Ajay Jain Learning automatic schedulers through projective reparameterization
Challenges in ML for Systems 1. Discrete search spaces 2. Large, combinatorial search spaces 3. Highly constrained feasible sets Challenging for supervised learning! Ajay Jain Learning automatic schedulers through projective reparameterization
Motivating application: Instruction Scheduling EFFICIENT SCHEDULES FEASIBLE SCHEDULES N! POSSIBLE SCHEDULES Ajay Jain Learning automatic schedulers through projective reparameterization
Motivating application: Instruction Scheduling List scheduling with heuristics Stochastic search & superoptimization Integer linear programming Reinforcement learning Challenging for supervised learning! Baseline: Sinkhorn iteration from ranking literature 16% of schedules are invalid Ajay Jain Learning automatic schedulers through projective reparameterization
This work Introduce EPOCS operator General approach for learning under dynamic constraints Formulate instruction scheduling as relaxed integer program Imitate GCC compiler instruction schedules Ajay Jain Learning automatic schedulers through projective reparameterization
Permutation matrix representation 0 1 2 3 4 1 0 2 3 4 Fixed constraints Input dependent partial order constraints ranking, scheduling, packet switching, matching Ajay Jain Learning automatic schedulers through projective reparameterization
Ajay Jain Learning automatic schedulers through projective reparameterization
Fixed constraints Dynamic constraints EPOCS operator Sinkhorn iteration Fixed constraints Dynamic constraints Ajay Jain Learning automatic schedulers through projective reparameterization
One iteration of EPOCS for scheduling 1) Normalize* 2) Normalize* 3) ReLU 4) Project Ajay Jain Learning automatic schedulers through projective reparameterization
Correct the relaxation with matching (Hungarian algorithm) Ajay Jain Learning automatic schedulers through projective reparameterization
Evaluation Train POCSNet to imitate GCC 4.9.4 schedules 77,202 basic blocks from SPEC2006, SPEC2017 [Mendis et al 2019] Evaluate data dependency violations, accuracy Baseline: Sinkhorn iteration Ajay Jain Learning automatic schedulers through projective reparameterization
+ Dynamic constraints with EPOCS/POPOCS Fixed constraints only 16% of predicted schedules are infeasible Imposing dynamic constraints reduces data dependency violations Ajay Jain Learning automatic schedulers through projective reparameterization
Accuracy of schedules 45% 0.397 40% 0.356 35% Fixed constraints Sinkhorn iteration Dynamic constraints EPOCS/POPOCS 30% 25% 35.6% 39.7% Accuracy 20% 15% Kendall tau distance 0.238 0.222 10% 5% 0% Fixed constraints Sinkhorn iteration Dynamic constraints EPOCS/POPOCS Imposing constraints improves accuracy (+4%) POCSNet schedule latencies are on par with GCC latencies Ajay Jain Learning automatic schedulers through projective reparameterization
mov rdi, rbp mov rsi, rbx add rsp, 0x18 pop rbx pop rbp Shuffled input block add rsp, 0x18 mov rsi, rbx mov rdi, rbp pop rbx pop rbp POCSNet scheduled block Ajay Jain Learning automatic schedulers through projective reparameterization
Takeaways EPOCS: General purpose op for dynamic constraints on NNs One application: Job scheduling problems A step toward correct-by-construction ML for Systems: Enforce known constraints end-to-end for accuracy boost + guarantees Contact: ajayj@berkeley.edu Ajay Jain Learning automatic schedulers through projective reparameterization
movsd xmm3, qword ptr [r13+0xa0] movsd xmm5, qword ptr [rsp+0x20] subsd xmm3, xmm5 divsd xmm3, xmm8 ucomisd xmm2, xmm3 Shuffled input block movsd xmm5, qword ptr [rsp+0x20] movsd xmm3, qword ptr [r13+0xa0] subsd xmm3, xmm5 divsd xmm3, xmm8 ucomisd xmm2, xmm3 POCSNet scheduled block Ajay Jain Learning automatic schedulers through projective reparameterization