Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
УМК Параллель багдарламалау.doc
Скачиваний:
0
Добавлен:
01.07.2025
Размер:
4.47 Mб
Скачать

Лабораториялық жұмыс №5

Тақырыбы. PARFOR операторы

Жұмыс мақсаты. PARFOR циклын пайдалануды үйрену

Тапсырма.

N тәуелсіз тапсырмалардан тұратын мысалды жүзеге асыру:

  1. MatLabR2011b ортасын қосу

  2. Командалық терезеде келесі кодты тереміз (әр жолдан кейін shift+enter басу керек, ал соңында enter басу керек):

matlabpool;

parforqFold = 1:N

%Any function could be executed inside parfor loop.

results{qFold} = DoCrossValidationIteration(qFold);

 

%The following output will be redirected to your console:

fprintf('parfor loop: task %d completed.\n', qFold);

end

matlabpoolclose;

  1. Компиляциялау үшін enter басу. Келесі хабар шығады:

Starting matlabpool using the 'local' configuration ... connected to 2 labs.

Undefined function or variable 'N'.

  1. Курсор тұрған жерден есептеулерді жүргіземіз, әр жолдан кейін shift+enter басуды ұмытпаңыз:

m 1=1;

m2=3;

sum=0;

m4=rand(1,6);

p arfor i = 1:6

m1=i;

sum=sum+i;

m3(i)=m4(i);

if i<= m2

m5=2*m1;

end

end

или

matlabpoolopenlocal6

m1=1;

m2=3;

sum=0;

m4=rand(1,6);

parfor i = 1:6

m1=i;

sum=sum+i;

m3(i)=m4(i);

if i<= m2

m5=2*m1;

end

end

matlabpool close

enter басқан соң Workspace терезесінде нәтиже шығады:

Workspace терезесі нәтижемен

Көрсетілген терезеде сәйкес айнымалыны таңдап, контексті менюде келесі бұйрықты орындап, open selection (ctrl+D), есептеу нәтижесін басқа форматта көре аласыз:

Есеп түрі

Сонымен, біз локальді компьютердің барлық ядросын қолдану үшін parfor операторының жұмысын жандандырдық.

Рarfor заты бірнеше жекелеген matlab.exe үдерістерімен жүзеге асады.

Мәзірдің мына командасын орындай отырып:

Parallel – ManageConfigurations… - және пайда болған терезеде 'local' конфигурациясын таңдаймыз, содан соң контекстік мәзір көмегімен Properties… пунктін таңдағанда аламыз.

ClusterSize-де қалаулы мәнді енгізу мүмкіндігі бар (мысалы 6) LocalSchedulerConfigurationProperties терезесі пайда болады (сурет33).

Сурет 33 – Local Scheduler Configuration Properties терезесі

Аталған операция ClusterSize мәнінің ауысуына қарай түйін көппроцессорлы немесе көпядролы болған жағдайда ғана белгілі бір мәнге ие болады. 'local' конфигурациясының мәніне қарай ClusterSize мәні 4-ке тең болады.

Тапсырма 2:

Рarfor операторын қолдану арқылы векторды екі бөлікке бөлу амалын орындау:

Әдістемелік нұсқау. parfor операторын пайдаланып, жұмысты орындау.

Лабораториялық жұмыс №6

Тақырыбы. Кластерді баптау

Жұмыс мақсаты. Қол жетімді компьютерлерді пайдаланып, MatLab-кластер баптау.

Тапсырма.

Екі компьютерден кластер құрастырамыз. mdce–нің толығырақ бапталуы үшін cmd line help утилитін: mdce.bat, start jobmanager.bat, start worker.bat, nodestatus.bat зерттеу керек:

  1. MatLabR2011b аясын іске қосамыз

  2. Барлық компьютерлердегіmdce–ныинсталлизациялаймыз және іске қосамыз.

Ол үшін екі нұсқаны қолдануға болады:

  1. Windows командалық тармағының көмегімен:

    1. каталогқа ауысамыз:

cd “D:\Program Files\MATLAB\R2011b\toolbox\distcomp\bin”

    1. командаларды енгіземіз:

mdce install

mdcestart

  1. MatLab жүйесіндегі Command Window көмегімен:

CurrentFolder–дың сол жақ терезесінде жаңа жол ашамыз:

D:\Program Files\MATLAB\R2011b\toolbox\distcomp\bin

CommandWindow терезесінде командаларды орындаймыз:

! mdceinstall

! mdcestart

«!» белгісі жүйелік команданың іске қосылғанын білдіреді.

Параллельді есептеулерді басқару үшін MatLab–тағы жобалаушыны іске қосамыз:

!startjobmanager –namejm –v

- v командалық терезедегі толық үдерістің іске қосылуы.

Есеп жобалаушысы:

-басқару жүйесінің орталық компоненті болып табылады;

- процестік ядролардың және есептеуіштік тораптардың қолданылуын деталь арқылы түсіндіреді;

- орындалатын есептердің ретімен келуін қадағалайды;

- жүйелік ресурстардың белгілену сервисі;

- тапсырмалардың енгізілуін тексереді;

- тапсырмалар арасына ресурстарды бөледі;

- тапсырмалардың кезегін сақтауға жауап беретін сервис.

- есептеуіштік түйіндер мен тапсырмалардың жағдайын қадағалайды;

- ауытқулардың қалыпқа келтірілуін қамтамассыз етеді.

Ары қарай циклдың көмегімен бір уақытта берілген тапсырмаларды орындайтын worker-лерді енгіземіз. Команданы енгізу және келесі тармаққа өту үшін shift+enter батырма комбинациясына басу керек, ал код енгізуді тоқтату үшін enter басылу керек.

clientHost = 'Server1';

node = {'Server1','Server2'};

fori = 1:length(node)

for j=1:2

str = ['!startworker -name w_' num2str(j) '_' node{i} ' -jobmanagerhost ' clientHost ' –jobmanagerjm -remotehost ' node{i} ' -v'];

eval(str)

end

end

Host = 'Server1' – жобалаушы іске қосылған компьютер. Кластердің статусын мына команданың көмегімен тексеруге болады:

!nodestatus.bat –infolevel 3

Infolevel- ақпаратпен қамтамассыз ету деңгейі,

3 – «нодалар» туралы толық ақпарат алу командасы, егер 1–ді қойсақ, аз мағлұмат аламыз.

Барлық үдерістерді енгізу үшін жасалған баптаулардан соң конфигурацияның баптауларына көшеміз (тек серверді негізге ала отырып). Ол үшін командаларды бірізділігін сақтап орындаймыз:

Parallel – ManageConfigurations… – File – New – jobmanager.

Ары қарай jobmanager құрастырылғаннан кейін қасиеттерді таңдап, сурет36 - ға сілтеме жасаймыз:

Сурет 36 – jobmanager терезесі

Конфигурация параметрлерін сақтаймыз және оны StartValidation батырмасының көмегімен тестілеуден өткіземіз.

Ол үшін мына командаларды орындау керек.

Parallel – Manage Configurations – mpc – контекстік мәзір – Start Validation.

Қорытынды (сурет 37).

Сурет 37 –StartValidation командасының орындалуы нәтижесі

Кластер параметрлерін баптау мен танысу барысында мына команданы қолданамыз:

!admincenter.bat

Келесі терезе пайда болады (сурет 38):

Сурет 38– AdminCenter терезесі

Таныстырылған деректерді басқаруға болады. Сәйкес тармаққа тышқанның оң батырмасын баса отырып және контекстік мәзірден керек команданы таңдай отырып басқаруға болады. Мысалы: оң батырмадағы w_2_Server2ге баса отырып контекстік мәзірінде пайда болған Properties батырмасын бау арқылы мына ақпаратқа қол жеткіземіз (сурет 39):

Сурет39 – WorkerStatusDetailsfor “w_2_Server2” терезесі

Properties…тен басқақолданыстағы контекстік менюде мынадай пунктілер бар:

- Stop…

- Resume

- Destroy…

- Restart…

Локальді конфигурациялар негізінде, мысалы, workwersсаны сегізге тең local1 жағдайындағы AdminCenter көрінісі мынадай (сурет40):

Сурет 40 – Конфигурациясы мен саны сегізге тең workwer-лері бар AdminCenter терезесі

Әдістемелік нұсқау. Теориялық материалмен танысып, үш компьютерден тұратын кластерді баптау.