2008-08-04 30 views
17

Đây là câu hỏi mở. Tôi nên cân nhắc phương pháp tiếp cận nào?Các tùy chọn tốt nhất hiện tại để song song ứng dụng .NET chuyên sâu CPU là gì?

+1

phần cứng gì? Nếu nó là CPU chuyên sâu, và bạn chỉ có 1 CPU đơn lõi, sau đó nhiều chủ đề sẽ giảm hiệu suất. Ngoài ra, nếu bạn cần phải song song với một cụm máy tính, đó là một động vật rất khác so với nhiều chủ đề trên 1 PC. – mbeckish

Trả lời

6

Có một số tiện ích mở rộng song song với .NET hiện đang được thử nghiệm và có sẵn tại Parallel Computing Developer Center của Microsoft. Họ có một vài mục thú vị mà bạn mong chờ như Parallel foreach và một phiên bản song song của LINQ được gọi là PLINQ. Một số thông tin tốt nhất về tiện ích mở rộng là trên Channel 9.

2

Tôi nghĩ rằng chúng tôi cũng có thể bao gồm các phương pháp tiếp cận không thuộc .NET cụ thể để xử lý song song nếu đó là một trong những tùy chọn tốt nhất để xem xét.

2

@Larsenal

Nếu bạn muốn chi nhánh bên ngoài của NET đã có rất nhiều cuộc thảo luận về Intel của Threading Building Blocks mà là một thư viện song song cho C++.

8

Bước đầu tiên của bạn là tìm và hiểu được tính song song trong vấn đề của bạn. Nó thực sự dễ dàng để viết mã đa luồng thực hiện không tốt hơn so với mã đơn luồng nó thay thế. "Các mẫu cho lập trình song song" (Amazon) là một giới thiệu tuyệt vời cho các khái niệm chính.

Khi bạn có thiết kế khả thi, hãy bắt đầu đọc các bài viết trong chủ đề "Đồng thời" trong lưu trữ Tạp chí MSDN (link), đặc biệt là bất kỳ thứ gì được viết bởi Jeff Richter. Những người sẽ cung cấp cho bạn các loại hạt và bu lông thứ trên các cấu trúc luồng cụ thể cho Windows và .NET. (Phần đa luồng trong "CLR qua C# (Amazon) của Richter ngắn gọn, nhưng rất sâu sắc - rất khuyến khích.)

0

Có nhiều tùy chọn và giải pháp tốt nhất sẽ phụ thuộc vào bản chất của sự cố bạn đang cố giải quyết. Nếu bạn đang cố gắng để giải quyết một vấn đề embarassingly parallel sau đó chia và parallelising nhiệm vụ sẽ là tầm thường trong trường hợp đó, thách thức sẽ đến trong phân phối và quản lý dữ liệu sử dụng

một số gợi ý sẽ là:..

Các vấn đề liên quan