4paradigm / 4paradigm/OpenMLDB
Optimize concurrent access for aggregators
- Lenguaje dominante
- C++
- Estrellas
- 1.7k
- Forks
- 331
- Merge medio
- 12 d 12 h
- PR fusionados (30 d)
- 1
Descripción
**Describe the feature you'd like**
The aggregators may be accessed concurrently. Now each of the aggregators is protected by its mutex. It is costly in terms of memory usage.
We should design a more efficient thread-safe method to access the aggregators.
Some possible directions:
1. introduce the implementation of concurrent hashmap from third-party libraries.
2. asynchronous update for the aggregators
3. introduce some `atomic` way to eliminate the `lock`
**Additional context**
pre-aggregators update during `Put` request
src/storage/aggregator.h
Guía de contribución
Línea de trabajo
Los agregadores están definidos en src/storage/aggregator.h y se utilizan durante las solicitudes Put. Examine el uso actual de mutexes y los patrones de acceso concurrente. Investigue bibliotecas de mapas hash concurrentes de terceros u operaciones atómicas adecuadas para C++. Un cambio satisfactorio mantendrá la seguridad de los hilos y reducirá la sobrecarga de memoria, y probablemente requerirá realizar benchmarks.
Escrito por el modelo de indexación a partir del texto del issue.
Evaluación
- Stack tecnológico
- cpp
- Área
- backend, databases, performance
- Tipo de issue
- Refactorización
- Dificultad
- 5/5
- Tiempo estimado
- Más de una semana
- Estado de actividad
- Estancado
- Claridad
- Bastante claro
- Aptitud para principiantes
- 25/100