KFS: Exploring Flexibility in File System Design

  • Dilma M. da Silva IBM TJ Watson Research Center
  • Livio B. Soares USP
  • Orran Krieger IBM TJ Watson Research Center

Resumo


Este artigo discute a necessidade de sistemas de arquivos que sejam customizáveis no nível de arquivos e diretórios, de forma a atender aos requisitos e padrões de acessos de várias cargas de execução. Nós apresentamos o KFS, um sistema de arquivos projetado de forma a possibilitar adaptabilidade de serviços com granularidade fina. Em KFS, cada arquivo ou diretório pode ter sua própria implementação de serviço, feita sob medida para suas necessidades. Estas implementações podem ser substituídas dinamicamente. KFS está disponível para o sistema operacional Linux e o sistema operacional de pesquisa K42. Nós descrevemos como a flexibilidade do KFS pode ser explorada de forma a obter esquemas melhores para gerenciamento de meta-dados e consistência.

Referências

(2004). The K42 Project. [link].

Anderson, D. (1999). Object based storage devices: A command set proposal. Technical report, National Storage Industry Consortium.

Appavoo, J., Auslander, M., Edelsohn, D., da Silva, D., Krieger, O., Ostrowski, M., Rosenburg, B., Wisniewski, R. W., and Xenidis, J. (2003a). Providing a Linux API on the scalable K42 kernel. In Freenix, pages 323–336, San Antonio, TX.

Appavoo, J., Hui, K., Soules, C. A. N., Wisniewski, R. W., da Silva, D., Krieger, O., Auslander, M., Edelsohn, D., Gamsa, B., Ganger, G. R., McKenney, P., Ostrowski, M., Rosenburg, B., Stumm, M., and Xenidis, J. (2003b). Enabling autonomic system software with hot-swapping. IBM Systems Journal, 42(1):60–76.

Auslander, M., Franke, H., Gamsa, B., Krieger, O., and Stumm, M. (1997). Customization lite. In Hot Topics in Operating Systems, pages 43–48. IEEE.

Blair, J. D. (1998). Samba: Integrating UNIX and Windows. Specialized Systems Consultants, Inc.

Card, R., Ts’o, T., and Tweedie, S. (1994). Design and Implementation of the Second Extended Filesystem. In Proceedings of the First Dutch International Symposium on Linux.

Corbett, P., Feitelson, D., Fineberg, S., Hsu, Y., Nitzberg, B., Prost, J.-P., Snir, M., Traversat, B., and Wong, P. (2002). Overview of the MPI-IO parallel I/O interface. In Jin, H., Cortes, T., and Buyya, R., editors, High Performance Mass Storage and Parallel I/O: Technologies and Applications, pages 477–487. IEEE.

Custer, H. (1994). Inside the Windows NT File System. Microsoft Press.

Ganger, G. and Kaashoek, F. (1997). Embedded inodes and explicit gruopings: Exploiting disk bandwith for small files. In Proceedings of the 1997 Usenix Annual Technical Conference, pages 1–17.

Ganger, G. R. and Patt, Y. N. (1994). Metadata Update Performance in File Systems. In Proceedings of the 1st OSDI, pages 49–60, Monterey, CA, USA.

Hagmann, R. (1987). Reimplementing the Cedar File System using Logging and Group Commit. In Proceedings of the 11th SOSP, pages 155–162, Austin, TX.

Heidemann, J. S. and Popek, G. J. (1994). File system development with stackable layers. ACM Transaction on Computers, 12(1):58–89.

Khalid, Y. and Nelson, M. (1993). Extensible file systems in Spring. In Proceedings of SOSP’93, pages 1–14. ACM.

Krieger, O. and Stumm, M. (1997). HFS: A performance-oriented flexible filesystem based on build-block compositions. ACM Transactions on Computer Systems, 15(3):286–321.

linux (2004). The Linux kernel. [link].

Mazieres, D. (2001). A toolkit for user-level file systems. In Proceedings of USENIX’2001. Usenix.

McKusick, M. K., Joy, W. N., Leffler, S. J., and Fabry, R. S. (1984). A Fast File System for UNIX. ACM Transactions on Computer Systems, 2(3):181–197.

Mesnier, M., Thereska, E., Ellard, D., Ganger, G. R., and Seltzer, M. (2004). File classification in self-* storage systems. Technical Report CMU-PDL-04-101, Carnegie-Mellon University.

Ousterhout, J. K., Costa, H. D., Harrison, D., Kunze, J. A., Kupfer, M., and Thompson, J. G. (1985). A Trace-Driven Analisys of the UNIX 4.2 BSD File System. In Proceeding of the 10th SOSP, pages 15–24, Orcas Island, Washington.

Roselli, D., Lorch, J. R., and Anderson, T. E. (2000). A comparison of file system workloads. In Proceedings of 2000 USENIX Annual Technical Conference, San Diego, CA.

Rosenblum, M. and Ousterhout, J. K. (1992). The Design and Implementation of a Log-Structured File System. ACM Transactions on Computer Systems, 10(1):26–52.

Rosenthal, D. (1990). Evolving the vnode interface. In Proceedins of USENIX’90, pages 107–118. Usenix.

Schlosser, S. W. and Ganger, G. R. (2004). MEMS-based storage devices and standard disk interfaces: A square peg in a round hole? In Proceedings of the 3rd Conference on File and Storage Technlogies (FAST). Usenix.

Seltzer, M., Ganger, G., McKusick, M. K., Smith, K., Soules, C., and Stein, C. (2000). Journaling versus Soft Updates: Asynchronous Meta-data Protection in File Systems. In USENIX Annual Technical Conference, pages 18–23.

Soares, L. B., Krieger, O., and da Silva, D. (2003). Meta-data snapshotting: A simple mechanism for file system consistency. In Proceedings of the International Workshop on Storage Network Architecture and Parallel I/Os, New Orleans, LA.

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, pages 141–154, San Antonio, TX.

Swartz, K. L. (1997). Adding response time measurement of CIFS file server performance to NetBench. In Proceedings of the USENIX Windows NT Workshop, pages 87–94.

Tweedie, S. (1998). Journaling the Linux ext2fs Filesystem. In LinuxExpo ’98.

Zadok, E. and Nieh, J. (2000). FiST: A language for stackable file systems. In Proceedings of USENIX’2000. Usenix.
Publicado
31/07/2004
SILVA, Dilma M. da; SOARES, Livio B.; KRIEGER, Orran. KFS: Exploring Flexibility in File System Design. In: WORKSHOP DE SISTEMAS OPERACIONAIS (WSO), 1. , 2004, Salvador/BA. Anais [...]. Porto Alegre: Sociedade Brasileira de Computação, 2004 . p. 21-29.