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 de computadora 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 de la transferencia 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 en la 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", e informes y toma de decisiones más rápidos en los negocios. [3]
Se pueden dividir conjuntos de datos extremadamente grandes entre sistemas cooperantes como cuadrículas de datos en memoria .
Hardware (PIM)
PIM podría implementarse mediante: [4]
- Procesamiento usando memoria (PuM)
- Agregar capacidad de procesamiento limitada (por ejemplo, unidades de multiplicación de punto flotante, operaciones de filas de 4K como copiar o 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 el caché de la CPU, sino que se traten 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 tabletas modernos utilizan con frecuencia técnicas de procesamiento en memoria para mejorar el rendimiento de las aplicaciones. Esto puede resultar en 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] El acceso rápido a los datos es fundamental para proporcionar una experiencia de juego fluida.
- Ciertos dispositivos portátiles, como relojes inteligentes y rastreadores de actividad física, pueden incorporar procesamiento en memoria para procesar rápidamente los datos de los sensores y proporcionar comentarios en tiempo real a los usuarios. Varios dispositivos comunes utilizan 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 de la interfaz y la entrega de contenido. Se utiliza en cámaras digitales para 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 de los usuarios.
- El procesamiento en memoria también lo utilizan los sistemas integrados en electrodomésticos y cámaras digitales de alta gama para un manejo eficiente de los datos. A través de técnicas de procesamiento en memoria, ciertos dispositivos de IoT priorizan el procesamiento de datos y los tiempos de respuesta rápidos. [8]
Software
Acceso a datos basado 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 suelen ser sistemas de gestió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 utilizar una base de datos que admite inserciones y actualizaciones, además de realizar 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 en línea multidimensional (MOLAP). Diseñar un cubo puede ser un proceso largo y elaborado, 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 consultas específicas y, aunque aumentan el rendimiento, todavía no son óptimos para responder todas las consultas ad hoc. [9]
El personal de tecnología de la información (TI) puede dedicar mucho tiempo de desarrollo 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 del disco duro es mucho más lenta (posiblemente cientos de veces) en comparación con la lectura de los mismos datos de la RAM. Especialmente cuando se analizan grandes volúmenes de datos, el rendimiento se ve gravemente degradado. Aunque SQL es una herramienta muy poderosa, las consultas complejas arbitrarias con una implementación basada en disco tardan relativamente mucho tiempo en ejecutarse y, a menudo, reducen el rendimiento del procesamiento transaccional. Para obtener resultados en un tiempo de respuesta aceptable, muchos almacenes de datos se han diseñado para calcular previamente resúmenes y responder únicamente a consultas específicas. Se necesitan algoritmos de agregación optimizados para aumentar el rendimiento.
Acceso a datos en memoria
Tanto con la base de datos en memoria como con la cuadrícula 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 tres órdenes de magnitud más rápido que las bases de datos relacionales que tienen funcionalidades avanzadas como ACID , que degradan el rendimiento en compensación por la funcionalidad adicional. La llegada de las bases de datos centradas en columnas , que almacenan información similar de forma conjunta, permiten almacenar los datos de forma más eficiente y con mayores ratios de compresión . Esto permite almacenar enormes cantidades de datos en un mismo espacio físico, reduciendo la cantidad de memoria necesaria para realizar una consulta y aumentando la velocidad de procesamiento. Muchos usuarios y proveedores de software han integrado memoria flash en sus sistemas para permitir que los sistemas escale a conjuntos de datos más grandes de manera 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 se diferencia del almacenamiento en caché , un método muy utilizado para acelerar el rendimiento de las consultas, en que los cachés son subconjuntos de datos organizados predefinidos muy específicos. Con las 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. Múltiples usuarios o aplicaciones pueden acceder rápidamente a él a un nivel detallado y ofrece la posibilidad de realizar análisis mejorados y de escalar y aumentar la velocidad de una aplicación. Teóricamente, la mejora en la velocidad de acceso a datos es de 10.000 a 1.000.000 de veces en comparación con el disco. [ cita necesaria ] También minimiza la necesidad de ajustar el 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 comerciales han tendido a aumentar las ventajas relativas de la tecnología en memoria. [11]
- Siguiendo la ley de Moore , el número de transistores por unidad cuadrada se duplica cada dos años aproximadamente. Esto se refleja en cambios en el precio, el rendimiento, el embalaje y las capacidades de los componentes. El precio de la memoria de acceso aleatorio y la potencia informática 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. Además, las innovaciones de hardware, como la arquitectura multinúcleo , la memoria flash NAND , los servidores paralelos y una mayor capacidad de procesamiento de 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 eficientes en memoria. [12]
- La llegada de los sistemas operativos de 64 bits , que permiten acceder a mucha más 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 escale a muchos Terabytes de manera más económica.
- Los crecientes volúmenes de datos han significado que los almacenes de datos tradicionales pueden ser 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 disco con datos operativos puede provocar retrasos y datos obsoletos. El procesamiento en memoria puede permitir un acceso más rápido a terabytes de datos para obtener mejores informes en tiempo real.
- El procesamiento en memoria puede estar disponible a un costo menor en comparación con el procesamiento basado en disco y puede implementarse y mantenerse más fácilmente. Según una encuesta de Gartner, [13] implementar herramientas de BI tradicionales puede llevar hasta 17 meses.
- Disminuciones en el consumo de energía y aumentos en el rendimiento debido a una menor latencia de acceso y mayor ancho de banda de memoria y paralelismo de hardware. [14]
Aplicación en los negocios
Una gama de productos en memoria brinda la capacidad de conectarse a fuentes de datos existentes y acceder a paneles interactivos visualmente ricos. Esto permite a los analistas de negocios y a los usuarios finales crear informes y consultas personalizados sin mucha capacitación o experiencia. La fácil navegación y la capacidad de modificar consultas sobre la marcha benefician a 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 resultar especialmente beneficioso en centros de llamadas y 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 de los servidores de bases de datos. Al programar el llenado de la base de datos en memoria durante la noche, los servidores de la base de datos se pueden utilizar con 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 donde 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 servicios de presentación de informes; aún puede no ser rentable cuando la información no está sujeta a cambios rápidos. La seguridad es otra consideración, ya que las herramientas en memoria exponen enormes cantidades de datos a los usuarios finales. Los fabricantes recomiendan asegurarse de que sólo los usuarios autorizados tengan acceso a los datos.
Ver también
Referencias
- ^ Ghose, S. (noviembre de 2019). "Procesamiento en memoria: una perspectiva basada en la carga de trabajo" (PDF) . Revista IBM de investigación y desarrollo . 63 (6): 3:1–19. doi :10.1147/JRD.2019.2934048. S2CID 202025511.
- ^ Zhang, Hao; Pandilla Chen; Beng Chin Ooi; Kian-Lee Tan; Meihui Zhang (julio de 2015). "Gestión y procesamiento de big data en memoria: una encuesta". Transacciones IEEE sobre conocimiento e ingeniería de datos . 27 (7): 1920-1948. doi : 10.1109/TKDE.2015.2427795 .
- ^ Plattner, Hasso; Zeier, Alejandro (2012). Gestión de datos en memoria: tecnología y aplicaciones. Medios de ciencia y negocios de Springer. ISBN 9783642295744.
- ^ "Curso de procesamiento en memoria: Conferencia 1: Exploración del paradigma PIM para sistemas futuros - Primavera de 2022".
- ^ Parque, Kate (27 de julio de 2023). "Samsung amplía el recorte en la producción de chips de memoria y, en su lugar, se centrará en chips de IA de alta gama" . TechCrunch . Consultado el 5 de diciembre de 2023 .
- ^ Bronceado, 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 la perspectiva del software y el hardware". Registro ACM SIGMOD . 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". 2022 Simposio Internacional IEEE sobre Circuitos y Sistemas (ISCAS) . 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?". Análisis de negocio . Consultado el 5 de diciembre de 2023 .
- ^ Gill, John (2007). "Cambiar el paradigma de BI con tecnologías de bases de datos en memoria". Revista de Inteligencia Empresarial . 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) . Cuadro. Archivado desde el original (PDF) el 25 de abril de 2012.
- ^ "Análisis en memoria". aleta amarilla. pag. 6.
- ^ Kote, Sparjan. "Computación en memoria en Business Intelligence". Archivado desde el original el 24 de abril de 2011.
- ^ "Análisis de la encuesta: por qué la adopción de BI y análisis 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 compensaciones de diseño de arquitectura PIM avanzada". Actas de la conferencia ACM/IEEE SC2004. Pittsburgh, PA, EE.UU.: IEEE. pag. 12. doi :10.1109/SC.2004.11. ISBN 978-0-7695-2153-4. S2CID 9089044.