https://github.com/carlosrs14/parallel-data-preprocessig-system
A parallel data preprocessing system using threads and synchronization mechanisms (barrier, busy-waiting, condition variables) to clean and prepare data for AI training.
https://github.com/carlosrs14/parallel-data-preprocessig-system
barrier-method c condition-variable data operative-systems parallel-computing posix preprocessing synchronization threads
Last synced: 6 months ago
JSON representation
A parallel data preprocessing system using threads and synchronization mechanisms (barrier, busy-waiting, condition variables) to clean and prepare data for AI training.
- Host: GitHub
- URL: https://github.com/carlosrs14/parallel-data-preprocessig-system
- Owner: carlosrs14
- Created: 2025-05-30T20:05:32.000Z (8 months ago)
- Default Branch: master
- Last Pushed: 2025-05-30T23:06:46.000Z (8 months ago)
- Last Synced: 2025-05-31T07:55:29.327Z (8 months ago)
- Topics: barrier-method, c, condition-variable, data, operative-systems, parallel-computing, posix, preprocessing, synchronization, threads
- Language: C
- Homepage:
- Size: 3.64 MB
- Stars: 0
- Watchers: 0
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# Sistema Paralelo de Preprocesamiento de Datos.
### Universidad del Magdalena - Ingeniería de Sistemas.
**Curso:** Sistemas Operativos.
**Tema:** Sincronización y Procesamiento Paralelo con pthread.
**Autores:** Jiménez Rossimar y Rincones Carlos.
---
## Objetivo.
Diseñar e implementar una solución multihilo que realice, en paralelo, tareas de **preprocesamiento de datos textuales**, aplicando técnicas comunes de NLP (Procesamiento de Lenguaje Natural), utilizando métodos de sincronización como:
- Barreras.
- Variables de condición.
- Espera activa.
---
## Técnicas de Preprocesamiento Usadas.
Cada hilo aplica las siguientes técnicas sobre sus filas de la matriz cargadas en ram con anterioridad:
1. Conversión a minúsculas.
2. Eliminación de signos de puntuación.
3. Eliminación de números.
4. Eliminación de stopwords.
---
## Arquitectura General del Sistema.
El sistema se basa en un modelo de procesamiento por bloques:
- Los datos se representan como una matriz `N x M`, donde cada fila contiene un comentario.
- Cada hilo procesa una o varias filas de esta matriz por ronda.
- De este problema se implementarán tres versiones de la solución para poder compararlas en ciertos aspectos, las versiones de la solución se harán cada uno con:
- **Barrera.**
- **Variable de condición.**
- **Espera activa.**
- Debido a la carga computacional que genera la creación de los hilos, se mantiene la persistencia de los hilos durante todas las rondas.