Reena Elangovan, Shubham Jain, et al.
ACM TODAES
Designing and implementing system software so that it scales well on shared-memory multiprocessors (SMMPs) has proven to be surprisingly challenging. To improve scalability, most designers to date have focused on concurrency by iteratively eliminating the need for locks and reducing lock contention. However, our experience indicates that locality is just as, if not more, important and that focusing on locality ultimately leads to a more scalable system. In this paper, we describe a methodology and a framework for constructing system software structured for locality, exploiting techniques similar to those used in distributed systems. Specifically, we found two techniques to be effective in improving scalability of SMMP operating systems: (i) an object-oriented structure that minimizes sharing by providing a natural mapping from independent requests to independent code paths and data structures, and (ii) the selective partitioning, distribution, and replication of object implementations in order to improve locality. We describe concrete examples of distributed objects and our experience implementing them. We demonstrate that the distributed implementations improve the scalability of operating-system- intensive parallel workloads. © 2007 ACM.
Reena Elangovan, Shubham Jain, et al.
ACM TODAES
Rolf Clauberg
IBM J. Res. Dev
Yigal Hoffner, Simon Field, et al.
EDOC 2004
Corneliu Constantinescu
SPIE Optical Engineering + Applications 2009