Free Web Hosting Provider - Web Hosting - E-commerce - High Speed Internet - Free Web Page
Search the Web


DualFS - Nuevo sistema de ficheros para GNU/Linux

(Entrevista a Juan Piernas Cánovas)

5 de Febrero de 2.003



Juan Piernas Cánovas es profesor en el Departamento de Ingeniería Técnica de Computadores de la Universidad de Murcia (España). Fue pionero en el mundo del Software Libre en este país, especialmente cuando hablamos de GNU/Linux, y estuvo coordinando durante algunos años el proyecto Pameli (traducción al español de las páginas del manual de GNU/Linux). Actualmente está trabajando en un nuevo proyecto de investigación junto a Toni Cortés de la Universidad Politécnica de Cataluña y José M. García también de la Universidad de Murcia, consistente en la creación de un nuevo sistema de ficheros tipo Journaling llamado DualFS.



Juan, ¿podrías explicar brevemente a toda la comunidad mexicana que es DualFS?


DualFS es un nuevo sistema de ficheros que tiene como principal objetivo mejorar el rendimiento de los sistemas de ficheros que existen actualmente en Linux (aunque los beneficios son aplicables a otros sistemas operativos). DualFS mejora el rendimiento global de cualquier máquina, especialmente de aquellas que hacen un uso intensivo del disco.

¿Podemos considerar a DualFS como una evolución de JournalingFS o por el contrario debemos de mirarlo como un nuevo tipo de sistema de ficheros totalmente independiente?

Aunque se puede ver como una evolución, decir que DualFS es un JournalingFS es incorrecto. Los actuales JournalingFS se puede ver como sistemas de ficheros "tradicionales" a los que se les ha añadido un journal para acelerar la recuperación del sistema de ficheros tras una caída. No digo con esto que todos los JournalingFS sean una evolución de anteriores sistemas de ficheros. De hecho, ReiserFS y XFS se diseñaron desde cero. Lo que quiero decir es que, si se montaran read-only, podrían prescindir del journal ya que el resto del sistema de ficheros contiene toda la información necesaria (datos y metadatos) para funcionar.

DualFS, sin embargo, no tiene el journal como un añadido, sino que forma parte básica del sistema de ficheros. La estructura general de DualFS es:

- un dispositivo donde sólo se guardan datos (el dispositivo de datos).
- un dispositivo donde sólo se guardan metadatos (el dispositivo de metadatos).

Por metadatos entendemos el superbloque, los bitmaps, los nodos-i (y los bloques indirectos asociados) y los bloques de directorios (más algún otro elemento menor). Los datos son los contenidos de nuestros ficheros (una base de datos, un ejecutable o un simple fichero de texto).

Como podemos ver, DualFS no tiene los bloques de datos y metadatos mezclados (como ocurre en todos los demás sistemas de ficheros). Esa es la primera gran diferencia de DualFS. La otra gran diferencia es la forma de organizar el dispositivo de metadatos: mediante un LFS (log-structured file system). El LFS nos proporciona un gran rendimiento para metadatos a la vez que una rápida recuperación del sistema de ficheros tras una caída. Es en esta separación donde radica gran parte del éxito de DualFS ya que se separan elementos que se utilizan para fines muy distintos. Y es esta separación la que le da nombre a DualFS :-)


¿Cuánto tiempo llevas involucrado en esta investigación y qué fue lo que te motivó a llevarla a cabo?

Aproximadamente llevo 2 años. Mi motivación fue el deseo de conseguir un sistema de ficheros más rápido. Pensaba que las cosas se podían hacer de otra manera, que se podía sacar un mayor rendimiento a los discos duros y empecé a estudiar y a analizar el funcionamiento de Ext2 para distintas cargas de trabajo (servidores web, servidores NFS, servidores de correo, etc). A raíz de dichos estudios se nos ocurrió el diseño de DualFS.


Sabemos que tanto tu como las otras personas involucradas en el proyecto DualFS habéis hecho una importante presentación en el 16th Annual ACM International Conference on Supercomputing en la ciudad de Nueva York en Junio del año pasado. ¿Cómo acogió la Comunidad Norteamericana la noticia de este nuevo sistema de ficheros y qué ha supuesto para vosotros el hecho de presentaros en un evento de tal magnitud?


Las revisiones del artículo fueron muy buenas, sobre todo teniendo en cuenta que en ese congreso se aceptaron menos del 30% de los trabajos enviados. Este congreso nos dio la oportunidad de dar a conocer nuestro trabajo y nos dio ánimos para seguir trabajando. De hecho, la versión actual de DualFS presenta numerosas novedades y mejoras respecto a la que se presentó entonces.


El código fuente y las herramientas de DualFS se pueden conseguir bajo pedido directamente a través de tu página web. ¿Existe algún motivo en particular por el cual no es accesible libremente desde http o ftp?

El motivo es que el código todavía no está preparado para ser liberado. Es necesario limpiarlo, comentarlo para que, quien quiera modificarlo o mejorarlo, lo haga. Nuestra idea es lanzarlo bajo licencia GPL a lo largo de este año. Por ahora nos estamos centrando en mejoras en el rendimiento. Cuando las hayamos terminado, prepararemos el código y lo dejaremos disponible para todo el mundo.

Parte de la estructura de DualFS nos recuerda a la forma de trabajar de otros sistemas de ficheros no utilizados actualmente en Linux, como es el caso de FFS - Fast File Systems (Soft Updates) usado por Sistemas como OpenBSD. ¿Es DualFS una mezcla de varios tipos de sistemas de ficheros concentrados en uno solo?

La estructura de DualFS es bastante distinta a la de FFS y a la de Soft Updates. Soft Updates mejora sustancialmente las escrituras de metadatos (convirtiéndolas en asíncronas) pero presenta otros inconvenientes, como una recuperación en segundo plano tras una caída. El dispositivo de metadatos de DualFS mejora también, de manera sustancial, el rendimiento de las escrituras de metadatos, pero permite recuperar rápidamente la consistencia del sistema de ficheros tras una caída.


Actualmente un gran número de distribuciones de GNU/Linux ofrecen la posibilidad de utilizar JournalingFS como alternativa a ext2 y ext3. ¿Cuánto tiempo crees que tardarán en incluir DualFS estas distribuciones?

Lo que tarde DualFS en convencerles :). Los numerosos experimentos que estamos realizando demuestran que DualFS tiene un rendimiento general superior al de todos los sistemas de ficheros actualmente disponibles en Linux (Ext2, Ext3, XFS, ReiserFS y JFS). En algunos casos, el incremento de prestaciones es sorprendente.


El sistema estándar actualmente en GNU/Linux es Ext2, ¿Crees factible que algún día esto cambiará en favor de DualFS?

Cambiar algo tan importante como el sistema de ficheros de un sistema operativo es algo delicado. Mucha gente todavía confía en Ext2 dada su gran estabilidad. Sin embargo, creo que Ext2 al final será reemplazado, como sistema de ficheros por defecto en Linux, por otro sistema de ficheros. Pero todavía no está claro por cuál. Nosotros esperamos que DualFS convenza y que, al final, muchas distribuciones opten por él.


El proyecto DualFS es realmente muy interesante pero, a lo largo de todo este tiempo ¿qué otros proyectos que sean realmente innovadores relacionados con el Software Libre y el Open Source has visto que te hayan llamado la atención?

La verdad es que el Software Libre y el Open Source no dejan de sorprenderme. Hay muchos proyectos que me han llamado la atención, aunque no sabría decir hasta qué punto son innovadores. Por mencionar sólo unos pocos: GNOME y KDE, OpenOffice, Mozilla y Debian (por no mencionar Linux otra vez).


¿Piensas que la verdadera innovación en el mundo del Software Libre la aporta la comunidad o crees por el contrario que esta se da más en universidades y en laboratorios empresariales?

Actualmente, pienso que gran parte de la innovación en el mundo del Software Libre procede de las universidades, aunque hay algunos proyectos innovadores que se han iniciado fuera del mundo universitario, como ReiserFS.


Mucha gente de la Comunidad del Software libre opina que GNU/Hurd es una alternativa real y viable como sustituto del kernel Linux, ¿Eres de la opinión de que el núcleo GNU/Hurd sustituirá algún día a Linux?


Una de las ventajas del software libre es que, a diferencia de lo que pasa muchas veces con el software cerrado, el mejor es el que termina imponiéndose. El que en un sistema GNU al final se sustituya (o no) Linux por Hurd o por otro núcleo dependerá de lo bueno que sea el nuevo núcleo (tanto a nivel de rendimiento como de servicios proporcionados). De todos modos, creo que esa sustitución todavía está lejos de producirse (si es que se produce en algún momento).

¿Tienes actualmente algún nuevo proyecto en mente relacionado con el mundo del Software Libre?

De momento no, pero tengo claro que DualFS es sólo el primer paso. Espero poder aportar nuevas ideas y nuevos proyectos que enriquezcan y mejoren el Software Libre en un futuro cercano.

¿Quieres añadir algún comentario para la comunidad mexicana?


Me gustaría agradeceros la oportunidad que me habéis brindado de dar a conocer DualFS y animaros a seguir trabajando por y para el Software Libre, tan bien como lo habéis venido haciendo hasta ahora.


Muchas gracias por dedicarnos una parte de tu precioso tiempo.


Gracias a vosotros.


Entrevista realizada por Oscar M. Seoane (omseoane@bigfoot.com). La presente entrevista puede ser reproducida por cualquier medio escrito o electrónico siempre y cuando se mantenga su contenido íntegro junto con esta nota a pié de página.