4paradigm / 4paradigm/OpenMLDB

Optimize concurrent access for aggregators

Đang mở
#1,559 5 bình luận 0 reaction 2 người được giao Được @zhanghaohit nhận Xem trên GitHub
enhancement
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

Mở 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

Nhận issue mới trong hộp thư của bạn

Bản tóm tắt ngắn những issue GitHub phù hợp với người mới.