¿Qué es la tecnología paralela en el modelo de análisis de big data?
La tecnología paralela se puede dividir en tres categorías: bibliotecas de subprocesos, bibliotecas de paso de mensajes y compatibilidad con compiladores. Las bibliotecas de subprocesos permiten el control explícito de los subprocesos; si se requiere una gestión precisa de los subprocesos, considere utilizar estas tecnologías de subprocesos explícitas. Con las bibliotecas de mensajería, las aplicaciones pueden utilizar varias computadoras simultáneamente sin tener que compartir el mismo espacio de memoria entre sí. MPI se utiliza ampliamente en informática científica. La tercera tecnología es el soporte de subprocesos implementado en el compilador, en forma de paralelización automática. Una vez que se introducen subprocesos en una aplicación, los desarrolladores pueden enfrentar un nuevo conjunto de fallas de programación (errores). Muchos de estos defectos son difíciles de detectar y requieren tiempo y atención adicionales para garantizar el correcto funcionamiento del programa.
La tecnología paralela se puede dividir en programación multiproceso y programación multiproceso. La gente siempre utiliza alguna forma de IPC (comunicación entre procesos) para lograr la sincronización entre procesos, como canalizaciones, semáforos, colas de mensajes o almacenamiento compartido (memoria compartida). De todas estas formas de IPC, la memoria compartida es la más rápida (excepto las puertas). Cuando se trata de gestión de recursos entre procesos, IPC y sincronización, puede elegir entre las definiciones POSIX o System V.
En los sistemas operativos modernos, puede haber múltiples flujos de ejecución del kernel ejecutándose al mismo tiempo. Por lo tanto, al igual que la programación multiproceso y multiproceso, el kernel también necesita algunos mecanismos de sincronización para sincronizar el intercambio de información. entre unidades de ejecución. Especialmente en sistemas multiprocesador, se necesitan algunos mecanismos de sincronización para sincronizar el acceso a datos compartidos por parte de unidades de ejecución en diferentes procesadores. El kernel de Linux convencional contiene mecanismos de sincronización que tienen casi todos los sistemas operativos modernos. Estos mecanismos de sincronización incluyen: operaciones atómicas, semáforo (semáforo), semáforo de lectura y escritura (rw_semaphore), spinlock, BKL (Big Kernel Lock), rwlock, brlock (solo). incluido en el kernel 2.4), RCU (solo incluido en el kernel 2.6) y seqlock (solo incluido en el kernel 2.6).