The pressure is on [computer systems research]

That computing and communication systems are becoming increasingly interdependent is evident in almost every aspect of society. Applications of these integrated systems are also spreading. As this trend continues, it will force the computing community not only to develop revolutionary systems but also to redefine "computer system" and the roles of traditional research disciplines, such as operating systems, architectures, compilers, languages, and networking. Systems research faces an unprecedented challenge. Systems developers are facing a major discontinuity in the scale and nature of both applications and execution environments. Applications are changing from transforming data to directly interacting with humans; they will use hardware and data that span wide area, even global, networks of resources and involve interactions among users as well. Even the architecture of individual processors is uncertain. The authors look at three challenges facing systems research, describe developing solutions, and review remaining obstacles. Using this information, they formulate three clear first steps to addressing the identified challenges: (a) define a new paradigm for systems research; (b) attack problems common to all system development; (c) build a research infrastructure.