XOmB: an Exokernel for Modern 64-bit, Multicore Hardware
Resumo
We describe XOmB, an exokernel being developed to exploit the features of modern hardware. Specifically we discuss the use of large 64-bit virtual address spaces to provide a hybrid of segmentation and paging. This abstraction allows us to expose files and memory-mapped devices using the same mechanism. We also describe current work to develop a multicore scheduling mechanism that balances efficency and userspace flexibility.Referências
AMD (2007). AMD64 architecture programmer’s manual volume 2: System programming. Publication number 24593.
AMD (2009). AMD64 architecture programmer’s manual volume 3: General-purpose and system instructions. Publication number 24594.
Anderson, T. E., Bershad, B. N., Lazowska, E. D., and Levy, H. M. (1991). Scheduler activations: effective kernel support for the user-level management of parallelism. In SOSP ’91: Proceedings of the thirteenth ACM symposium on Operating systems principles, pages 95–109, New York, NY, USA. ACM.
Baek, S., Sun, K., Kim, E., Choi, J., Lee, D., and Noh, S. H. (2009). Taking advantage of storage class memory technology through system software support. In 5th Annual Workshop on the Interaction between Operating Systems and Computer Architecture (WIOSCA 2009) co-located with ISCA 2009.
Barham, P., Dragovic, B., Fraser, K., Hand, S., Harris, T., Ho, A., Neugebauer, R., Pratt, I., and Warfield, A. (2003). Xen and the art of virtualization. In SOSP ’03: Proceedings of the nineteenth ACM symposium on Operating systems principles, pages 164–177, New York, NY, USA. ACM.
Chen, B. (2000). Multiprocessing with the exokernel operating system. Master’s thesis, Massachusetts Institute of Technology.
Condit, J., Nightingale, E. B., Frost, C., Ipek, E., Lee, B., Burger, D., and Coetzee, D. (2009). Better I/O through byte-addressable, persistent memory. In SOSP ’09: Proceedings of the ACM SIGOPS 22nd symposium on Operating systems principles, pages 133–146, New York, NY, USA. ACM.
Kaashoek, M. F., Engler, D. R., Ganger, G. R., Brice no, H. M., Hunt, R., Mazières, D., Pinckney, T., Grimm, R., Jannotti, J., and Mackenzie, K. (1997). Application performance and flexibility on exokernel systems. In SOSP ’97: Proceedings of the sixteenth ACM symposium on Operating systems principles, pages 52–65, New York, NY, USA. ACM.
Massalin, H. and Pu, C. (1992). A lock-free multiprocessor OS kernel. SIGOPS Oper. Syst. Rev., 26(2):8.
Nightingale, E. B., Hodson, O., McIlroy, R., Hawblitzel, C., and Hunt, G. (2009). Helios: heterogeneous multiprocessing with satellite kernels. In SOSP ’09: Proceedings of the ACM SIGOPS 22nd symposium on Operating systems principles, pages 221–234, New York, NY, USA. ACM.
Ousterhout, J. K., Cherenson, A. R., Douglis, F., Nelson, M. N., and Welch, B. B. (1988). The sprite network operating system. Computer, 21(2):23–36.
Torrellas, J., Tucker, A., and Gupta, A. (1995). Evaluating the performance of cache-affinity scheduling in shared-memory multiprocessors. J. Parallel Distrib. Comput., 24(2):139–151.
Yeo, C. S. and Buyya, R. (2006). A taxonomy of market-based resource management systems for utility-driven cluster computing. Softw. Pract. Exper., 36(13):1381–1419.
AMD (2009). AMD64 architecture programmer’s manual volume 3: General-purpose and system instructions. Publication number 24594.
Anderson, T. E., Bershad, B. N., Lazowska, E. D., and Levy, H. M. (1991). Scheduler activations: effective kernel support for the user-level management of parallelism. In SOSP ’91: Proceedings of the thirteenth ACM symposium on Operating systems principles, pages 95–109, New York, NY, USA. ACM.
Baek, S., Sun, K., Kim, E., Choi, J., Lee, D., and Noh, S. H. (2009). Taking advantage of storage class memory technology through system software support. In 5th Annual Workshop on the Interaction between Operating Systems and Computer Architecture (WIOSCA 2009) co-located with ISCA 2009.
Barham, P., Dragovic, B., Fraser, K., Hand, S., Harris, T., Ho, A., Neugebauer, R., Pratt, I., and Warfield, A. (2003). Xen and the art of virtualization. In SOSP ’03: Proceedings of the nineteenth ACM symposium on Operating systems principles, pages 164–177, New York, NY, USA. ACM.
Chen, B. (2000). Multiprocessing with the exokernel operating system. Master’s thesis, Massachusetts Institute of Technology.
Condit, J., Nightingale, E. B., Frost, C., Ipek, E., Lee, B., Burger, D., and Coetzee, D. (2009). Better I/O through byte-addressable, persistent memory. In SOSP ’09: Proceedings of the ACM SIGOPS 22nd symposium on Operating systems principles, pages 133–146, New York, NY, USA. ACM.
Kaashoek, M. F., Engler, D. R., Ganger, G. R., Brice no, H. M., Hunt, R., Mazières, D., Pinckney, T., Grimm, R., Jannotti, J., and Mackenzie, K. (1997). Application performance and flexibility on exokernel systems. In SOSP ’97: Proceedings of the sixteenth ACM symposium on Operating systems principles, pages 52–65, New York, NY, USA. ACM.
Massalin, H. and Pu, C. (1992). A lock-free multiprocessor OS kernel. SIGOPS Oper. Syst. Rev., 26(2):8.
Nightingale, E. B., Hodson, O., McIlroy, R., Hawblitzel, C., and Hunt, G. (2009). Helios: heterogeneous multiprocessing with satellite kernels. In SOSP ’09: Proceedings of the ACM SIGOPS 22nd symposium on Operating systems principles, pages 221–234, New York, NY, USA. ACM.
Ousterhout, J. K., Cherenson, A. R., Douglis, F., Nelson, M. N., and Welch, B. B. (1988). The sprite network operating system. Computer, 21(2):23–36.
Torrellas, J., Tucker, A., and Gupta, A. (1995). Evaluating the performance of cache-affinity scheduling in shared-memory multiprocessors. J. Parallel Distrib. Comput., 24(2):139–151.
Yeo, C. S. and Buyya, R. (2006). A taxonomy of market-based resource management systems for utility-driven cluster computing. Softw. Pract. Exper., 36(13):1381–1419.
Publicado
20/07/2010
Como Citar
LARKBY-LAHET, James; MADDEN, Brian A.; WILKINSON, Dave; MOSSE, Daniel.
XOmB: an Exokernel for Modern 64-bit, Multicore Hardware. In: WORKSHOP DE SISTEMAS OPERACIONAIS (WSO), 7. , 2010, Belo Horizonte/MG.
Anais [...].
Porto Alegre: Sociedade Brasileira de Computação,
2010
.
p. 1991-1998.
