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.