Tecnología de procesamiento de datos
El término se utiliza para dos cosas diferentes:
- En informática , el procesamiento en memoria (PIM) es una arquitectura informática en la que las operaciones de datos están disponibles directamente en la memoria de datos, en lugar de tener que transferirse primero a los registros de la CPU . [1] Esto puede mejorar el uso de energía y el rendimiento del movimiento de datos entre el procesador y la memoria principal.
- En ingeniería de software , el procesamiento en memoria es una arquitectura de software en la que una base de datos se mantiene completamente en la memoria de acceso aleatorio (RAM) o memoria flash, de modo que los accesos habituales, en particular las operaciones de lectura o consulta, no requieren acceso al almacenamiento en disco . [2] Esto puede permitir operaciones de datos más rápidas, como "uniones", y una generación de informes y toma de decisiones más rápida en los negocios. [3]
Es posible dividir conjuntos de datos extremadamente grandes entre sistemas cooperativos como cuadrículas de datos en memoria .
Hardware (PIM)
El PIM podría implementarse mediante: [4]
- Procesamiento mediante memoria (PuM)
- Agregar capacidad de procesamiento limitada (por ejemplo, unidades de multiplicación de punto flotante, operaciones de fila de 4K como copiar o poner a cero, operaciones bit a bit en dos filas) a módulos de memoria convencionales (por ejemplo, módulos DIMM); o
- Agregar capacidad de procesamiento a los controladores de memoria para que los datos a los que se accede no necesiten reenviarse a la CPU ni afectar la memoria caché de la CPU, sino que se procesen de inmediato.
- Procesamiento cercano a la memoria (PnM)
- Nuevas disposiciones 3D de silicio con capas de memoria y capas de procesamiento.
Aplicación de la tecnología en memoria en la vida cotidiana
Los teléfonos inteligentes y las tabletas modernos suelen utilizar técnicas de procesamiento en memoria para mejorar el rendimiento de las aplicaciones. Esto puede dar como resultado tiempos de carga de aplicaciones más rápidos y experiencias de usuario más agradables.
- Las consolas de juegos como PlayStation y Xbox pueden utilizar el procesamiento en memoria para mejorar la velocidad del juego. [5] [ verificación fallida ] El acceso rápido a los datos es fundamental para proporcionar una experiencia de juego fluida.
- Algunos dispositivos portátiles, como los relojes inteligentes y los rastreadores de actividad física, pueden incorporar procesamiento en memoria para procesar rápidamente los datos de los sensores y proporcionar información en tiempo real a los usuarios. Varios dispositivos comunes utilizan el procesamiento en memoria para mejorar el rendimiento y la capacidad de respuesta. [6]
- Los televisores inteligentes utilizan el procesamiento en memoria para mejorar la navegación por la interfaz y la entrega de contenido. Se utiliza en cámaras digitales para el procesamiento, filtrado y efectos de imágenes en tiempo real. [7] Los asistentes activados por voz y otros sistemas de automatización del hogar pueden beneficiarse de una comprensión y respuesta más rápidas a las órdenes del usuario.
- El procesamiento en memoria también se utiliza en sistemas integrados en electrodomésticos y cámaras digitales de alta gama para un manejo eficiente de los datos. Mediante técnicas de procesamiento en memoria, ciertos dispositivos IoT priorizan el procesamiento rápido de datos y los tiempos de respuesta. [8]
Software
Acceso a datos basados en disco
Estructuras de datos
Con la tecnología basada en disco, los datos se cargan en el disco duro de la computadora en forma de múltiples tablas y estructuras multidimensionales contra las cuales se ejecutan las consultas. Las tecnologías basadas en disco a menudo son sistemas de administración de bases de datos relacionales (RDBMS), a menudo basados en el lenguaje de consulta estructurado ( SQL ), como SQL Server , MySQL , Oracle y muchos otros. Los RDBMS están diseñados para los requisitos del procesamiento transaccional . Al usar una base de datos que admite inserciones y actualizaciones, así como la realización de agregaciones, las uniones (típicas en las soluciones de BI) suelen ser muy lentas. Otro inconveniente es que SQL está diseñado para recuperar filas de datos de manera eficiente, mientras que las consultas de BI generalmente implican la recuperación de filas parciales de datos que implican cálculos pesados.
Para mejorar el rendimiento de las consultas, se pueden construir bases de datos multidimensionales o cubos OLAP (también llamados procesamiento analítico multidimensional en línea, MOLAP). El diseño de un cubo puede ser un proceso elaborado y largo, y cambiar la estructura del cubo para adaptarlo a las necesidades empresariales que cambian dinámicamente puede resultar engorroso. Los cubos se rellenan previamente con datos para responder a consultas específicas y, aunque aumentan el rendimiento, todavía no son óptimos para responder a todas las consultas ad hoc. [9]
El personal de tecnología de la información (TI) puede dedicar un tiempo de desarrollo sustancial a optimizar bases de datos, construir índices y agregados , diseñar cubos y esquemas en estrella , modelar datos y analizar consultas. [10]
Velocidad de procesamiento
La lectura de datos desde el disco duro es mucho más lenta (posiblemente cientos de veces) en comparación con la lectura de los mismos datos desde la RAM. Especialmente cuando se analizan grandes volúmenes de datos, el rendimiento se degrada gravemente. Aunque SQL es una herramienta muy potente, las consultas complejas arbitrarias con una implementación basada en disco tardan un tiempo relativamente largo en ejecutarse y, a menudo, provocan una reducción del rendimiento del procesamiento transaccional. Para obtener resultados en un tiempo de respuesta aceptable, muchos almacenes de datos se han diseñado para calcular resúmenes de antemano y responder solo a consultas específicas. Se necesitan algoritmos de agregación optimizados para aumentar el rendimiento.
Acceso a datos en memoria
Tanto en las bases de datos en memoria como en las cuadrículas de datos , toda la información se carga inicialmente en la memoria RAM o en la memoria flash en lugar de en los discos duros . Con una cuadrícula de datos, el procesamiento se produce a un orden de magnitud más rápido que en las bases de datos relacionales que tienen una funcionalidad avanzada como ACID , que degrada el rendimiento en compensación por la funcionalidad adicional. La llegada de las bases de datos centradas en columnas , que almacenan información similar en conjunto, permite almacenar los datos de forma más eficiente y con mayores índices de compresión . Esto permite almacenar enormes cantidades de datos en el mismo espacio físico, lo que reduce la cantidad de memoria necesaria para realizar una consulta y aumenta la velocidad de procesamiento. Muchos usuarios y proveedores de software han integrado la memoria flash en sus sistemas para permitir que los sistemas escalen a conjuntos de datos más grandes de forma más económica.
Los usuarios consultan los datos cargados en la memoria del sistema, evitando así un acceso más lento a la base de datos y cuellos de botella en el rendimiento . Esto difiere del almacenamiento en caché , un método muy utilizado para acelerar el rendimiento de las consultas, en que las cachés son subconjuntos de datos organizados predefinidos muy específicos. Con herramientas en memoria, los datos disponibles para el análisis pueden ser tan grandes como un data mart o un pequeño almacén de datos que está completamente en la memoria. Esto puede ser accedido rápidamente por múltiples usuarios o aplicaciones concurrentes a un nivel detallado y ofrece el potencial para análisis mejorados y para escalar y aumentar la velocidad de una aplicación. Teóricamente, la mejora en la velocidad de acceso a los datos es de 10,000 a 1,000,000 de veces en comparación con el disco. [ cita requerida ] También minimiza la necesidad de ajuste del rendimiento por parte del personal de TI y proporciona un servicio más rápido para los usuarios finales.
Ventajas de la tecnología de procesamiento en memoria
Ciertos avances en la tecnología informática y las necesidades empresariales han tendido a aumentar las ventajas relativas de la tecnología en memoria. [11]
- Según la ley de Moore , la cantidad de transistores por unidad cuadrada se duplica cada dos años aproximadamente. Esto se refleja en cambios en el precio, el rendimiento, el empaquetado y las capacidades de los componentes. El precio de la memoria de acceso aleatorio y la potencia de procesamiento de la CPU en particular han mejorado a lo largo de las décadas. El procesamiento de la CPU, la memoria y el almacenamiento en disco están sujetos a alguna variación de esta ley. Asimismo, las innovaciones de hardware como la arquitectura multinúcleo , la memoria flash NAND , los servidores paralelos y la mayor capacidad de procesamiento de la memoria han contribuido a la viabilidad técnica y económica de los enfoques en memoria.
- A su vez, las innovaciones de software como las bases de datos centradas en columnas, las técnicas de compresión y el manejo de tablas agregadas, permiten productos en memoria eficientes. [12]
- La aparición de los sistemas operativos de 64 bits , que permiten acceder a mucha más memoria RAM (hasta 100 GB o más) que los 2 o 4 GB accesibles en los sistemas de 32 bits . Al proporcionar Terabytes (1 TB = 1024 GB) de espacio para almacenamiento y análisis, los sistemas operativos de 64 bits hacen que el procesamiento en memoria sea escalable. El uso de memoria flash permite que los sistemas se escalen a muchos Terabytes de manera más económica.
- El aumento de los volúmenes de datos ha hecho que los almacenes de datos tradicionales sean menos capaces de procesar los datos de manera oportuna y precisa. El proceso de extracción, transformación y carga (ETL) que actualiza periódicamente los almacenes de datos basados en discos con datos operativos puede generar demoras y datos obsoletos. El procesamiento en memoria puede permitir un acceso más rápido a terabytes de datos para generar mejores informes en tiempo real.
- El procesamiento en memoria puede resultar más económico que el procesamiento basado en disco y su implementación y mantenimiento son más sencillos. Según una encuesta de Gartner [13] , la implementación de herramientas de inteligencia empresarial tradicionales puede llevar hasta 17 meses.
- Disminución del consumo de energía y aumento del rendimiento debido a una menor latencia de acceso, un mayor ancho de banda de memoria y paralelismo de hardware. [14]
Aplicación en los negocios
Una gama de productos en memoria ofrece la posibilidad de conectarse a fuentes de datos existentes y acceder a paneles interactivos visualmente enriquecidos. Esto permite a los analistas de negocios y usuarios finales crear informes y consultas personalizados sin mucha capacitación o experiencia. La navegación sencilla y la capacidad de modificar consultas sobre la marcha son beneficiosas para muchos usuarios. Dado que estos paneles se pueden completar con datos nuevos, los usuarios tienen acceso a datos en tiempo real y pueden crear informes en cuestión de minutos. El procesamiento en memoria puede ser particularmente beneficioso en los centros de llamadas y la gestión de almacenes.
Con el procesamiento en memoria, la base de datos de origen se consulta solo una vez en lugar de acceder a la base de datos cada vez que se ejecuta una consulta, lo que elimina el procesamiento repetitivo y reduce la carga en los servidores de bases de datos. Al programar el llenado de la base de datos en memoria durante la noche, los servidores de bases de datos se pueden utilizar para fines operativos durante las horas pico.
Adopción de tecnología en memoria
Con una gran cantidad de usuarios, se necesita una gran cantidad de RAM para una configuración en memoria, lo que a su vez afecta los costos de hardware. Es más probable que la inversión sea adecuada en situaciones en las que la velocidad de respuesta a las consultas es una alta prioridad y donde hay un crecimiento significativo en el volumen de datos y un aumento en la demanda de instalaciones de generación de informes; aún puede no ser rentable donde la información no está sujeta a cambios rápidos. La seguridad es otro factor a considerar, ya que las herramientas en memoria exponen enormes cantidades de datos a los usuarios finales. Los fabricantes recomiendan asegurarse de que solo los usuarios autorizados tengan acceso a los datos.
Véase también
Referencias
- ^ Ghose, S. (noviembre de 2019). "Procesamiento en memoria: una perspectiva basada en la carga de trabajo" (PDF) . IBM Journal of Research and Development . 63 (6): 3:1–19. doi :10.1147/JRD.2019.2934048. S2CID 202025511.
- ^ Zhang, Hao; Gang Chen; Beng Chin Ooi; Kian-Lee Tan; Meihui Zhang (julio de 2015). "Gestión y procesamiento de big data en memoria: una encuesta". IEEE Transactions on Knowledge and Data Engineering . 27 (7): 1920–1948. doi : 10.1109/TKDE.2015.2427795 .
- ^ Plattner, Hasso; Zeier, Alexander (2012). Gestión de datos en memoria: tecnología y aplicaciones. Springer Science & Business Media. ISBN 9783642295744.
- ^ "Curso de procesamiento en memoria: lección 1: exploración del paradigma PIM para sistemas futuros - Primavera de 2022". YouTube . 10 de marzo de 2022.
- ^ Park, Kate (27 de julio de 2023). "Samsung amplía el recorte en la producción de chips de memoria y se centrará en chips de IA de alta gama". TechCrunch . Consultado el 5 de diciembre de 2023 .
- ^ Tan, Kian-Lee; Cai, Qingchao; Ooi, Beng Chin; Wong, Weng-Fai; Yao, Chang; Zhang, Hao (12 de agosto de 2015). "Bases de datos en memoria: desafíos y oportunidades desde las perspectivas del software y el hardware". ACM SIGMOD Record . 44 (2): 35–40. doi :10.1145/2814710.2814717. ISSN 0163-5808. S2CID 14238437.
- ^ Fatemieh, Seyed Erfan; Reshadinezhad, Mohammad Reza; Taherinejad, Nima (2022). "Computación aproximada en memoria utilizando lógica IMPLY memristiva y su aplicación al procesamiento de imágenes". Simposio internacional IEEE sobre circuitos y sistemas (ISCAS) de 2022. págs. 3115–3119. doi :10.1109/ISCAS48785.2022.9937475. ISBN 978-1-6654-8485-5. S2CID 253462291 . Consultado el 5 de diciembre de 2023 .
- ^ "¿Qué es el procesamiento en memoria (PIM) y cómo funciona?". Business Analytics . Consultado el 5 de diciembre de 2023 .
- ^ Gill, John (2007). "Cambiando el paradigma de BI con tecnologías de bases de datos en memoria". Business Intelligence Journal . 12 (2): 58–62. Archivado desde el original el 24 de septiembre de 2015.
- ^ Earls, A (2011). Consejos para evaluar, implementar y administrar herramientas de análisis en memoria (PDF) . Tableau. Archivado desde el original (PDF) el 25 de abril de 2012.
- ^ "Análisis en memoria". yellowfin. pág. 6.
- ^ Kote, Sparjan. "Computación en memoria en inteligencia empresarial". Archivado desde el original el 24 de abril de 2011.
- ^ "Análisis de encuesta: por qué la adopción de inteligencia empresarial y analítica sigue siendo baja y cómo ampliar su alcance". Gartner . Consultado el 5 de diciembre de 2023 .
- ^ Upchurch, E.; Sterling, T.; Brockman, J. (2004). "Análisis y modelado de las ventajas y desventajas del diseño de arquitecturas PIM avanzadas". Actas de la conferencia ACM/IEEE SC2004. Pittsburgh, PA, EE. UU.: IEEE. pág. 12. doi :10.1109/SC.2004.11. ISBN 978-0-7695-2153-4.S2CID 9089044 .