Abstract:
Computing systems research is entering an era of diversity. At the same time, systems research still mainly follows the prototype development and benchmark evaluation approach, making the research cost too high to address the diversity challenge. This dilemma calls for new analyzable abstractions of computing systems. When researching a new system, we can use its abstraction to analyze its characteristics to filter out inappropriate candidate systems before costly prototyping and benchmarking. We already have such a concept for computer applications, called algorithm. Before an algorithm’s implementation and benchmark evaluation, we can usually analyze its main properties, such as time complexity and space complexity. In this paper, we summarize seven advantages of the algorithm concept and propose a preliminary counterpart for computing systems, called computation protocol. Learning from six historical lessons from systems research, we discuss a general definition, a black-box representation, and a white-box representation of the computation protocol concept. We use preliminary examples to point out that computation protocol thinking may be helpful to propose computing systems conjecture, analyze new parallel computing model, extend existing systems architecture, and inspire new system evaluation method.