enthought / enthought/distarray

Sorting spitballing

Đang mở
#321 1 bình luận 0 reaction 0 người được giao Xem trên GitHub
enhancement
Ngôn ngữ chính
Python
Star
5
Fork
1
Chỉ số merge pull request
Không có pull request nào được merge trong 30 ngày

Mô tả

Some sorting ideas for consideration:
- It is fairly reliable that communication overhead and latency are the dominant factors, so we want to minimize the total amount of communication.
- In general, sorting requires an all-to-all communication step: every worker has to send and receive data to and from every other worker, so there is potentially a lot of communication.
- We want to minimize the all-to-all communication as much as possible.
- We also assume that sorting the local array is efficient and a solved problem.
- If we can get all the right data to each worker, then sort the data locally with a local sort, then we're done. So the problem reduces to getting the right data to each worker.
- If we allow the sorted array to have an irregular block distribution that does not match the distribution of the original array, then that gives a lot of flexibility.

Assume we have `n` workers that share a block-distributed distarray. Assume we have some way to choose `n-1` pivots that partition the global array into `n` sections such that the number of elements in section `i` equals the number of elements on worker with rank `i`. Then the sort can proceed as follows:
- Partition each worker's localarray into `n` sections using the `n-1

Hướng dẫn đóng góp

Chưa lập chỉ mục được hướng dẫn đóng góp cho kho mã nguồn này

Hướng nghiên cứu

Issue không nêu tên tệp, bài kiểm thử hay điểm vào nào và kết thúc giữa chừng trong phần đề xuất. Hãy bắt đầu bằng việc xem xét issue đầy đủ và các công việc hiện có trong repository về sắp xếp phân tán và phân phối dữ liệu. Để được xem là hoàn tất, cần có một phương án đã được quyết định, phạm vi triển khai và các bài kiểm thử hoặc tiêu chí xác thực khác.

Do mô hình lập chỉ mục viết ra từ nội dung của issue.

Đánh giá

Công nghệ
python
Lĩnh vực
distributed-systems
Loại issue
Tính năng
Độ 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
Cần làm rõ
Mức phù hợp với người mới
20/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.