4paradigm / 4paradigm/OpenMLDB
Optimize concurrent access for aggregators
- Ngôn ngữ chính
- C++
- Star
- 1.7k
- Fork
- 331
- Merge trung bình
- 12 ngày 12 giờ
- Pull request đã merge (30 ngày)
- 1
Mô tả
**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
Hướng dẫn đóng góp
Hướng nghiên cứu
Các aggregator được định nghĩa trong src/storage/aggregator.h và được sử dụng trong các yêu cầu Put. Hãy kiểm tra cách sử dụng mutex hiện tại và các mẫu truy cập đồng thời. Hãy nghiên cứu các thư viện concurrent hashmap của bên thứ ba hoặc các thao tác atomic phù hợp với C++. Một thay đổi thành công sẽ duy trì tính an toàn luồng đồng thời giảm overhead bộ nhớ, và nhiều khả năng sẽ cần benchmarking.
Do mô hình lập chỉ mục viết ra từ nội dung của issue.
Đánh giá
- Công nghệ
- cpp
- Lĩnh vực
- backend, databases, performance
- Loại issue
- Tái cấu trúc
- Độ khó
- 5/5
- Thời gian dự kiến
- Hơn một tuần
- Mức độ hoạt động
- Đình trệ
- Độ rõ ràng
- Khá rõ ràng
- Mức phù hợp với người mới
- 25/100