4paradigm / 4paradigm/OpenMLDB

Optimize concurrent access for aggregators

Abierto
#1,559 5 comentarios 0 reacciones 2 asignados Reclamado por @zhanghaohit Ver en GitHub
enhancement
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

Abrir la 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

Recibe los nuevos issues en tu correo

Un resumen breve de issues de GitHub para principiantes.