Recientemente fui "bendecido" con una AsiriArm durante el ElastixWorld celebrado en la ciudad de México. La placa Asiri es una tarjeta de hardware abierto diseñada en Latinoamerica(Ecuador) y está pensada para ser usada por los entusiastas de la electrónica y el open hardware.
Pues bien lo que nos ha dado curiosidad es comparar el performance de la Asiri vs Raspberry Pi usando el mismo SO: uElastix
Comparación de Hardware
Raspberry
Pi
|
Asiri
|
Hardware
|
ARM1176JZF-S
a
700 MHz
|
ARM926EJ-S
a 400 MHz
|
CPU
|
256
|
256
|
RAM
|
2
|
1
|
USB
|
HDMI/RCA
|
--
|
VIDEO
|
1
|
1
|
SDCARD
|
8xGPIO,
I2C SPI UART
|
3x
Serial port, I2C
|
GPIO
|
3.5mm
HDMI
|
--
|
AUDIO
|
1
|
1
|
ETHERNET
|
5V
|
12V
|
POWER
|
Como podemos apreciar el hardware de la Pi es superior al de Asiri, pero lo que vamos a probar es el desempeño de Asterisk bajo este hardware.
Las Pruebas con uElastix:
Se realizaron las siguientes pruebas usando una línea IP y el codec g729 sin IPP para probar la carga del Procesador:
Raspberry
Pi
|
Asiri
|
Pruebas
|
6.22
|
6.6
|
Carga
del CPU al arranque
|
7mins
|
5mins
|
Tiempo
para alcanzar el Reposo del CPU
|
.75
|
1.30
|
CPU
x 1 Llamada
|
1.46
|
1.74
|
CPU
x 2 Llamadas
|
1.75
|
2.31
|
CPU
x 3 Llamadas
|
2.23
|
2.65
|
CPU
x 4 Llamadas
|
2.72
|
3.12
|
CPU
x 5 Llamadas
|
.78
|
1.02
|
CPU
al Recargar Asterisk
|
2.09
|
1.05
|
10
llamadas de MOH
|
220
|
242 MB
|
Pico
de Memoria Usada
|
Conclusiones.
Para que el Hardware de la Pi sea superior al de ASIRI, me parece que en rendimiento la diferencia no es abismal como (yo) esperaría. Si bien ambas placas estaban haciendo transcoding de G729 a G711 el consumo no era mucho.
Acerca de la calidad de las llamadas.
Acerca de la calidad de las llamadas.
- Asiri: Las 2 llamadas simultáneas tenían una muy buena calidad, sin embargo el audio se comenzó a distorsionar al hacer la 3ra llamada.
- Raspberry Pi: Curiosamente la Pi presentó un comportamiento similar, las 2 primeras llamadas se escucharon bien, pero al hacer una tercera llamada el audio se distorsionó mucho
Algo que me me llamó mucho la atención es que al enviar 10 canales de MOH al teléfono Yealink T20P la Raspberry Pi consumió mucho más recursos del CPU que la Asiri.
Bien, en mi opinión la Asiri ARM es una alternativa más a placas como las ALIX. Por el momento se desconoce el precio final de una Asiri, pero ¡hey! es Open Hardware.
Bien, en mi opinión la Asiri ARM es una alternativa más a placas como las ALIX. Por el momento se desconoce el precio final de una Asiri, pero ¡hey! es Open Hardware.
Falta hacer más test y con respecto a los GPIO con la Asiri creo que la única manera de hacerlo es usando un expansor de puertos I2C.
A diferencia de la Raspberry Pi creo que la Asiri esta más enfocada a proveer un servicio de server sin la interacción con el Mundo ya que carece de GPIO o Video, pero creo que tiene un buen futuro siendo además un producto latinoamericano que ha sido acogido por OpenVox para su distribución. Si bien la board tiene una arquitectura DaVinci-ARM inclinandose mas a las boards de MCUZONE creo que vale la pena seguirlo de cerca y apoyarlo.
A diferencia de la Raspberry Pi creo que la Asiri esta más enfocada a proveer un servicio de server sin la interacción con el Mundo ya que carece de GPIO o Video, pero creo que tiene un buen futuro siendo además un producto latinoamericano que ha sido acogido por OpenVox para su distribución. Si bien la board tiene una arquitectura DaVinci-ARM inclinandose mas a las boards de MCUZONE creo que vale la pena seguirlo de cerca y apoyarlo.
- Con respecto a Apache de pronto no se podía escribir en la sesión temporal de PHP, esto ocurrió en ambas tarjetas, la solución reiniciar APACHE.
- Algo que si me dejó pensando es que (al menos mi versión) ASIRI no tiene una MAC fija, parece que la obtiene via software en cada reinicio de modo que hace imposible asignarle una IP fija(Asignada por DHCP).
- Hace falta más información acerca del uso de sus perifericos ya que contamos con varios conectores como I2C, LCD y un conector sin marcar. Esperemos que en el futuro la documentación sea más amplia con ayuda de la comunidad.
Solo veo un detalle: la RPi modelo B es de 512MB RAM (como dice en la propia imagen que pusiste). Yo tendría otras dudas:
ResponderEliminar- ¿Qué formatos de audios usan el transcoding del MOH?
- ¿Usaste la misma SD en ambas comparaciones? Digo, solo para comparar peras con peras
Un último detalle interesante sería el consumo de energía. Sé que la RPi tiene un límite de 5W por el tipo de eliminadores que utiliza, pero desconozco de la Asiri.
Buen trabajo. Ayuda a ubicar cada producto en su entorno más adecuado.
Saludos,
Hola Christian,
EliminarMis RPi son de 256 no de 512, son de los primeros modelos que salieron a la venta.
-- El formato de Transcoding era ulaw para el MOH
-- Si usé la misma SDCard 8GB clase 4
Sobre la energía actualmente tampoco estoy seguro de cuánto sea el consumo real del dispositivo.
Saludos.
Hola, donde sacaste el codec g729 para la rasberry? No lo eh podido poner a trabajar, estoy haciendo pruebas con asterisk puro y la rasberry pero no he dado con el codec compilado!
ResponderEliminarSaludos!
Lo compilé, solo que sin las librerías IPP de INTEL así que no tiene nada de optimización.
EliminarQue flags usaste para compilarlo? Estas usando este http://asterisk.hosting.lv/?
EliminarSaludos!
Ninguna en especial. Solo aplique las instrucciones de compilación generales y listo.
Eliminarjajajaja! creo que el Uelastix esta en Fedora y estoy tratando de instalarlo en Debian, alguna diferencia debe de tener en el compilador porque no quiere compilarse, solo errores de compilador! :-(
EliminarAsi es, uElastix usa Fedora 17, si no estas seguro que flags usar usa la opción "native":
Eliminar# ./configure CFLAGS= march=native
Revise la compilación en Raspbian wheezy y en efecto hay algunos problemas ya que GCC no soporta el flag 'native' pero el comando:
Eliminar# gcc -Q --help=target | grep march
Muestra la arquitectura soportada en este caso es 'armv6', así que basta con que ejecutes:
# ./configure --with-itu CFLAGS= march=armv6 && make && make install
Al finalizar tendras los modulos sin optimización para la Raspberry Pi con Debian.
Saludos.
Hola Max,
ResponderEliminarGracias, ya logre compilarlo, gracias por los flags. El desempeño es bastante malo obviamente por la falta de optimizacion. En otro foro me dijeron que hay un codec optimizado por la gente de raspbx (beta).
Por el momento sigo en pruebas, por cierto al inicio probé raspbx y si me di cuenta que el desempeño es muy superior al Uelastix.
Gracias!!
Hola, es correcto Raspbx es más ligero que uElastix ya que solo es Asterisk+FreePBX+MySQL, mientras que uElastix trae todos los componentes-o la mayoría- de Elastix. En mi opinión prefiero Asterisk Plano en plataformas embebidas. Sólo que por el momento estamos probando la placa Asiri.
EliminarSaludos.