25/01/06

tar remoto

El domingo mi PC entró en coma. Al parecer (aún no lo he confirmado del todo) el problema fue un cable del ventilador de la CPU que hacía mal contacto. Esto provocaba que de vez en cuando se parara, la CPU se calentara y funcionara mal. Llevaba dias haciendo cosas "extrañas" con lo cual supongo que llevaba haciendo ese mal contacto una buena temporada.

Bien, el problema vino cuando se corrompió el disco parcialmente (probablemente por la CPU, los discos parecen estar bien). Pese a que hago una copia de seguridad diaria, por motivos obvios de espacio en disco hay ciertas cosas que no puedo guardar aunque no son críticas. Sin embargo, preferia disponer de ellas antes que tener que volver a descargarlas. Así que me dije... arranco con un LiveCD y paso los datos.

Pues no. Resulta que tengo un RAID por placa base (Asus A8N-SLI) de dos Raptors. Knoppix no lo reconoce, así que al final encontré una distribución especifica para esto. Básicamente se trata de la herramienta 'dmraid'.

En fin, el problema es que esta distribución viene "pelada", ni siquiera con soporte decente de red. Así que finalmente encontré este truco para pasar datos remotamente via SSH.

tar cvf - [fichero-o-directorio] | ssh username@host tar xf -

Y me funcionó de vicio (además de hacerlo realmente rápido).

Actualización 3/3/06: He corregido el comando 'tar' porque era incorrecto.
Actualización 24/3/06: No me habia dado cuenta, pero mi anterior corrección no fue correcta. Así que corrigo la corrección. Por cierto, el problema está en el editor integrado de blogger, que no admite correctamente (lo deja tal cual y el navegador se piensa que es HTML!).

Etiquetas:

21/01/06

Geek

My computer geek score is greater than 96% of all people in the world! How do you compare? Click here to find out!


Por idea de Nacho de Microsiervos.

12/01/06

Garbage collectors

Como parte de un trabajo para una asignatura del doctorado que estoy realizando actualmente he tenido que mirarme con detalle el funcionamiento del GC en plataformas de alto rendimiento.

La información encontrada me ha sorprendido, ya que incluso a partir de un par de procesadores el funcionamiento "por defecto" de la VM puede no ser óptimo en absoluto. Una máquina biprocesador o tetraprocesador puede parecer no muy habitual ahora, pero con los nuevos procesadores multinúcleo estó será cada vez más frecuente.

Os dejo parte de esta información.

Etiquetas:

9/01/06

java.nio

La nueva libreria de entrada/salida introducida con la versión 1.4 de Java es una de esas novedades que ha pasado un poco desapercibida.

La principal razón es que su utilidad se encuentra realmente en un segmento bastante específico de aplicaciones. En realidad, cualquier aplicación podria beneficiarse de un aumento de velocidad usando NIO, pero como las librerias clásicas de entrada/salida ya utilizan parte de las novedades internamente, la ventaja se nota con el simple uso de la version 1.4


Se pueden resumir las ventajas de java.nio en dos principalmente:
  • E/S multiplexada, no bloqueante
  • Acceso a buffers directos (zero copy)
Básicamente las aplicaciones que comento que pueden beneficiarse son principalmente aquellas con gran E/S y muchas conexiones simultaneas (java.nio rompe el 1:1 entre hilos y conexiones entrantes).

JavaOne 2003 Technical Session (Benchmark)
  • Apache 2.0.42 for small file (1 KB)
  • thttpd 2.20c for large file (1 MB throttled to 56kb/sec)
  • Java 1.4.2 amb java.nio i java.io
    • Multi-Threaded Pool (java.io)
    • 2+2 Threads java.nio (2 acceptors + 2 dispatchers)
La versión clásica con java.io obtenia un rendimiento equiparable a los otros dos productos, sin embargo su consumo de memoria crecia linealmente con el número de conexiones hasta llegar a los 600MB cuando el thttpd consumia sólo 8.

La versión java.nio con selector no bloqueante ofrece un rendimiento a la par con las otras soluciones y un uso de memoria fijo que no aumenta con el número de conexiones.

Etiquetas: