¿Cuáles son algunos de los problemas de investigación abierta más interesantes en los sistemas de archivos?

Puede obtener una visión general bastante buena mirando los procedimientos FAST. Estos son algunos temas de la versión 2012 [1].

  • Comprender las implicaciones de rendimiento de los sistemas de archivos anidados en un entorno virtualizado
  • ZZFS: un dispositivo híbrido y un sistema de archivos en la nube para usuarios espontáneos
  • Repensar los códigos de borrado para los sistemas de archivos en la nube: minimizar las E / S para la recuperación y las lecturas degradadas

También ofreceré algo de mi propia perspectiva. Para los sistemas de archivos locales, se centra mucho en cómo adaptarse a las nuevas tecnologías de almacenamiento: flash hoy, cambio de fase o memristors mañana, discos superpuestos [2], etc. Mejorar la utilización del almacenamiento también es bastante grande, por ejemplo, compresión, deduplicación, borrado códigos

En el lado distribuido, surge un conjunto completamente diferente de problemas.

  • Privacidad y seguridad.
  • Colocación óptima de datos, almacenamiento en caché y replicación.
  • Diferentes API y modelos de consistencia más débiles para mejorar el rendimiento / escalabilidad.
  • Tiempos y costos de reparación (códigos de borrado nuevamente).

Eso debería ser suficiente para comenzar. Estaré encantado de dar más detalles si alguien está interesado.

[1] http://static.usenix.org/events/…
[2] http://www.pdl.cmu.edu/ftp/News/…

Esta es una pregunta difícil de responder, pero estoy de acuerdo con Jeff Darcy en que los procedimientos FAST son la mejor manera de tener una idea de lo que la comunidad está trabajando actualmente.

Como probablemente pueda ver en los procedimientos, dos áreas que están realmente de moda en este momento son el almacenamiento flash y la deduplicación. Hubo una gran cantidad de documentos centrados en estas dos áreas en la edición de este año de FAST. (Una advertencia justa: varias personas sienten que estas dos áreas ahora se han saturado).

Mis propios intereses se han centrado en la coherencia y fiabilidad del sistema de archivos. Con el almacenamiento cada vez más virtualizado, un área interesante de investigación es echar un vistazo a la pila de almacenamiento con elementos virtuales y repensar algunas de las decisiones de diseño tomadas para los sistemas de archivos destinados a ejecutarse directamente en el almacenamiento.

Es interesante que hayas mencionado los sistemas de archivos locales. Una de las conclusiones de mi trabajo de investigación reciente (The No-Order File System) es que para los sistemas de archivos distribuidos, algo como ext3 con registro en diario probablemente sea excesivo. Podría ejecutar un sistema de archivos local mucho más simple (y más rápido), con el requisito de que pueda detectar inconsistencias de manera confiable. En general, creo que echar un vistazo a la pila en su conjunto y simplificar el sistema de archivos puede conducir a muchas otras mejoras.

Esto probablemente depende de lo que considere un sistema de archivos. ¿Considera que el sistema de archivos es la API, como POSIX o Win32? ¿Considera el formato de los bits en el almacenamiento persistente? ¿Considera la transferencia de datos entre clientes y servidores, o sistemas peer-to-peer? ¿Considera las bibliotecas que implementan la funcionalidad “sistema de archivos como”? ¿O quizás consideras el código que cambia de estado?

Leer la literatura (FAST, SOSP, OSDI, USENIX ATC) es un imperativo. Si bien FAST tiene la mayor colección de documentos, los que encuentre en los otros lugares podrían ser más escasos, pero probablemente sean tan perspicaces.

Mi dirección de investigación últimamente ha sido muy introspectiva: ¿cómo llegamos aquí ? Hay una parte de mí que sacude la cabeza con asombro al pensar que la estructura básica de un sistema de archivos se estableció en 1965 (MULTICS describió una estructura jerárquica, con seguridad y archivos) y en gran medida nos hemos quedado con esa estructura. Algunos han propuesto otros modelos para la organización de datos, pero hasta ahora ninguno ha estado cerca de derrocar esa supremacía. ¿Fueron los desarrolladores de MULTICS particularmente afortunados o particularmente dotados de haber encontrado el modelo correcto?

Lo que me sorprende es que parece que en casi todos los lugares donde miro en los sistemas de archivos hay preguntas de investigación interesantes. El Caso para las estructuras de índice aprendidas, publicado a principios de este mes (4 de diciembre de 2017), en realidad propone algunas posibles preguntas de investigación. Como otros señalan, hoy tenemos opciones de almacenamiento radicalmente diferentes y hay evidencia convincente en la literatura de que tratarlas como “otro dispositivo de bloque” puede no ser la opción correcta.

¿Por qué la gente sigue construyendo sistemas de archivos? ¿Podemos mejorar el proceso? ¿Mejoraría un proceso mejor la innovación?

Tal vez prefiera métodos formales: ¿cómo define la consistencia de un sistema de archivos? ¿Cómo demuestra que su diseño es válido (p. Ej., Siempre deja el sistema de archivos en un estado coherente?) Tal vez podría usarse un modelo formal de sistemas de archivos de unión para verificar que proporciona un comportamiento correcto en todo el espacio de estados.

Tenemos muchos sistemas de archivos distribuidos, sin embargo, ciertamente hay espacio en el universo del espacio de diseño para explorar otras posibles compensaciones. No he profundizado en esa área en un tiempo, por lo que no puedo sugerir nada específico en este momento, vuelva a consultarme en seis meses.

Cuando leí el documento de ASC, me pregunté si no podríamos hacer algo similar con el almacenamiento, esencialmente recordando las operaciones de almacenamiento comunes. Probablemente sea una idea loca, pero sé que al analizar demasiados rastros es común ver que las mismas operaciones se realizan repetidamente.

Si son “más interesantes” se relacionará en última instancia con lo que usted encuentre interesante. Por lo tanto, elegir uno se deja como un ejercicio para el lector.

Aparte del sistema de archivos basado en Flash, las obras relacionadas con el sistema de archivos basado en RAM son bastante fascinantes. Uno de estos proyectos en desarrollo es RAMCloud (Proyectos). Se ve muy interesante 🙂

More Interesting

¿En qué partes de CLRS no debería centrarse un programador competitivo? Realmente no entiendo la importancia de saber cómo calcular la complejidad de un algoritmo o demostrar la exactitud de un algoritmo. ¿Debería omitir esta parte?

¿Qué metodología / modelo de prueba crees que es más eficiente: gestión de prueba basada en sesión, modelos de contexto de texto o modelos de estrategia de prueba heurística?

¿Por qué un SMB deshabilitado previene un ataque de ransomware?

¿Qué compañías en India están usando AngularJS en la producción?

Estoy realmente interesado en la computación paralela y quiero trabajar con ella en el futuro. Para la universidad, ¿debo especializarme en ingeniería informática o informática?

Tengo un plan de 400 días para aprender sobre el aprendizaje automático. Espero construir mi propio bot de juegos que pueda jugar al menos 2 juegos. ¿Qué tan plausible es esto?

¿Cuáles son los requisitos previos necesarios para comprender a fondo el TAOCP de Donald Knuth desde la perspectiva de un estudiante que no es CS?

¿La mayoría de los lenguajes de programación son contraintuitivos y están mal diseñados?

Quiero que mi robot Atmega funcione en múltiples modos (seguimiento de línea, evitación de obstáculos, guía directa de PC) ¿Cómo puedo cargar y cambiar entre ellos?

¿Hay algún empleado anterior de Satyam Computers en Quora? ¿Cómo fue trabajar con Satyam Computers?

¿Cómo configuro una ubicación personalizada / simulada en Android?

¿Qué debo hacer ya que estoy realmente frustrado con el programa de capacitación de Infosys? Y como no soy de CS, estoy realmente confundido acerca de mi futuro.

¿Cuáles son los temas y blogs específicos de Quora que debe seguir un dominio geek en informática / ingeniería de software?

Cómo convertirse en un ingeniero de software estelar al final de mi licenciatura

¿Cuál es la relación entre el aprendizaje automático y la filosofía de las matemáticas o la epistemología?