2015-03-13 22 views

Trả lời

10

phòng thí nghiệmnhân là MathWorks ngữ, và họ có nghĩa là gần như cùng một điều.

A lab hoặc về bản chất là một thể hiện của MATLAB (không có giao diện người dùng). Bạn chạy một vài trong số chúng, và bạn có thể chạy chúng trên máy tính của riêng bạn (chỉ yêu cầu Hộp công cụ tính toán song song) hoặc từ xa trên một cụm (yêu cầu máy chủ phân tán máy tính). Khi bạn thực thi mã song song (chẳng hạn như một vòng lặp parfor, một khối spmd hoặc một lệnh parfeval), mã được thực hiện song song bởi các công nhân, chứ không phải bởi MATLAB chính của bạn.

Hộp công cụ tính toán song song đã thay đổi và phát triển chức năng của nó khá nhiều so với các bản phát hành gần đây và cũng đã thay đổi và phát triển các thuật ngữ sử dụng để mô tả cách hoạt động của nó. Tại một số điểm, thuận tiện để gọi chúng là phòng thí nghiệm khi chạy một khối spmd, nhưng công nhân khi chạy một vòng lặp parfor hoặc làm việc về công việc và công việc. Tôi tin rằng họ đang di chuyển bây giờ hướng tới luôn gọi họ workers (mặc dù có một di sản trong các lệnh labSend, labReceive, labBroadcast, labindexnumlabs).

lõiquy trình khác và không liên quan gì đến MATLAB.

A core là bộ phận vật lý của bộ xử lý - bạn có thể có bộ xử lý lõi kép hoặc lõi tứ trong máy tính để bàn hoặc bạn có thể có quyền truy cập vào một máy tính lớn hơn nhiều. Bằng cách có nhiều lõi, bộ xử lý của bạn có thể thực hiện nhiều việc cùng một lúc.

Quy trình là (gần) một chương trình mà hệ điều hành của bạn đang chạy. Mặc dù hệ điều hành chạy nhiều chương trình cùng một lúc, nó thường làm điều này bằng cách xen kẽ các hoạt động từ mỗi quá trình. Nhưng nếu bạn có quyền truy cập vào một máy đa lõi, các hoạt động đó có thể được thực hiện song song.

Vì vậy, bạn thường muốn thông báo cho MATLAB bắt đầu một nhân viên cho mỗi lõi bạn có trên máy của mình. Mỗi người trong số những công nhân đó sẽ được chạy như một tiến trình của hệ điều hành, và cuối cùng sẽ chỉ chạy một nhân công trên mỗi lõi.

Ở trên là khá đơn giản, nhưng tôi hy vọng cho một bức tranh gần như chính xác.


Sửa: chuyển mô tả về chủ đề từ một bình luận cho câu trả lời.

Chủ đề là điều gì đó khác một lần nữa. Các chủ đề cũng không phải là bản thân họ phải làm gì với MATLAB.

Hãy quay lại quy trình trong giây lát. Một điều tôi đã không đề cập ở trên là hệ điều hành phân bổ từng quá trình một khối bộ nhớ cụ thể mà các quy trình khác không thể chạm vào, do đó rất khó để chúng tương tác với nhau và làm mọi thứ lộn xộn.

A chủ đề giống như một quy trình trong một quy trình - đó là luồng hoạt động mà quy trình chạy. Thông thường, các hoạt động từ mỗi luồng sẽ được xen kẽ, nhưng nếu bạn có nhiều lõi, chúng cũng có thể được song song trên các lõi. Tuy nhiên, không giống như các quá trình, tất cả chúng đều chia sẻ một khối bộ nhớ, điều này là ổn vì chúng được quản lý bởi cùng một chương trình nên sẽ ít quan trọng hơn nếu chúng được phép tương tác.

Regular MATLAB tự động sử dụng nhiều luồng để parallelize nhiều hoạt động tích hợp (ví dụ như nhân ma trận, svd, eig, tuyến tính đại số vv) - đó là không có bạn làm bất cứ điều gì, và có hoặc không bạn có Parallel Computing Toolbox.

Tuy nhiên, mỗi công nhân MATLAB chạy như một quy trình duy nhất với một chuỗi duy nhất, do đó bạn có toàn quyền kiểm soát cách song song.

+0

Tôi cho rằng bạn vừa mới đạt được vị trí đó - tôi chỉ coi công nhân là "phòng thí nghiệm" trong ngữ cảnh của khối 'spmd'. Mặc dù tất nhiên thuật ngữ đó đã được giới thiệu trong R2006a cho những gì sau đó được gọi là "công việc song song", và khi không có khối 'spmd' - mà đã không đi cùng cho đến khi R2008b. – Edric

+0

Các phòng thí nghiệm và chủ đề có đồng nghĩa không? – user2574723

+0

Để biết mô tả chủ đề, hãy xem phần chỉnh sửa cho câu trả lời của tôi. –

1

Tôi nghĩ công nhân là từ đồng nghĩa cho các quy trình. Thuật ngữ "lõi" có liên quan đến phần cứng. Labs là một cơ chế cho phép người lao động giao tiếp với nhau. Mỗi công nhân có ít nhất một phòng thí nghiệm nhưng có thể sở hữu nhiều hơn.

Đoạn một cuộc thảo luận có thể hữu ích

http://www.mathworks.com/matlabcentral/answers/5529-mysterious-behavior-in-parfor-i-know-sounds-basic-but

Tôi hy vọng ai đó ở đây sẽ cung cấp thêm thông tin theo một cách chặt chẽ hơn

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