Whenever I see buzz around “ML for Computer Systems” my first question is always “how debuggable is this?”
A major benefit of the sophisticated heuristics and algorithms that power modern systems is the legion of experts who deeply understand how they work. When we see poor performance, a bit of digging and asking around will usually unearth some principled reasoning about how we can modify our programs to work well with the existing heuristics (think branch prediction).
Unless we are careful, we lose this with an ML-based approach