Skip to main content

Lập trình phân phối là gì?

Lập trình phân tán là một hình thức lập trình song song hoặc điện toán song song.Lập trình song song liên quan đến máy tính và các đơn vị điện toán trong máy tính hoạt động đồng thời về một vấn đề cụ thể, chẳng hạn như dự đoán thời tiết ngày mai.Các đơn vị tính toán có thể được định vị rất chặt chẽ và phối hợp hoặc có thể được đặt cách xa nhau.Khi các đơn vị điện toán được tách ra, nó được gọi là lập trình phân tán.Trong một kịch bản như vậy, rất thường các đơn vị điện toán khác nhau, và thiết lập hệ điều hành và mạng cũng khác nhau, làm cho lập trình của hoạt động điện toán đặc biệt thách thức. Khi giải quyết vấn đề theo cách phân tán, chương trình cần phải đượctách ra để các phần của chương trình có thể chạy trên các đơn vị điện toán khác nhau;Những phần này thường được gọi là các quá trình.Các quy trình chạy đồng thời nhưng cần giao tiếp đầu vào và kết quả với nhau.Nếu các quy trình đang chạy trên các phần cứng khác nhau, chẳng hạn như một phần chạy trên Intel và một phần khác đang chạy trên mặt trời, thì các chương trình phải được biên dịch và tối ưu hóa khác nhau.và có các đơn vị điện toán khác nhau hoạt động trên các phần khác nhau bằng cách sử dụng cùng một thuật toán, tập hợp các quy tắc hoặc các bước để giải quyết vấn đề.Ví dụ, để bẻ khóa bộ gen 10.000 cặp, 1.000 cặp đầu tiên có thể được gán cho đơn vị điện toán đầu tiên, 1.000 cặp thứ hai được gán cho đơn vị điện toán thứ hai, v.v., tất cả đều sử dụng cùng một thuật toán.Với lập trình phân tán, một lợi thế là các đơn vị điện toán khác nhau có thể chạy các thuật toán khác nhau để giải quyết cùng một vấn đề, do đó dẫn đến một giải pháp tốt hơn đáng kể.Điều này giống như việc giải một câu đố ghép hình với một số người ghép lại đường viền trong khi những người khác kết hợp các mảnh màu cụ thể. Sự phối hợp của các quy trình điện toán phân tán có thể là một nhiệm vụ đặc biệt khó khăn.Một số đơn vị điện toán có thể thất bại hoặc có thể bị gián đoạn để xử lý các công việc khác.Các tin nhắn chứa các đầu vào hoặc kết quả của tính toán có thể không đến được các điểm đến của chúng.Nếu các chương trình được viết theo cách thức NA #239; thì việc mất một đơn vị điện toán hoặc một số tin nhắn có thể khiến toàn bộ bộ máy tính bị treo.Công việc được thực hiện bởi các quy trình khác, hoặc, tất cả các quy trình có thể hoạt động theo cách ngang hàng mà không có quy trình là chủ.Một số ví dụ về các vấn đề đã cố gắng với chương trình phân tán bao gồm phân tích dữ liệu địa chất cho các tài nguyên như dầu mỏ, mô hình hóa protein và phân tử sinh học, bẻ khóa các thông điệp được mã hóa và mô phỏng quân sự.Dự án SETI để tìm kiếm cuộc sống ngoài hành tinh thông minh từ các thông điệp radio mà Earth nhận được có lẽ là một trong những ví dụ nổi tiếng nhất.