Параллель алгоритмдерді ғылыми есептер шешуге қолдану

BSP (BULK SYNCHRONOUS PARALLEL) Жалпы синхронды параллелизм моделі синхронды өзара әрекеттесуден бөліп алынған және жады иерерхиясының әсері жәнехабар алмасу ескерілген. BSP моделі уш компанненттен тұрады:

  • Жергілікті жадысы бар және бірдей жыладмдықпен істейтін процессорлар
  • Процессорлардың өзара әрекеттесуіне мүмкіншілік беретін байланыс желісі;
  • Барлық процессорлардың белгілі уаықт аралықтары арқылы синхрондау механизмі;

Модель параметрлері ретінде процессорлар саны,олардың жылдамдығы, өзараәркеттесу бағасы және синхрондау пероды.

BSP -дегі есептеу асақадамдар тізбегінен тұрады. әрбір жеке қадамда процессорлар есептеулерді орындайды, олар жергілікті жадыны шақырады және басқа процессорлерге хабар жібереді. Хабар көшірме алуға сұрау немесе қашықтағы деректерді жаңартуға сұрау болады. Асақадам соңында процессорлар барьерлік синхрондауды орындайды және одан кейін осы асақадам бойындағы сұрауды өңдейді. Ары қарай процессорлар келесі асақадамды орындай бастайды.

 BSP кітапханасы 20 шақты функциядан тұрады, онда хабар алмасудың BSP стилін және жадыға қашықтан қатынау қамтамасыз етіледі.

 BSP моделінің параметрі:

p- процессорлар саны;

l- синхрондау периодтылығы, синхрондау амалдары арасындағы уақыт бойынша қадамдарыны” минималды саны;

g- байланыс бағасы;

s- секуындына қадам санымен өлшенетін процессор жылдамдығы.

Байланыс бағасы һ өзараәрекеттесуде һ хабар жіберуге қажетті уақыт саны ретінде анықталады.

Уақыт пен бағасы келесі фурмаламенберіледі:

Tsuperster=Wmax+ghmax+l

мұндағы Wmax -кез келген »вертуальды» процессорлар орындайтын жергілікті амалдардың максималь саны (процесспен немесе ағынмен), процессор жібергеннемесе қабалдаған максимальды хабарлар саны. Программаның аяқталуына қажетті жалпы уақыт қадамдар саны түрінде беріледі. Берілген уақытты азайту үшін асақадам санын азайту керек,өйткені олардың әрбіреуі үшін 1синхрондау уақыты қажет. Сондай-ақ һжәне w-ні де азайту керек. Ол үшін жүктелгендерді үлестіру керек жәнепроцессорлар арасында хабарлар беруді баланстау керек, сондай-ақ жүктелгендерді үлестіру керек және процессорлар арасындағы есептеулерді баланстау керек.

BSP программаларды орындаудың қарапайым шаблондарын Oxford BSPlibraryтабуға болады:

Bspstart(), bspfinish() — процесстердібасқару;

Bspstep(), bspstep_end() — синхрондау;

Bspfetch(), bspstore() — байланыс.

BSP модель PVM машина принципімен жұмыс істейді. Бұл модель Linux операциялық жүйесіне орнатылған, программалау үшін С++ программалау тілі қолданылады.