Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                
skip to main content
article

Experience distributing objects in an SMMP OS

Published: 01 August 2007 Publication History

Abstract

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.

References

[1]
Agha, G. 1990. Concurrent object-oriented programming. Comm. ACM 33, 9, 125--141.
[2]
Anderson, J. M., Berc, L. M., Dean, J., Ghemawat, S., Henzinger, M. R., Leung, S.-T. A., Sites, R. L., Vandervoorde, M. T., Waldspurger, C. A., and Weihl, W. E. 1997. Continuous profiling: Where have all the cycles gone? In Proceedings of the 16th Symposium on Operating Systems Principles (SOSP-16). ACM Press, 1--14.
[3]
Appavoo, J. 1998. Clustered Objects: Initial design, implementation and evaluation. M.S. thesis, Department of Computing Science, University of Toronto, Toronto, Canada.
[4]
Appavoo, J. 2005. Clustered objects. Ph.D. thesis, University of Toronto, Toronto, Canada.
[5]
Appavoo, J., Auslander, M., Edelsohn, D., Silva, D. D., Krieger, O., Ostrowski, M., Rosenburg, B., Wisniewski, R. W., and Xenidis, J. 2003. Providing a linux API on the scalable K42 kernel. In Freenix. San Antonio, TX.
[6]
Appavoo, J., Hui, K., Stumm, M., Wisniewski, R. W., da Silva, D., Krieger, O., and Soules, C. A. N. 2002. An infrastructure for multiprocessor run-time adaptation. In Proceedings of the 1st ACM SIGSOFT Workshop on Self-Healing Systems (WOSS'02). ACM Press, 3--8.
[7]
Bal, H. E., Kaashoek, M. F., and Tanenbaum, A. S. 1989. A distributed implementation of the shared data-object model. In Proceedings of the 1st USENIX/SERC Workshop on Experiences with Building Distributed and Multiprocessor Systems. E. Spafford, Ed. Ft. Lauderdale FL, 1--19.
[8]
Barak, A. and Kornatzky, Y. 1987. Design principles of operating systems for large scale multicomputers. Tech. rep., IBM Research Division, T.J. Watson Research Center, Yorktown Heights, NY.
[9]
Barak, A. and La'adan, O. 1998. The MOSIX multicomputer operating system for high performance cluster computing. Future Generat. Comput. Syst. 13, 4--5, 361--372.
[10]
Barak, A. and Wheeler, R. 1989. MOSIX: An integrated multiprocessor UNIX. In Proceedings of the Winter 1989 USENIX Conference: San Diego, CA. USENIX, Berkeley, CA. 101--112.
[11]
Baumann, A., Appavoo, J., Silva, D. D., Kerr, J., Krieger, O., and Wisniewski, R. W. 2005. Providing dynamic update in an operating system. In USENIX Technical Conference. Anaheim, CA, 279--291.
[12]
BBN Advanced Computers, Inc. 1988. Overview of the Butterfly GP1000. BBN Advanced Computers, Inc.
[13]
Beck, B. and Kasten, B. 1985. VLSI assist in building a multiprocessor UNIX system. In Proceedings of the USENIX Summer Conference. Portland, OR. USENIX, 255--275.
[14]
Bershad, B. N., Lazowska, E. D., Levy, H. M., and Wagner, D. B. 1988. An open environment for building parallel programming systems. In Proceedings of the ACM/SIGPLAN Conference on Parallel Programming: Experience with Applications, Languages and Systems. ACM Press, 1--9.
[15]
Black, D. L., Tevanian, Jr., A., Golub, D. B., and Young, M. W. 1991. Locking and reference counting in the Mach kernel. In Proceedings of the International Conference on Parallel Processing. Vol. II, Software. CRC Press, Boca Raton, FL, II--167--II--173.
[16]
Brun-Cottan, G. and Makpangou, M. 1995. Adaptable replicated objects in distributed environments. Tech. rep. BROADCAST TR No.100, ESPRIT Basic Research Project BROADCAST.
[17]
Bryant, R., Chang, H.-Y., and Rosenburg, B. 1991. Operating system support for parallel programming on RP3. IBM J. Res. Devel. 35, 5/6 (Sept.), 617--634.
[18]
Bryant, R., Hawkes, J., and Steiner, J. 2004. Scaling linux to the extreme: from 64 to 512 processors. Ottawa Linux Symposium. Linux Symposium.
[19]
Bugnion, E., Devine, S., and Rosenblum, M. 1997. Disco: Running commodity operating systems on scalable multiprocessors. In Proceedings of the 16th Symposium on Operating Systems Principles (SOSP-16). ACM Press, 143--156.
[20]
Campbell, M., Barton, R., Browning, J., Cervenka, D., Curry, B., Davis, T., Edmonds, T., Holt, R., Slice, J., Smith, T., and Wescott, R. 1991. The parallelization of UNIX system V release 4.0. In USENIX Conference Proceedings. USENIX, Dallas, TX, 307--324.
[21]
Campbell, R. H., Islam, N., Raila, D., and Madany, P. 1993. Designing and implementing Choices: An object-oriented system in C++. Comm. ACM 36, 9 (Sept.), 117--126.
[22]
Cates, J. 2003. Robust and efficient data management for a distributed hash table. M.S. thesis, Department of Electrical Engineering and Computer Science, Massachusetts Institute of Technology.
[23]
Chapin, J., Herrod, S. A., Rosenblum, M., and Gupta, A. 1995. Memory system performance of UNIX on CC-NUMA multiprocessors. In Proceedings of the ACM SIGMETRICS Joint International Conference on Measurement and Modeling of Computer Systems (SIGMETRICS'95/PERFORMANCE'95). 1--13.
[24]
Chapin, J., Rosenblum, M., Devine, S., Lahiri, T., Teodosiu, D., and Gupta, A. 1995. Hive: Fault containment for shared-memory multiprocessors. In Proceedings of the 15th ACM Symposium on Operating Systems Principles (SOSP-15). ACM Press, 12--25.
[25]
Chaves, Jr., E. M., Das, P. C., Leblanc, T. J., Marsh, B. D., and Scott, M. L. 1993. Kernel-kernel communication in a shared-memory multiprocessor. Concurrency: Pract. Exper. 5, 3 (May), 171--191.
[26]
Cheriton, D. R., Goosen, H. A., and Boyle, P. D. 1991. Paradigm: A highly scalable shared-memory multicomputer architecture. IEEE Comput. 24, 2 (Feb.), 33--46.
[27]
Chen, J. B. and Bershad, B. N. 1993. The impact of operating system structure on memory system performance. In Proceedings of the 14th ACM Symposium on Operating Systems Principles (SOSP-14). ACM Press, 120--133.
[28]
Cheriton, D. R. and Duda, K. J. 1994. A Caching model of operating system kernel functionality. In Operating Systems Design and Implementation. 179--193.
[29]
Cheriton, D. R. and Zwaenepoel, W. 1983. The distributed V kernel and its performance for diskless workstations. In Proceedings of the 9th ACM Symposium on Operating Systems Principles (SOSP-9). ACM Press, 129--140.
[30]
Chien, A. A. and Dally, W. J. 1990. Concurrent Aggregates (CA). In Proceedings of the ACM SIGPLAN Symposium on Principles and Practice of Parallel Programming (PPOPP'90), ACM SIGPLAN Notices. 187--196.
[31]
Clèmençon, C., Mukherjee, B., and Schwan, K. 1996. Distributed shared abstractions (DSA) on multiprocessors. IEEE Trans. Softw. Engin. 22, 2 (Feb.) 132--152.
[32]
Clèmençon, C., Mukherjee, B., and Schwan, K. 1993. Distributed shared Abstractions (DSA) on Large-scale multiprocessors. In Proceedings of the Symposium on Experience with Distributed and Multiprocessor Systems. USENIX, San Diego, CA, 227--246.
[33]
Cohen, E. and Jefferson, D. 1975. Protection in the Hydra operating system. In Proceedings of the 5th ACM Symposium on Operating Systems Principles (SOSP-5). ACM Press, 141--160.
[34]
Dabek, F., Brunskill, E., Kaashoek, M. F., Karger, D., Morris, R., Stoica, I., and Balakrishnan, H. 2001. Building peer-to-peer systems with Chord, a distributed lookup service. In Proceedings of the 8th Workshop on Hot Topics in Operating Systems (HotOS-VIII). IEEE Computer Society.
[35]
Dasgupta, P., LeBlanc, Jr., R. J., Ahamad, M., and Ramachandran, U. 1991. The clouds distributed operating system. IEEE Comput. 24, 11 (Nov.), 34--44.
[36]
Denham, J. M., Long, P., and Woodward, J. A. 1994. DEC OSF/1 version 3.0 symmetric multiprocessing implementation. Digital Tech. J. Digital Equip. Corpo. 6, 3 (Summer), 29--43.
[37]
Devarakonda, M. and Mukherjee, A. 1991. Issues in implementation of cache-affinity scheduling. In Proceedings of the Usenix Winter Technical Conference. USENIX, Berkeley, CA, 345--358.
[38]
Ellis, C. S. 1983. Extensible hashing for concurrent operations and distributed data. In Proceedings of the 2nd ACM SIGACT-SIGMOD Symposium on Principles of Database Systems. ACM Press, 106--116.
[39]
Ewens, P., Blythe, D. R., Funkenhauser, M., and Holt, R. C. 1985. Tunis: A distributed multiprocessor operating system. In Summer conference proceedings. Portland, OR. USENIX, Berkeley, CA, 247--254.
[40]
Frank, S., Rothnie, J., and Burkhardt, H. 1993. The KSR1: Bridging the gap between shared memory and MPPs. In IEEE Compcon Digest of Papers. 285--294.
[41]
Gamma, E., Helm, R., and Johnson, R. 1995. Design Patterns. Elements of Reusable Object-Oriented Software. Addison-Wesley Professional Computing Series. Addison-Wesley.
[42]
Gamsa, B. 1999. Tornado: Maximizing locality and concurrency in a shared-memory multiprocessor operating system. Ph.D. thesis, University of Toronto, Toronto, Canada.
[43]
Gamsa, B., Krieger, O., Appavoo, J., and Stumm, M. 1999. Tornado: maximizing locality and concurrency in a shared memory multiprocessor operating system. In Symposium on Operating Systems Design and Implementation. 87--100.
[44]
Gao, H., Groote, J. F., and Hesselink, W. H. 2005. Lock-free dynamic hash tables with open addressing. Distrib. Comput. 18, 1 (July), 27--42.
[45]
Garg, A. 1990. Parallel STREAMS: A multiprocessor implementation. In Proceedings of the Winter USENIX Conference, Washington, DC., USENIX, Berkeley, CA, 163--176.
[46]
Govil, K., Teodosiu, D., Huang, Y., and Rosenblum, M. 1999. Cellular Disco: Resource management using virtual clusters on shared-memory multiprocessors. In Proceedings of the 17th Symposium on Operating Systems Principles (SOSP-17). ACM Press, 154--169.
[47]
Gribble, S. D., Brewer, E. A., Hellerstein, J. M., and Culler, D. 2000. Scalable, distributed data structures for internet service construction. In Proceedings of the 4th Symposium on Operating Systems Design and Implementation (OSDI-00). USENIX, Berkeley, CA, 319--332.
[48]
Gupta, A., Tucker, A., and Urushibara, S. 1991. The impact of operating system scheduling policies and synchronization methods on the performance of parallel applications. In Proceedings of the ACM SIGMETRICS Conference on Measurement and Modeling of Computer Systems. Stanford Univ., San Diego, CA, 120.
[49]
Homburg, P., van Doorn, L., van Steen, M., Tanenbaum, A. S., and de Jonge, W. 1995. An object model for flexible distributed systems. In 1st Annual ASCI Conference. Heijen, Netherlands, 69--78. http://www.cs.vu.nl/~steen/globe/publications.html.
[50]
Hui, K., Appavoo, J., Wisniewski, R. W., Auslander, M., Edelsohn, D., Gamsa, B., Krieger, O., Rosenburg, B., and Stumm, M. 2001. Position summary: Supporting hot-swappable components for system software. In HotOS. IEEE Computer Society.
[51]
Inman, J. 1985. Implementing loosely coupled functions on tightly coupled engines. In Proceedings of the Summer Conference, Portland. OR USENIX, Berkeley, CA, 277--298.
[52]
Kaeli, D. R., Fong, L. L., Booth, R. C., Imming, K. C., and Weigel, J. P. 1997. Performance Analysis on a CC-NUMA prototype. IBM J. Res. Devl. 41, 3, 205.
[53]
Katcher, J. 1997. Postmark: A new file system benchmark. Tech. Rep. TR3022, Network Appliance.
[54]
Kelley, M. H. 1989. Multiprocessor aspects of the DG/UX kernel. In Proceedings of the Winter USENIX Conference: San Diego, CA. USENIX, Berkeley, CA, 85--99.
[55]
Kleiman, S., Voll, J., Eykholt, J., Shivalingah, A., Williams, D., Smith, M., Barton, S., and Skinner, G. 1992. Symmetric multprocessing in Solaris. COMPCON, San Francisco, CA.
[56]
Krieger, O., Stumm, M., Unrau, R. C., and Hanna, J. 1993. A fair fast scalable reader-writer lock. In Proceedings of the International Conference on Parallel Processing. Vol. II---Software. CRC Press, Boca Raton, FL, II--201--II--204.
[57]
LaRowe, Jr., R. P. and Ellis, C. S. 1991. Page placement policies for NUMA multiprocessors. J. Parall. Distrib. Comput. 11, 2 (Feb.) 112--129.
[58]
Leblanc, T. J., Mellor-Crummey, J. M., Gafter, N. M., Crowl, L. A., and Dibble, P. C. 1989. The Elmwood multiprocessor operating system. Softw. Prac. Exper. 19, 11 (11), 1029--1056.
[59]
Lenoski, D., Laudon, J., Gharachorloo, K., Weber, W.-D., Gupta, A., Hennessy, J., Horowitz, M., and Lam, M. S. 1992. The Stanford Dash multiprocessor. IEEE Comput. 25, 3 (March), 63--80.
[60]
Levin, R., Cohen, E., Corwin, W., Pollack, F., and Wulf, W. 1975. Policy/mechanism separation in Hydra. In Proceedings of the 5th ACM Symposium on Operating Systems Principles (SOSP-5). ACM Press, 132--140.
[61]
Liedtke, J., Elphinstone, K., Schoenberg, S., and Haertig, H. 1997. Achieved IPC performance. The 6th Workshop on Hot Topics in Operating Systems: Cape Cod, MA., IEEE Computer Society Press, 28--31.
[62]
Lim, C.-C. 93. A Parallel Object-Oriented System for Realizing Reusable and Efficient Data Abstractions. Tech. rep. TR-93-063, Oct. Berkeley University of California, CA.
[63]
LoVerso, S., Paciorek, N., Langerman, A., and Feinberg, G. 1991. The OSF/1 UNIX filesystem (UFS). In USENIX Conference Proceedings. USENIX, 207--218.
[64]
Lycklama, H. 1985. UNIX on a microprocessor---10 years later. In Proceedings of the Summer Conference, Portland, OR. USENIX, Berkeley, CA, 5--16.
[65]
Makpangou, M., Gourhant, Y., Narzul, J.-P. L., and Shapiro, M. 1994. Fragmented objects for distributed abstractions. In Readings in Distributed Computing Systems, T. L. Casavant and M. Singhal, Eds. IEEE Computer Society Press, Los Alamitos, CA, 170--186.
[66]
Marchetti, M., Kontothanassis, L., Bianchini, R., and Scott, M. 1995. Using simple page placement policies to reduce the cost of cache fills in coherent shared-memory systems. In Proceedings of the 9th International Symposium on Parallel Processing (IPPS'95). IEEE Computer Society Press, Los Alamitos, CA, 480--485.
[67]
Markatos, E. P. and LeBlanc, T. J. 1994. Using processor affinity in loop scheduling on shared-memory multiprocessors. IEEE Trans. Parall. Distrib. Syst. 5, 4 (Apr.), 379--400.
[68]
Maynard, A. M. G., Donnelly, C. M., and Olszewski, B. R. 1994. Contrasting characteristics and cache performance of technical and multi-user commercial workloads. ACM SIG-PLAN Notices 29, 11 (Nov.), 145--156.
[69]
McCrocklin, D. 1995. Scaling Solaris for enterprise computing. In CUG 1995 Spring Proceedings. Cray User Group, Inc., Denver, CO, 172--181.
[70]
McKenney, P. E., Sarma, D., Arcangeli, A., Kleen, A., Krieger, O., and Russell, R. 2001. Read Copy Update. Ottawa Linux Symposium. Linux Symposium.
[71]
McKenney, P. E., Sarma, D., Arcangeli, A., Kleen, A., Krieger, O., and Russell, R. 2002. Read copy update. In Proceedings of the Ottawa Linux Symposium (OLS). 338--367.
[72]
McKenney, P. E. and Slingwine, J. 1993. Efficient kernel memory allocation on shared-memory multiprocessor. In USENIX Technical Conference Proceedings. USENIX, Berkeley, CA, 295--305.
[73]
McKenney, P. E. and Slingwine, J. 1998. Read-Copy Update: Using exeuction history to solve concurrency problems. In Proceedings of the International Conference on Parallel and Distributed Computing and Systems (PDCS), Y. Pan, S. G. Akl, and K. Li, Eds. IASTED/ACTA Press, Las Vegas, NV.
[74]
Mukherjee, B. C. and Schwan, K. 1993. Improving performance by use of adaptive objects: experimentation with a configurable multiprocessor thread package. In Proceedings of the 2nd International Symposium on High Performance Distributed Computing. IEEE, 59--66.
[75]
Ousterhout, J. K., Scelza, D. A., and Sindhu, P. S. 1980. Medusa: An experiment in distributed operating system structure. Comm. ACM 23, 2 (Feb.), 92--104.
[76]
Papamarcos, M. S. and Patel, J. H. 1984. A low-overhead coherence solution for multiprocessors with private cache memories. In Proceedings of the 11th Annual International Symposium on Computer Architecture (ISCA '84). ACM Press, New York, NY, 348--354.
[77]
Peacock, J. K., Saxena, S., Thomas, D., Yang, F., and Yu, W. 1992. Experiences from multithreading System V Release 4. In Symposium on Experiences with Distributed and Multiprocessor Systems (SEDMS). USENIX, Berkeley, CA, 77--92.
[78]
Pfister, G. F., Brantley, W. C., George, D. A., Harvey, S. L., Kleinfelder, W. J., McAuliffe, K. P., Melton, E. A., Norton, V. A., and Weise, J. 1985. The IBM research parallel processor prototype (RP3): Introduction. In Proceedings of the International Conference on Parallel Processing.
[79]
Pike, R. 1998. Personal communication.
[80]
Presotto, D. L. 1990. Multiprocessor streams for Plan 9. In Proceedings of the Summer UKUUG Conference London, OR 11--19.
[81]
Rashid, R. 1986. From RIG to accent to mach: The evolution of a network operating system. In Proceedings of the ACM/IEEE Computer Society Fall Joint Computer Conference. 1128--1137. Department of Computer Science, Carnegie Mellon University, Pittsburgh, PA.
[82]
Rashid, R., Tevanian, Jr., A., Young, M., Golub, D., Baron, R., Black, D., Bolosky, W. J., and Chew, J. 1988. Machine-independent virtual memory management for paged uniprocessor and multiprocessor architectures. IEEE Trans. Comput. 37 8, 896--908.
[83]
Rosenblum, M., Bugnion, E., Herrod, S. A., Witchel, E., and Gupta, A. 1995. The impact of architectural trends on operating system performance. In Proceedings of the 15th ACM Symposium on Operating Systems Principles (SOSP-15). ACM Press, 285--298.
[84]
Russell, C. H. and Waterman, P. J. 1987. Variations on UNIX for parallel-programming computers. Comm. ACM 30, 12 (Dec.), 1048--1055.
[85]
Schwan, K. and Bo, W. 1990. Topologies: distributed objects on multicomputers. ACM Trans. Comput. Syst. 8, 2, 111--157.
[86]
Scott, M. L., LeBlanc, T. J., and Marsh, B. D. 1988. Design rationale for Psyche, a general-purpose multiprocessor operating system. In Proceedings of the International Conference on Parallel Processing. Pennsylvania State University Press, St. Charles, IL, 255. (Also published in the Univ. of Rochester 1988-89 CS and Computer Engineering Research Review.)
[87]
Shapiro, M., Gourbant, Y., Habert, S., Mosseri, L., Ruffin, M., and Valot, C. 1989. SOS: An object-oriented operating system---assessment and perspectives. Comput. Syst. 2, 4, 287--337.
[88]
Smith, B. 1994. The quest for general-purpose parallel computing. www.cray.com/products/systems/mta/psdocs/nsf-agenda.pdf.
[89]
Soules, C. A. N., Appavoo, J., Hui, K., Wisniewski, R. W., da Silva, D., Ganger, G. R., Krieger, O., Stumm, M., Auslander, M., Ostrowski, M., Rosenburg, B., and Xenidis, J. 2003. System support for online reconfiguration. In USENIX Conference Proceedings. San Antonio, TX, 141--154.
[90]
spec.org. 1996. SPEC SDM suite. http://www.spec.org/osg/sdm91/.
[91]
Squillante, M. S. and Lazowska, E. D. 1993. Using processor-cache affinity information in shared-memory multiprocessor scheduling. IEEE Trans. Parall. Distrib. Syst. 4, 2 (Feb.), 131--143.
[92]
Stets, R., Dwarkadas, S., Hardavellas, N., Hunt, G., Kontothanassis, L., Parthasarathy, S., and Scott, M. 1997. Cashmere-2L: Software coherent shared memory on a clustered remote-write network. In Proceedings of the 16th ACM Symposium on Operating Systems Principles (SOSP-16).
[93]
Talbot, J. 1995. Turning the AIX operating system into an MP-capable OS. In Proceedings of the USENIX Technical Conference.
[94]
Torrellas, J., Gupta, A., and Hennessy, J. L. 1992. Characterizing the caching and synchronization performance of a multiprocessor operating system. In Proceedings of the 5th International Conference on Architectural Support for Programming Languages and Operating Systems. Boston, MA, 162--174.
[95]
Torvalds, L. 2002. Posting to linux-kernel mailing list: Summary of changes from v2.5.42 to v2.5.43. http://marc.theaimsgroup.com/?l=linux-kernel&m=103474006226829&w=2.
[96]
Unrau, R. C., Krieger, O., Gamsa, B., and Stumm, M. 1995. Hierarchical clustering: A structure for scalable multiprocessor operating system design. J. Supercomput. 9, 1--2, 105--134.
[97]
van Steen, M., Homburg, P., and Tanenbaum, A. S. 1997. The architectural design of Globe: A wide-area distributed sytem. Tech. rep. IR-442, Vrige Universiteit, De Boelelann 1105, 1081 HV Amsterdam, The Netherlands.
[98]
Vaswani, R. and Zahorjan, J. 1991. The implications of cache affinity on processor scheduling for multiprogrammed, shared memory multiprocessors. In Proceedings of 13th ACM Symposium on Operating Systems Principles (SOSP-13). ACM Press, 26--40.
[99]
Verghese, B., Devine, S., Gupta, A., and Rosemblum, M. 1996. Operating system support for improving data locality on CC-NUMA compute servers. In Proceedings of the 7th International Conference on Architectural Support for Programming Languages and Operating Systems. ACM Press, MA 279--289.
[100]
Vranesic, Z. G., Stumm, M., Lewis, D. M., and White, R. 1991. Hector: A hierarchically structured shared-memory multiprocessor. IEEE Comput. 24, 1 (Jan.), 72--80.
[101]
Wulf, W., Levin, R., and Pierson, C. 1975. Overview of the Hydra operating system development. In Proceedings of the 5th ACM Symposium on Operating Systems Principles (SOSP-5). ACM Press, 122--131.
[102]
Xia, C. and Torrellas, J. 1996. Improving the Performance of the data memory hierarchy for multiprocessor operating systems. In Proceedings of the 2nd IEEE Symposium on High-Performance Computer Architecture (HPCA-2).
[103]
Young, M., Tevanian, Jr., A., Rashid, R., Golub, D., Eppinger, J. L., Chew, J., Bolosky, W. J., Black, D., and Baron, R. 1987. The duality of memory and communication in the implementation of a multiprocessor operating system. In Proceedings of the 11th ACM Symposium on Operating Systems Principles (SOSP-11). ACM Press, 63--76.

Cited By

View all
  • (2019)SemperOSProceedings of the 2019 USENIX Conference on Usenix Annual Technical Conference10.5555/3358807.3358867(709-722)Online publication date: 10-Jul-2019
  • (2019)Runtime Verification over Out-of-order StreamsACM Transactions on Computational Logic10.1145/335560921:1(1-43)Online publication date: 4-Oct-2019
  • (2019)Reason-maintenance Belief Logic with Uncertain InformationACM Transactions on Computational Logic10.1145/335560821:1(1-32)Online publication date: 19-Sep-2019
  • Show More Cited By

Recommendations

Comments

Information & Contributors

Information

Published In

cover image ACM Transactions on Computer Systems
ACM Transactions on Computer Systems  Volume 25, Issue 3
August 2007
121 pages
ISSN:0734-2071
EISSN:1557-7333
DOI:10.1145/1275517
Issue’s Table of Contents

Publisher

Association for Computing Machinery

New York, NY, United States

Publication History

Published: 01 August 2007
Published in TOCS Volume 25, Issue 3

Permissions

Request permissions for this article.

Check for updates

Author Tags

  1. Concurrency
  2. Distribution
  3. Locality
  4. Scalability SMMP

Qualifiers

  • Article

Contributors

Other Metrics

Bibliometrics & Citations

Bibliometrics

Article Metrics

  • Downloads (Last 12 months)6
  • Downloads (Last 6 weeks)1
Reflects downloads up to 21 Sep 2024

Other Metrics

Citations

Cited By

View all
  • (2019)SemperOSProceedings of the 2019 USENIX Conference on Usenix Annual Technical Conference10.5555/3358807.3358867(709-722)Online publication date: 10-Jul-2019
  • (2019)Runtime Verification over Out-of-order StreamsACM Transactions on Computational Logic10.1145/335560921:1(1-43)Online publication date: 4-Oct-2019
  • (2019)Reason-maintenance Belief Logic with Uncertain InformationACM Transactions on Computational Logic10.1145/335560821:1(1-32)Online publication date: 19-Sep-2019
  • (2019)A fork() in the roadProceedings of the Workshop on Hot Topics in Operating Systems10.1145/3317550.3321435(14-22)Online publication date: 13-May-2019
  • (2017)Evolutionary feature manipulation in data mining/big dataACM SIGEVOlution10.1145/3089251.308925210:1(4-11)Online publication date: 2-May-2017
  • (2017)The scalable commutativity ruleCommunications of the ACM10.1145/306891460:8(83-90)Online publication date: 24-Jul-2017
  • (2017)Scalable Write Allocation in the WAFL File System2017 46th International Conference on Parallel Processing (ICPP)10.1109/ICPP.2017.35(261-270)Online publication date: Aug-2017
  • (2017)NosvJournal of Systems and Software10.1016/j.jss.2016.11.001124:C(137-152)Online publication date: 1-Feb-2017
  • (2016)A NEaT Design for Reliable and Scalable Network StacksProceedings of the 12th International on Conference on emerging Networking EXperiments and Technologies10.1145/2999572.2999579(359-373)Online publication date: 6-Dec-2016
  • (2016)MultiLanesACM Transactions on Storage10.1145/280115512:3(1-31)Online publication date: 16-Jun-2016
  • Show More Cited By

View Options

Get Access

Login options

Full Access

View options

PDF

View or Download as a PDF file.

PDF

eReader

View online with eReader.

eReader

Media

Figures

Other

Tables

Share

Share

Share this Publication link

Share on social media