Friday, February 02, 2007

M'rd Donalds ... por qué lo amaré tanto ?

Si un día viendo tele sentís un deseo irresistible de transarte al "payasito" de M'rd Donalds quizás sea por algo como ésto (T=00:35).

Quién te dice ... por ahí terminás siendo un existoso manager, así que podés ir entrenando



Enjoy :-P

Wednesday, January 10, 2007

[en] Throughput tests WRTSL54GS v1.1 vs WRT54GS v3.0

Throughput tests WRTSL54GS v1.1 vs WRT54GS v3.0


The goal of this test is to measure and compare the NAT'ing/routing/switching behavior of these two WRT54G's [1] running OpenWRT Whiterussian RC6 [5]:




models/nCPUflash/RAMeth switch
WRTSL54GS v1.1 [2]CJK11xxxxxxxBroadcomm 4704rev9 266Mhz8/32MBinCPU
WRT54GS v3.0 [3]CGN5xxxxxxxBroadcomm 5352 200Mhz8/32MBBCM5325


IMPORTANT: nbd ( openwrt developer) pointed a problem with "entropy gathering which fills /dev/random from wifi" in WR rc6 and suggested me trying a newer build (09test); I'll try it an repost the results (specially the wifi ones)
--jjo; Jan 10, 2007.


Testbed, methodology



  • Topology

  •                        --------> iperf test connection------>
    WIFI-NATed [CLIENT]+)) wifi (( +[ WRT ]+=== wan ===+[SERVER] (iptables MASQUERADE'd)
    LAN-NATed [CLIENT]+=== lan ===+[ WRT ]+=== wan ===+[SERVER] (iptables MASQUERADE'd)
    LAN-routed [CLIENT]+=== lan ===+[ WRT ]+=== wan ===+[SERVER] (plain routing)
    LAN-switched [CLIENT]+=== lan ===+[ WRT ]+=== lan ===+[SERVER] (hardware switching)

    "lan": any LAN (1of4) port
    "wan": WAN port
    "wifi": 802.11g link at 54Mbps (aprox 2mts distance between antennas)
    iptables MASQUERADE'd: default whiterussian setup (masquerade both wifi,lan to wan)
    plain routing: accomplished with iptables full "flushing" + server route to client via WRT

  • Hardware

    • client: IBM Thinkpad T42, lan: e1000 (10/100/1000), wifi: ipw2200
    • server: generic PC sempron 2200+, lan: 8139too
    • routers: (stated above)


  • Software
    • client, server: iperf [4] (-c, -s) on linux-2.6, glibc-2.3+.
    • routers: OpenWRT WhiteRussian RC6 [5].



Results


Throughput values in megabits per second taken from iperf's output. Please note that measured rates by iperf correspond to _application_, ie: they don't consider protocol headers, etc.

CPU usage % shown by top for ksoft_IRQd from a ssh logged session, this "top" session was not considered for throughput values (separately taken) to avoid "measuring load influence": 100% CPU usage was aprox= 90% ksoft_IRQd + 8% dropbear + 2% top.





Throughput (CPU usage %)
modelWIFI-NATedLAN-NATedLAN-routedLAN-switched
WRTSL54GS23.5mbit/s (65%)47.5mbit/s (90%+)55.8mbit/s (90%+)93.7mbit/s (0%)
WRT54GS 10.5mbit/s (14%)34.2mbit/s (90%+)40.4mbit/s (90%+)93.8mbit/s (0%)


Analisys


WRTSL54GS


WIFI-NATed at 23.5 mbits (802.11g @54Mbps) with ~65% CPU usage denotes "reasonable" CPU availability for this 802.11g saturated link.

LAN-NATed at 47.5 mbits shows the CPU bottleneck when routing+MASQUERADING, considering that ip_conntrack table has just a few entries this is a VERY optimistic max.

LAN-routed at 55.8 mbits is pretty poor, I think that ip_conntrack processing is ALSO affecting this scenario (if loaded it gets called even for non-nated streams); it would be veryVERY useful to have ip_conntrack optionally loaded by openwrt (currently static).

LAN-switched at 93.8 mbits is expectable given that hardware only switching is involved.

WRT54GS


LAN-NATed and LAN-routed values give about 75% when compared to its newer cousin, 75% is roughly 200/266, respective CPU clocks [MHz] (this confirms CPU saturation).

WIFI-NATed at 10.5 mbits (dbl-confirmed 802.11g @54Mbps) is a bad smelling frog, I double checked openwrt setup... nothing strange found; about 1mo ago I was running RC5 getting ~20mbits+ rates (informal, from rsync/ftp rates), so it maybe something with RC6 wifi in this hardware, dunno(?).

As expected, LAN-switched gave same results.

Conclusions


Both WRT's seem reasonable for 802.11g @54Mbps even when NAT'ing traffic (common usage), obviously depending on traffic patterns, how many clients, etc ... given the constrained RAM (and CPU) for NAT+conntracking ... NOT tested here.


On the contrast, their CPU is not powerful enough to saturate _both_ (LAN+WAN) 100mbps links simultaneously, even when "only" routing (55mbit/s max on WRTSL54GS); this could be enhanced by having ip_conntrack optionally (not)loaded by openwrt.

Out of band disclaimer


Ok ... I know, you agree: blogger sucks for writing technical reports .. sheesshhhh :-P

References


[1]http://en.wikipedia.org/wiki/WRT54G
[2]http://wiki.openwrt.org/OpenWrtDocs/Hardware/Linksys/WRTSL54GS
[3]http://wiki.openwrt.org/OpenWrtDocs/Hardware/Linksys/WRT54GS
[4]Iperf bandwidth measurement tool: http://dast.nlanr.net/Projects/Iperf/
[5]http://downloads.openwrt.org/whiterussian/rc6/


This thread at openwrt forums talks about openwrt experiences on Linksys WRTSL54GS model, and was the starting point to encourage loading openwrt on WRTSL54GS v1.1 model.

Wednesday, December 20, 2006

[devel] multi process posix mutex

Jugando con la posibilidad de usar los mecanismos de sincronización de POSIX para threads (pthread_mutex_t, sem_t, pthread_cond_t , etc) llegué a una mini aplicación que es capaz de crear un MUTEX multiproceso de "larga vida" mediante el uso de memoria compartida:

./mproc-mutex estelock i #init
./mproc-mutex estelock l #lock
./mproc-mutex estelock l #lock again: will wait until unlock or signal (eg: Ctrl-C)
./mproc-mutex estelock u #unlock
La clave del fuente está en las sig. líneas:

int fd; char *p;
fd=shm_open(argv[1], O_RDWR|O_CREAT, 0666);
ftruncate(fd, sizeof(pthread_mutex_t));
:
p=mmap(NULL, sizeof(pthread_mutex_t), PROT_READ|PROT_WRITE, MAP_SHARED, fd, 0);
:
pthread_mutex_init(p, NULL) ;


Más explicaciones en el src: http://www.lugmen.org.ar/~jjo/jjotip/jjotip-mproc-mutex/mproc-mutex.c

Tuesday, November 28, 2006

el sueño del (wifi) pibe

Meraki mini
Mesh, wifi, corre Linux, chiquito, acce$ible:
http://www.meraki.net/mini.html
Sumándole solar-power es posible llegar a cosas como ésta:
http://www.phaster.com/golden_hill_free_web/#solar_meraki

De sueño a realidad ? ... desde mendoza-wireless lo intentaremos :-D

Friday, November 17, 2006

algunos costos de "la diaria" en Europa (desde ojos argentinos)

Anduvimos por EU con mi 1/2naranja :-D
Sana recomendación MUY importante: NO vayas haciendo la conversión a pesos (que en nuestro caso actualmente es 4x!) cada vez que gastás y/o masticás un bocado :), ahorrá y disponé de un monto diario... y listo.

Según pude comprobar (sin contar alojamiento) podés comer+andar con
~eu$ 15 (minimorum, de supermercado) hasta eu$35 (almuerzo y cena en bar/rest. "normales").

A modo de referencia, aquí van algunos costos & tips:
(costos tomados en Madrid , agregar ~20% para Paris, Venecia).

@Supermercado
En la mayoría venden unos sandwiches ya armaditos de lo más variados, alcanzan perfectamente para un almuerzo liviano, con lo cual para dos personas un almuerzo/cena alike no baja de aprox eu$7.-:
  • sandwich: eu$ 2.50
  • gaseosa 1.5lt/ jugo natural 1lt: eu$2.0
  • pan en rodajas: eu$2.0
  • queso en fetas (~10): eu$2.0
  • bandeja de ensalada fresca: eu$2.5
  • yogurt bebible 1lt.: eu$2.0
@Restaurant
Restaurant simple (obvio):
  • Una pizza compartida para dos + dos jugos/gaseosa: eu$20
  • Un par de platos de spaguetti + jugo/gaseosa: eu$22
@FastFood
Ref: fastfood del Louvre (onda patio de comidas):
  • comida ppal (varias opciones)+postre(tarta)+gaseosa 1/2lt: eu$11,90
  • un helado mediano: eu$ 3
@Alojamiento
Hoteles ~3 estrellas:
  • single: eu$ 65-80, sumar eu$10-15 por cada persona adicional
@Transporte
El transporte público es muy bueno y --según dicen-- seguro (Madrid, Barcelona, Paris).
TIP: en Barcelona comprá un boleto "T10" que trae 10 pasaje pero cuesta ~6 nomás *Y* te sirve para
usarlo en metro+bus+tranvía el MISMO pasaje (dentro de 1:15hr del primer uso);
además no es personal (varios pueden usar el mismo T10).

  • metro(subte): eu$ 1.0
  • tren cercanía (depende de distancia): eu$ 1.2 para arriba
  • bus (1hr. de viaje , 40km): eu$ 3.0
@Museos
TIP: Algo que tienen muy piola es que podés salir/entrar durante el día con la sola entrada,
así que te conviene ir a la mañana temprano así te queda +tiempo.
  • del Prado: eu$6, GRATIS LOS DOMINGOS
  • Louvre: eu$8.5
  • Versalles: eu$6. GRATIS EL 1er DOMINGO de c/mes
@Auto
A pesar que no anduvimos en auto, anoté algunos precios:
  • nafta: eu$1.2 aprox
  • peajes: CARISIMOS, según me dijeron en gral costo peaje iguala al del combustible.

Saturday, November 11, 2006

Paseando por SIMO

En este momento estoy en SIMO , en el stand de gnuLinEx, felizmente tipeando desde una Linux BOX :-).

Impresionante lo de la gente de la Junta de Extremadura ... se respira y vive software libre aquí, han puesto alrededor de unas 80 Linux BOXes instaladas con las distintas flavors de linex (estación de juegos, oficina, pymes) + conferencias
técnicas (en este momento está hablando la gente de MozillaES).

Por supuesto ... M$ tiene un pabellón completo para sí mismo... pero "no os asustéis" ... muchas boludeces y poco core.

--JuanJo (como pez en H2O)