Глоссарий.
Параллельді компьютер – есепті сандық түрде шешіп, үйлесімді
шешуге қабілетті процессорлардың жиынтығы.
Параллельді программа
– бұл әр процесс өзінің меншікті
процессорында жүріп қана қоймай, параллель орындалатын программа.
Жұмыстың қысқаша мазмұны:
Екі процес берілсін: Produser (өндіруші) және Consumer(тұтынушы).
Produser процессі а[n] бүтін сандардың локальді массивінен тұрсын.
Consumer – b[n] болсын. а массиві иннициялизацияланған болсын. Мақсат:
оның мазмұнын b массивіне көшіру.
buf айнымалысы – өзараәсер ету буфері болып табылатын жеке
бөлінетін бүтін айнымалылар.
Produser (өндіруші) және Consumer(тұтынушы) процесстері buf
айнымалысына кезекпен кезек ене алады. Produser а массивінің бірінші
элементін buf –ке салып, сонан соң Consumer оны алады, сонан соң Produser
buf буферіне а массивінің келесі элементін салады, және т.с.с. р және с
бөлінетін айнымалылыар айнымалылар санының санағышы болсын.
Олардың бастапқы мәні =0. Сонда Produser (өндіруші) және
Consumer(тұтынушы) процесстерінің синхронизацилану шарты төменгі
түрде жазылады:
РС: c<=p<=c+1
с және р айнымалыларының мәні 1 ден артық мәнге айырмашылығы
болмайды. Осы екі процесстің коды төменде берілген:
int buf, p=0, c=0;
process Procedur
{
Int a[n];
While (p
{
buf =a[p];
p=p+1;
}
}
Process Consumer
{
Int b[n];
While (c{ c); >
b[c]=buf;
c=c+1;
}
}
Әдебиеттер
1. А. Ж. Акжалова. Параллельные вычисления. Учебное пособие. –
Алматы: Издательство ТОО «Print S»,- 2004
2. Грегори Р. Эндрюс. Основы многопоточного, параллельного и
распределенного программирования. Пер. с англ.-М.: Издательский
дом «Вильямс», 2003.
3. Воеводин Вл. Параллельная обработка данных. Санкт-Петербург, 2002.
4. Немнюгин С.А., Стесик О.Л. Параллельное программирование для
высокопроизводительных
многопроцессорных
систем.
Санкт-
Петербург, 2002.
Достарыңызбен бөлісу: