Giới hạn tính toán song song


21

Tôi tò mò theo nghĩa rộng về những gì đã biết về các thuật toán song song trong P. Tôi đã tìm thấy bài viết wikipedia sau đây về chủ đề này:

http://en.wikipedia.org/wiki/NC_%28complexity%29

Bài viết chứa câu sau:

Không rõ liệu NC = P, nhưng hầu hết các nhà nghiên cứu nghi ngờ điều này là sai, có nghĩa là có thể có một số vấn đề có thể xảy ra là "tuần tự vốn có" và không thể được tăng tốc đáng kể bằng cách sử dụng song song

Điều này nghe có vẻ hợp lý? Có trường hợp nào mà một vấn đề trong P không thể được xử lý bằng cách sử dụng song song không?



Vâng, nó có vẻ hợp lý. Một chương trong cuốn sách Tính phức tạp tính toán của Papadimitriou đưa ra một lời giải thích tốt để tìm hiểu chủ đề này.
Tsuyoshi Ito

Câu trả lời:


17

Người ta thậm chí không biết liệu NC = P, nhưng các vấn đề hoàn chỉnh P dường như khó có thể song song. Chúng bao gồm Lập trình tuyến tính và Horn-SAT. (Ngược lại, các vấn đề trong NC có vẻ dễ dàng song song hóa.)

Xem câu hỏi Vấn đề giữa NC và P: Có bao nhiêu đã được giải quyết từ danh sách này? cho tài liệu tham khảo (bao gồm các liên kết đến sách giáo khoa cổ điển hiện có sẵn để tải xuống miễn phí) và thảo luận thêm về các vấn đề trong P nhưng không được biết là có thể song song.

Xem câu hỏi Định lý tổng quát của Ladner về cấu trúc của các lớp phức tạp giữa NC và P. Tóm lại, nếu chúng khác nhau thì có vô số các lớp phức tạp nghiêm ngặt giữa NC và P.

Xem câu hỏi NC = P hậu quả? đối với một minh chứng hay của Ryan Williams rằng có thể khuếch đại sự sụp đổ trong hệ thống phân cấp của các lớp phức tạp trong P thành các sự sụp đổ có lẽ khó xảy ra hơn như PSPACE = EXP .

Cần chỉ ra rằng một hậu quả của Horn-SAT là P-hoàn chỉnh và các liên kết ở trên là dường như không thể song song các truy vấn SQL chung trong cơ sở dữ liệu, trừ khi chúng ta cũng có thể viết lại bất kỳ tính toán quy mô lớn nào để chỉ sử dụng một lượng lưu trữ hợp lý. Đây là một sự khác biệt khó hiểu - Tôi nghĩ rằng nó không gây tranh cãi khi tuyên bố rằng có những giới hạn về nén , nhưng tôi thường thấy các bài viết dường như được xây dựng trên giả định rằng có thể song song bất kỳ truy vấn cơ sở dữ liệu nào .


Chắc chắn bạn có thể không thể song song hóa bất kỳ phần nhất định nào của truy vấn cơ sở dữ liệu hoặc ít nhất là theo bất kỳ cách thức đơn giản nào. Tuy nhiên, một truy vấn cơ sở dữ liệu (không bao gồm các truy vấn con để giữ cho mọi thứ đơn giản) có thể được giảm xuống thành quét toàn bộ bảng trên một số bảng đã tham gia và bản thân bảng đã tham gia đó luôn có thể được quét song song. Đây là lý do tại sao, khi bạn tăng cài đặt song song trong Oracle, sẽ có xu hướng sử dụng quét toàn bộ bảng hơn là chỉ mục.
sclv

@sclv: Điều này là đúng, nhưng nói chung các phép nối trung gian có thể theo cấp số nhân trong kích thước đầu vào? Vì vậy, người ta có thể song song thông qua các phép nối, nhưng với chi phí phải quét một số bộ dữ liệu theo cấp số nhân.
András Salamon

1
Bạn nghĩ gì về kích thước đầu vào ở đây? Ngoài ra, nếu bạn có một m n o chéo tham gia, luôn có khả năng mà bạn có thể trở lại một cách chính xác mà nhiều tuples - tức là không có khả năng tốt hơn bị ràng buộc vào trường hợp xấu nhất,. Và điều này thực tế hơn so với lý thuyết, nhưng nói chung, bạn lo lắng không phải về việc song song hiệu suất của một vị từ trên một hàng, mà là về thông lượng IO, vì đó là nơi có giới hạn.
sclv

10

Chà, nếu có những trường hợp đã biết, thì chúng ta sẽ có thể tách P và NC. Nhưng có nhiều vấn đề được gọi là P- Complete (nghĩa là giảm logspace) và chúng có cùng một loại rào cản để hiển thị P = NC như các vấn đề hoàn thành NP làm cho P = NP. Trong số đó bao gồm lập trình tuyến tính và kết hợp (và các luồng tối đa nói chung).

Ketan Mulmuley đã chứng minh một kết quả tách P và một dạng NC yếu (không có hoạt động bit) trở lại vào năm 1994. Theo một nghĩa nào đó, chương trình hiện tại của anh ta cho P vs NP cất cánh từ nơi rời đi ( theo cách rất lỏng lẻo ).

Cuốn sách ' Giới hạn về tính toán song song ' có nhiều hơn về điều này.


2
Coi chừng. Tôi không nghĩ rằng kết hợp là P-Complete. Sự phù hợp được biết là trong RNC bằng thử nghiệm nhận dạng đa thức (kiểm tra nếu yếu tố quyết định của ma trận Tutte của đồ thị là bằng không). Nếu nó hoàn thành P, thì P = RNC sẽ không xảy ra sự sụp đổ.
slimton

argh bạn đúng. Tôi nên bị mắc kẹt với dòng chảy tối đa. Cảm ơn vì sự đúng đắn của bạn.
Suresh Venkat

0

Tôi đã trả lời câu hỏi tương tự Có bất kỳ vấn đề / thuật toán nổi tiếng nào trong điện toán khoa học không thể được đẩy nhanh bằng cách song song trêntrang web Khoa học tính toán . Hãy để tôi trích dẫn nó ở đây, bởi vì nó cung cấp một viễn cảnh thực tế về một trường hợp rất cụ thể của một vấn đề như vậy:

Phương pháp diễu hành nhanh (nổi tiếng) để giải phương trình Eikonal có thể được tăng tốc bằng cách song song hóa. Có các phương pháp khác (ví dụ như các phương pháp quét nhanh) để giải phương trình Eikonal dễ điều chỉnh song song hơn, nhưng ngay cả ở đây, khả năng tăng tốc (song song) bị hạn chế.

Vấn đề với phương trình Eikonal là luồng thông tin phụ thuộc vào chính giải pháp. Nói một cách lỏng lẻo, thông tin chảy dọc theo các đặc tính (tức là các tia sáng trong quang học), nhưng các đặc tính phụ thuộc vào chính giải pháp. Và luồng thông tin cho phương trình Eikonal rời rạc thậm chí còn tồi tệ hơn, đòi hỏi các xấp xỉ bổ sung (như hiện diện ngầm trong các phương pháp quét nhanh) nếu muốn tăng tốc độ song song.

Để thấy những khó khăn cho việc song song hóa, hãy tưởng tượng một mê cung đẹp như trong một số ví dụ trên trang web của Sethian . Số lượng ô trên đường đi ngắn nhất qua mê cung (có thể) là giới hạn dưới cho số bước / lần lặp tối thiểu của bất kỳ thuật toán (song song) nào giải quyết vấn đề tương ứng.

(Tôi viết "(có lẽ) là", bởi vì giới hạn dưới rất khó chứng minh và thường yêu cầu một số giả định hợp lý về các hoạt động được sử dụng bởi một thuật toán.)

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.