|| Computación || VOLVER=^
 
==============================================================================================
If you want robustness, go to the command line [Sep 2013]
==============================================================================================

* Inconsistencias en Maple 16

No se puede negar que el formato de notebook (la worksheet) de Maple 16 es agradable y práctico para escribir cálculos y notas a la vez. Personalmente prefiero el worksheet mode (más limitado, pero con prompt ">" para ingresar comandos) que el más moderno document mode, que es más libre.

Maple document

^ Figura 1.  Aspecto del worksheet mode en la interfaz gráfica de Maple 16.

Tuve la necesidad de correr un script sencillo, aunque largo, que realizaba ciertas tareas. Básicamente la resolución de una ecuación diferencial de segundo orden para diferentes combinaciones de condiciones iniciales y la escritura en un archivo de texto de aquellos pares de dichas condiciones que hubieran satisfecho determinados requerimientos en la solución.

La carga en Maple se hace a través de:

> read("/home/elavia/script.a.correr.mpl");

El script arranca normalmente, con consumos de memoria (unos 325 MB) y procesador acordes. No obstante al poco tiempo la ejecución trepó a unos consumos más intensos, 625 MB de memoria y un 90 % de CPU y así quedó... un largo rato. Se probó el mismo script bajo diferentes circunstancias (luego de reinicios) y en ninguna de ellas el programa devolvió el control. Solamente corridas del script muy reducido en la longitud de los ciclos (tiene dos loops for) lograron finalizar. En todo otro caso el proceso debió "matarse" con kill process.

En la Figura 2 se ve un recorte de los consumos tal como son mostrados por system monitor.

Consumos grafica

^ Figura 2.  Consumos de memoria y procesador de Maple 16 en modo gráfico corriendo el script. Los procesos asociados son "java" y "mserver".

Intuyendo que era un asunto de la parte gráfica del programa (basada en Java) decidí aventurarme en el modo textual.


* Yendo a la línea de comandos

Maple 16 tiene una línea de comandos, con un cartel de bienvenida bastante simpático. En la Figura 3 vemos cómo luciría la sesión de trabajo de la Figura 1 en modo texto.

Maple document

^ Figura 3.  Aspecto de la sesión de trabajo en la interfaz de comandos de Maple 16.

Bajo este entorno el script sí finalizó correctamente y reobtuvimos el control una vez terminada la ejecución. La ocupación de CPU nunca superó un 36% y la memoria utilizada se mantuvo en 74 MB. La ejecución tomó 30' aproximadamente. Los consumos se muestran en la Figura 4.

Consumos grafica

^ Figura 4.  Consumos de memoria y procesador de Maple 16 en línea de comandos corriendo el script. El proceso asociado es "mserver".


Leyendo el help de Maple se aclara que:

The Command-line version does not include graphical user interfaces features, but this method is recommended when solving very large complex problems or using scripts for batch processing.

Tal vez es un eufemismo para anunciar que la interfaz basada en Java blows-up cuando querramos hacer cálculos intensos. Moraleja: si usted requiere robustez vaya a buscarla a la línea de comandos.

==============================================================================================