Académico Empresa Eventos NI Developer Zone Soporte Soluciones Productos y Servicios Comuníquese con NI MyNI

Tipo de Documento: Tutorial
Soportado por NI: Sí
Fecha de Publicación: 07-feb-2008


Retroalimentación


No

Categorías Relacionadas

Tecnología

Enlaces Relacionados - Developer Zone

Enlaces Relacionados - Products and Services

Diseñando Sistemas Paralelos de Pruebas de Alto Desempeño con LabVIEW

0 calificación(es) | 0.00 de 5
Ver en | Imprimir

Los arquitectos de sistemas de pruebas deben interpretar las tecnologías cambiantes, tal como el caso de los procesadores multinúcleo y los buses de datos de alta velocidad, a medida que ellos diseñen, desarrollen e implementen sistemas de prueba.

Frank Lloyd Wright, un influyente arquitecto del siglo XX, dijo una vez, “Cada gran arquitecto… debe ser un gran intérprete original de su tiempo, sus días y su era.” Lo mismo puede ser dicho para los arquitectos de sistemas de prueba. Ellos deben interpretar las tecnologías que evolucionan, tales como los procesadores multinúcleo y los buses de datos de alta velocidad como PCI Express, a medida que ellos diseñan, desarrollan e implementan los sistemas que les han sido encomendados para construcción. Combinando estas tecnologías con el software LabVIEW de National Instruments y el software administrador de prueba NI TestStand, ingenieros de prueba pueden crear sistemas de prueba de alto desempeño capaces de procesamiento paralelo, de mediciones paralelas e incluso de pruebas totalmente paralelas en el piso de producción.

Procesamiento Paralelo

En los diseños tradicionales de CPU, el desempeño está limitado por desafíos pragmáticos tales como la disipación de calor debido a las altas velocidades de reloj. Para asegurar que la plataforma de PC no se quede atrás ante las demandas crecientes en procesamiento, los fabricantes de chips han desarrollado nuevos procesadores con múltiples núcleos de procesamiento. Para que las aplicaciones automatizadas de pruebas aprovechen los beneficios del desempeño y rendimiento de la tecnología multinúcleo, las aplicaciones de software deben apuntar hacia los múltiples núcleos de procesamiento creando múltiples hilos que se ejecuten en los núcleos.


[+] Ampliar Imagen

Figura 1. El compilador de LabVIEW crea hilos separados de ejecución para secciones paralelas de código, sin configuración requerida por parte del usuario.

 

Sin embargo, escribir aplicaciones multihilo en un lenguaje de programación basado en texto, tal como C, no es algo trivial para la mayoría de los diseñadores e ingenieros de prueba y requiere de experiencia en la semántica de creación y administración de hilos y de pasar datos a través de ellas en forma hilo seguro. Al usar ambientes de programación gráficos, tal como NI LabVIEW, ingenieros pueden aprovechar totalmente el poder del procesamiento multinúcleo. Como se muestra en la Figura 1, dos ciclos en LabVIEW que no comparten una dependencia de dato automáticamente se ejecutarán en hilos separados abstrayendo los detalles de la administración de hilos lejos del desarrollador.

Mediciones Paralelas

Las mediciones paralelas requieren que cada uno de los subcomponentes de un sistema de prueba, no solo el componente de procesamiento, soporten un modelo paralelo. Esto incluye la transferencia y la adquisición de datos.

Figura 2. PCI Express provee ancho de banda dedicado en lugar de transferencia compartida de datos, incrementando significativamente la cantidad de datos que usted puede adquirir y transferir a disco.

 

La mayoría de los buses de transferencia de datos para instrumentación modular de hoy en día – incluyendo PCI, USB, Ethernet y GPIB – no soportan un modelo de transferencia de datos completamente paralelo debido a que los dispositivos en el bus comparten el ancho de banda. Si la tasa de adquisición o generación acumulada de los dispositivos de E/S es mayor a la velocidad a la cual el bus está disponible, se podrían perder datos. Una solución común para este problema es realizar mediciones secuenciales e integrar grandes bufers de memoria en la tarjeta de E/S para que así los datos no se pierdan mientras esperan por la disponibilidad del bus de comunicaciones.

En contraste, PCI Express, lo último en buses de transferencia de datos de alto desempeño, ofrece un ancho de banda dedicado para cada dispositivo mientras entrega un rendimiento aún mayor que cualquiera de los otros buses comerciales de comunicación mencionados previamente. Disponible en x1, x4, x8 y x16 líneas (pronunciado “por 1,” “por 4” y así sucesivamente), PCI Express provee 250 MB/s de rendimiento útil por línea. Las opciones x1 y x4 son las más comunes para hardware de tipo instrumentación y proveen 250 MB/s y 1 GB/s (cuatro líneas a 250 MB/s) de rendimiento dedicado, respectivamente.

 


[+] Ampliar Imagen

Figura 3. PCI Express y la instrumentación modular proveen un modelo escalable para mediciones paralelas.

 

A medida que una tarjeta PCI Express adquiere datos, estos son transferidos desde la memoria en la tarjeta a través de una línea PCI Express dedicada y fluyen hacia un disco duro o hacia la memoria del sistema. Una vez en la memoria del sistema, la aplicación LabVIEW puede acceder los datos, y si se emplea junto con un procesador multinúcleo, la medición paralela se completa, abarcando desde señales hasta mediciones finales.

Prueba Paralela

Con el procesamiento multinúcleo, PCI Express y LabVIEW, arquitectos de pruebas pueden crear sistemas paralelos de medición capaces de probar una sola unidad bajo prueba (UUT) a la vez. La definición de prueba paralela, sin embargo, es que múltiples UUTs sean sometidas simultáneamente a prueba. La alternativa es probar secuencialmente UUTs, una después de la otra. Aunque las pruebas paralelas claramente reducen el tiempo de prueba agregado, incrementan el rendimiento de la misma y mejoran el uso de los instrumentos (ver Figura 4), la complejidad de desarrollar un sistema paralelo de prueba puede ser totalmente prohibitivo. El desarrollo de software administrador de pruebas que implemente la prueba de múltiples UUTs al mismo tiempo requiere de una comprensión a bajo nivel de como el sistema operativo trabaja con operaciones en paralelo, tal como el caso de Windows Critical Sections, y consideraciones cuidadosas de cómo implementar el compartir múltiples instrumentos a través de varias UUTs sin crear conflictos o cuellos de botella.


[+] Ampliar Imagen

Figura 4. Probar múltiples UUTs en paralelo reduce la agregación de tiempo de prueba mientras mejora el uso de los instrumentos.

 

Una alternativa para desarrollar un sistema personalizado de prueba paralela desde el principio es usar un software administrador de prueba comercial, tal como NI TestStand. NI TestStand abstrae la complejidad de bajo nivel en el desarrollo de sistemas de pruebas paralelas usando características incluidas para la ejecución de secuencias paralelas de prueba en múltiples hilos y administrando tanto los recursos de sistema operativo como de instrumentos.

Completando la Arquitectura de Pruebas Paralelas

Los procesadores multinúcleo y PCI Express están cambiando el panorama de las PC modernas y están ayudando a la programación gráfica de LabVIEW cumplir la promesa de ofrecer un procesamiento y mediciones verdaderamente paralelas basados en el flujo de datos de la lógica de un ingeniero. Cuando NI TestStand se emplea en conjunto, se completa la arquitectura de pruebas paralelas. El resultado son sistemas de prueba con un rendimiento mejorado de datos, usando PCI Express; un poder de procesamiento mejorado, usando LabVIEW y procesadores multinúcleo; y finalmente costos de prueba totales disminuidos por UUT, usando NI TestStand.

– S. Craig Anderson

S. Craig Anderson es el gerente del grupo de mercadotecnica para  Software de Pruebas. El posee una Licenciatura en Ciencias en Ingeniería Eléctrica de la Brigham Young University.

Para aprender más sobre la creación de arquitecturas de pruebas paralelas con LabVIEW, visite ni.com/info e ingrese nsi7302.

 

0 calificación(es) | 0.00 de 5
Ver en | Imprimir

Legal
Este tutorial (este "tutorial") fue desarrollado por National Instruments (“NI”). Aunque el soporte técnico para este tutorial sea proporcionado por National instruments, el contenido de este tutorial puede no estar completamente verificado y probado y NI no garantiza su calidad, ni que NI continuará proporcionando soporte a este contenido en cada nueva revisión de productos y controladores relacionados. ESTE TUTORIAL ES PROPORCIONADO "COMO ES" SIN GARANTÍA DE NINGUN TIPO Y SUJETO A CIERTAS RESTRICCIONES QUE SE EXPONEN EN LOS TÉRMINOS DE USO EN NI.COM (http://ni.com/legal/termsofuse/unitedstates/us/).