Archive for February, 2007

Lo que hay detras de la tecnologia

Sunday, February 25th, 2007


O sobre PigeonRank y el IEEE Avians Carriers Protocol

Alguna vez se han preguntado como Google consigue esas tasas de Ranking sobre páginas web revisar la inmensa cantidad de información en sus bases de datos?, pues he aqui la respuesta; Google ha liberado la información sobre sus PC (Pigeon Cluster) una red gigantesca (me imagino que basada en googleplex)  de pichones que son entrenados y usados en sus redes de Ranking de páginas web; Esta tecnología conocida como PigeonRank, ha demostrado su efectividad por encima de censores humanos, además que estos pichones solo piden "semillas frescas" y "cuartos con estatuas" para divertirse un rato.

Pues la IEEE no se ha quedado atrás y ha liberado las RFC 1149; o mejor conocidas como el protocolo IoAC "IP over Avian Carriers"; o lo que es lo mismo, usar estos "inteligentes animales" para transportar datagramas IP a grandes distancias; sus tiempos de respuesta a ping (ICMP) son de 3000 a 6000 segundos sobre una distancia de 5 kilómetros; pero debido a su alta pérdida (por encima del 55% de paquetes perdidos, más que todo cuando un datagrama macho se encuentra con un datagrama hembra o cuando dos datagramas se cruzan sin saber en el espacio); El Ing. David Waitzman ha hecho una mejora del protocolo, conocida como la RFC 2549 o lP Over Avian Carriers with QoS (IP sobre Aves con Calidad de Servicio).
De hecho, hay experimentos que demuestran que ciertos pichones son más rápidos que un ADSL (cargando los pichones con memorias SD, han logrado transportar 4Gb sobre 100Km en un tiempo mucho menor que un ADSLconvencional).


Una Paloma portando un "datagrama" en su pata.

Algunas consideraciones sobre el protocolo TCP (Transport by Carrier Pigeons):

Sistema Operativo: Al igual que otras aves, queda demostrado que TCP funciona mejor en Linux (por aquello de los pinguinos).
Infraestructura: No se necesitan fuentes externas de energía, se acabaron los cables CAT-5 y fibra óptica, tampoco se necesitan estaciones de relevo (relay stations) cuando se usa TCP en tecnología Wi-Fly (Wi-Fi over Fly Pigeons).
Seguridad: aun con el uso de PGP (Pretty Good Pigeons); los Pichones son susceptibles a Hacking, además en algunos paises con temporadas de caza se pueden experimentar ciertos "Denial of Service" que pueden afectar el servicio; además queda demostrado que los Carriers son susceptibles a Virus.
Privacidad: No se ha demostrado aun la posibilidad de riesgo de intercepción de información P2P (Pigeon to Pigeon).
Latencia: No se debe esperar bajas latencias en un protocolo como TCP; pero para transporte de datos sobre grandes distancias sus tiempos de tránsito son mucho mejores que los de FEDEX o cualquier servicio postal.
Escalabilidad: El proceso de escalabilidad está resuelto simplemente por el proceso de "replicación natural" (ver imagen); incrementando asi la máxima tasa de transferencia.


Replica de un carrier luego del proceso de "replicación Natural"

Routing: Los Pichones sufren a veces de problemas de pérdida de ruta, causada por interferencia de las torres celulares.
Wi-Fi Versus Wi-Fly: con alcances de hasta 100km, IoAC bate las distancias obtenidas por cualquier red Wi-Fi.
Además de todo, tiene múltiples ventajas, es auto-suficiente y auto-alimentable (por el carrier mismo); no sufre por cortes de electricidad, usa "carriers" facilmente disponibles y además, cuando un pichón ya no puede cumplir su tarea de carrier, siempre puede ser "re-asignado" a otras áreas (como a PigeonRank).

Las única desventajas notables de este protocolo es que ciertas aves no vuelan de noche, además, ningún protocolo IP se hace sobre tí, las estatuas o tu automóvil.

Pero en caso de no encontrar aves, todavia es posible recurrir a Tambores.

Un buen comentario sobre Koha y Ailefi

Sunday, February 25th, 2007

En el blog de Ailefi se puede leer sobre una exposición que realizó en Cuba recientemente acerca de integración de sistemas bibliotecarios; quise poner un comentario pero en vista de que estaban cerrados entonces decidí ponerlo en mi blog:
Muy buenas estas iniciativas; una vez revisé koha y me pareció bastante potente; su diseño basado en un RDBMS demuestra la importante evolución que sistemas relaciones abiertos como mysql y postgresql han tenido en los últimos años; las soluciones basadas en CDS-ISIS fueron en su tiempo interesantes, por su bajo consumo en disco, requerimientos, etc; además de ser adoptados por la UNESCO como estándar único de manejo bibliotecario; pero son épocas distintas; en la actualidad, las bases de datos relacionales pueden ser esquematizadas jerárquicamente mediante relaciones (los sistemas GIS como mySQL gis y PostGis lo demuestran) y los campos de texto pueden ser full-indexados hasta longitudes que pueden llegar a los 4Gb de información; además de contener binariamente cualquier tipo de información multimedia; es algo que jamás por su arquitectura va a encontrarse en WINISIS y es algo que un proyecto como una biblioteca digital debe pensar.
Mi respuesta a la persona que te hizo la pregunta sería contundente; en épocas con discos duros de más de 1GB y con más RAM que los 16MB que pedía en sus inicios WINISIS; considero más que demostrado a través del tiempo que las RDBMS son más fiables en estos campos de grandes volúmenes de datos y bibliotecas enteramente digitales (y en todo caso, sobre una RDBMS puedes ejecutar minería de datos, algo que sobre una ISIS no).

Luchando contra un HP Compaq DC7700

Monday, February 19th, 2007

Como publique en mi anterior post, he estado intentando montar un Pentium-D con Linux, pero como dice los forums de HP, este equipo NO SOPORTA LINUX; sus caracteristicas de hardware son las siguientes:
Tarjeta de video Intel Q965 PCI-Express (no existe en el kernel, que llega hasta la 915)
Controladora Host Bridge 82Q963
Tarjeta de sonido HDA Intel 82801H (> kernel 2.6.15 = intel_hda)
Tarjeta de red Intel Pro 1000 (kernel > 2.6.16 = e1000)

Los equipos vinieron con una tarjeta externa ATI Radeon X1300, sino, este dispositivo en muchas distros NO ARRANCA.

La opción más lógica era montar Debian StinkyPete (amd64.debian.net) que me levanta un debian amd64 con kernel em64t-p4-SMP.
Tambien hay que reemplazar el archivo pci.ids para que lspci no diga más "unknown device" …
1.- Descargarlo de pciids.sourceforge.net
copiarlo a:
cp pci.ids /usr/share/misc/pci.ids

Antiguo lspci:
0000:00:00.0 Host bridge: Intel Corp.: Unknown device 2990 (rev 02)
0000:00:01.0 PCI bridge: Intel Corp.: Unknown device 2991 (rev 02)
0000:00:03.0 Communication controller: Intel Corp.: Unknown device 2994 (rev 02)
0000:00:19.0 Ethernet controller: Intel Corp.: Unknown device 104a (rev 02)
0000:00:1a.0 USB Controller: Intel Corp.: Unknown device 2834 (rev 02)
0000:00:1a.1 USB Controller: Intel Corp.: Unknown device 2835 (rev 02)
0000:00:1a.7 USB Controller: Intel Corp.: Unknown device 283a (rev 02)
0000:00:1b.0 0403: Intel Corp.: Unknown device 284b (rev 02)
0000:00:1c.0 PCI bridge: Intel Corp.: Unknown device 283f (rev 02)
0000:00:1d.0 USB Controller: Intel Corp.: Unknown device 2830 (rev 02)
0000:00:1d.1 USB Controller: Intel Corp.: Unknown device 2831 (rev 02)
0000:00:1d.7 USB Controller: Intel Corp.: Unknown device 2836 (rev 02)
0000:00:1e.0 PCI bridge: Intel Corp. 82801 PCI Bridge (rev f2)
0000:00:1f.0 ISA bridge: Intel Corp.: Unknown device 2814 (rev 02)
0000:00:1f.2 IDE interface: Intel Corp.: Unknown device 2820 (rev 02)
0000:01:00.0 VGA compatible controller: ATI Technologies Inc: Unknown device 7146
0000:01:00.1 Display controller: ATI Technologies Inc: Unknown device 7166
0000:03:04.0 PCI bridge: Intel Corp. 21154 PCI-to-PCI Bridge
0000:04:04.0 Ethernet controller: Intel Corp. 82557/8/9 [Ethernet Pro 100] (rev 0d)
0000:04:05.0 Ethernet controller: Intel Corp. 82557/8/9 [Ethernet Pro 100] (rev 0d)

y lspci ahora devuelve valores "reales":
0000:00:00.0 Host bridge: Intel Corporation 82Q963/Q965 Memory Controller Hub (rev 02)
0000:00:01.0 PCI bridge: Intel Corporation 82Q963/Q965 PCI Express Root Port (rev 02)
0000:00:03.0 Communication controller: Intel Corporation 82Q963/Q965 HECI Controller (rev 02)
0000:00:19.0 Ethernet controller: Intel Corporation 82566DM Gigabit Network Connection (rev 02)
0000:00:1a.0 USB Controller: Intel Corporation 82801H (ICH8 Family) USB UHCI #4 (rev 02)
0000:00:1a.1 USB Controller: Intel Corporation 82801H (ICH8 Family) USB UHCI #5 (rev 02)
0000:00:1a.7 USB Controller: Intel Corporation 82801H (ICH8 Family) USB2 EHCI #2 (rev 02)
0000:00:1b.0 Audio device: Intel Corporation 82801H (ICH8 Family) HD Audio Controller (rev 02)
0000:00:1c.0 PCI bridge: Intel Corporation 82801H (ICH8 Family) PCI Express Port 1 (rev 02)
0000:00:1d.0 USB Controller: Intel Corporation 82801H (ICH8 Family) USB UHCI #1 (rev 02)
0000:00:1d.1 USB Controller: Intel Corporation 82801H (ICH8 Family) USB UHCI #2 (rev 02)
0000:00:1d.7 USB Controller: Intel Corporation 82801H (ICH8 Family) USB2 EHCI #1 (rev 02)
0000:00:1e.0 PCI bridge: Intel Corporation 82801 PCI Bridge (rev f2)
0000:00:1f.0 ISA bridge: Intel Corporation 82801HO (ICH8DO) LPC Interface Controller (rev 02)
0000:00:1f.2 IDE interface: Intel Corporation 82801H (ICH8 Family) 4 port SATA IDE Controller (rev 02)
0000:01:00.0 VGA compatible controller: ATI Technologies Inc RV515 [Radeon X1300]
0000:01:00.1 Display controller: ATI Technologies Inc RV515 [Radeon X1300] (Secondary)
0000:03:04.0 PCI bridge: Intel Corporation 21154 PCI-to-PCI Bridge
0000:04:04.0 Ethernet controller: Intel Corporation 82557/8/9 [Ethernet Pro 100] (rev 0d)
0000:04:05.0 Ethernet controller: Intel Corporation 82557/8/9 [Ethernet Pro 100] (rev 0d)

Con el kernel SMP y el ACPI activo, ya podemos ver los dos CPUs:
CPU0
processor id:            0
acpi id:                 1
bus mastering control:   no
power management:        no
throttling control:      yes
limit interface:         yes


CPU1

processor id:            1
acpi id:                 2
bus mastering control:   no
power management:        no
throttling control:      yes
limit interface:         yes

Hardware:
    description: Mini Tower Computer
    product: HP Compaq dc7700 Convertible Minitower
    vendor: Hewlett-Packard
    serial: MXJ64706KM
    width: 32 bits
    capabilities: smbios-2.4 dmi-2.4
    configuration: boot=normal chassis=mini-tower uuid=3464AFE5-E57B-DB11-BBDA-FE47551E000F

Con el kernel inicial (2.6.8), el lsmod devuelve esto:
ipv6                  246056  12
sd_mod                 20480  0
scsi_mod              122912  1 sd_mod
isofs                  35276  0
af_packet              22156  2
hw_random               5792  0
tsdev                   8448  0
mousedev               10956  0
joydev                 10880  0
evdev                  10496  0
usbhid                 29312  0
ehci_hcd               28804  0
uhci_hcd               30112  0
pci_hotplug            31192  0
psmouse                18572  0
ide_cd                 39328  0
cdrom                  36008  1 ide_cd
e100                   32128  0
mii                     5760  1 e100
genrtc                  9684  0
ext3                  112400  5
jbd                    54704  1 ext3
ide_generic             1920  0
ide_disk               19328  7
unix                   28224  10
font                    9216  0
vesafb                  7216  0
cfbcopyarea             4224  1 vesafb
cfbimgblt               3328  1 vesafb
cfbfillrect             4224  1 vesafb
ide_core              146144  3 ide_cd,ide_generic,ide_disk

y con el kernel 2.6.20 devuelve esto:
af_packet              26316  8
ipv6                  305504  20
sata_via               13252  0
radeon                127712  0
ide_generic             2432  0 [permanent]
ide_disk               19328  0
ide_cd                 47756  0
ide_core              176288  3 ide_generic,ide_disk,ide_cd
rtc                    16440  0
floppy                 71592  0
parport_pc             41448  0
parport                44108  1 parport_pc
psmouse                45416  0
pcspkr                  4480  0
snd_hda_intel          25280  0
snd_hda_codec         212424  1 snd_hda_intel
snd_pcm                97424  2 snd_hda_intel,snd_hda_codec
snd_timer              28368  1 snd_pcm
snd                    69736  4 snd_hda_intel,snd_hda_codec,snd_pcm,snd_timer
soundcore              10336  1 snd
snd_page_alloc         11792  2 snd_hda_intel,snd_pcm
sg                     42104  0
intel_agp              27904  1
evdev                  12864  0
tsdev                  10016  0
sr_mod                 20776  0
cdrom                  47560  2 ide_cd,sr_mod
usbhid                 29088  0
e100                   40472  0
mii                     7232  1 e100
ehci_hcd               37272  0
uhci_hcd               28960  0
e1000                 140224  0
sd_mod                 24064  7
thermal                17872  0
processor              34888  1 thermal
fan                     6536  0
unix                   33944  178

Otra razón de montar este kernel y este dispositivo es la controladora IDE(SATA); inicialmente la gran mayoria de las distros no funciona; simplemente arrancar con sata_atapi_enable=1 nofb posibilita arrancar el netinstall de amd64 stable; posteriormente, despues de reemplazar el devfs por udev y montar el kernel 2.6.20, se instala el modo sata (ata_piix) de intel (Device Drivers - > SATA -> Intel SATA)
Inicialmente el hpdarm devolvía estos valores:
/dev/hda:
 Timing cached reads:   3924 MB in  2.00 seconds = 1962.30 MB/sec
 Timing buffered disk reads:   10 MB in  3.25 seconds =   3.08 MB/sec

Posteriormente, luego de reemplazar devfs por udev y mejorando el acceso a disco con:
hdparm -c1 -d1 -m16 -a64 /dev/hda; el hdparm devuelve:
/dev/hda:
 Timing cached reads:   3808 MB in  2.00 seconds = 1905.24 MB/sec
 Timing buffered disk reads:   20 MB in  3.07 seconds =   6.51 MB/sec

Posteriormente, luego de instalar kernel 2.6.20 y montado el driver SATA (hay que editar el fstab y el menu.lst para reemplazar hda por sda, para evitar el error de "Waiting for root mounting"):
hdparm devuelve:
/dev/sda:
 Timing cached reads:   4108 MB in  2.00 seconds = 2054.33 MB/sec
 Timing buffered disk reads:  212 MB in  3.00 seconds =  70.60 MB/sec

El equipo funciona "por ahora" perfectamente y sin problemas … esperemos … aun la mitad del hardware no funciona correctamente (aunque el audio funciona perfectamente, tristemente, el equipo se va a usar es como servidor … jajaja)…

Bueno, Intel explica que este ‘nuevo’ chipset aun no tiene ningun soporte:

Operating System Intel® Embedded Graphics Drivers Intel® PRO Integrated LAN Intel® High Definition Audio (Intel® HD Audio) Intel® Matrix Storage Manager F6 Driver Disk Chipset Install Utility Intel® Management Engine Interface (Intel® MEI) Driver Intel® Active Management Technology (Intel® AMT) Serial Over LAN Driver
Linux  No* No*  No*  No No  No No  No 

Se puede (aunque no lo he probado); usar la tarjeta Intel 915 para hacer funcionar la tarjeta de video Q965; la tarjeta de red (aunque no es el mismo chipset) puede ser levantada por el driver e1000; y el Intel High Definition Audio puede ser levantado por el driver alsa intel_hda.

Espero tener más información sobre este equipo en los próximos días …