Алгоритмикпараллеллаштириш.
Паралеллаштиришнингушбубосқичида
спекториал усулларнинг алгоритмлари параллеллаштирилади. Жумладан, ўзгартириш
усуллари ўзида паралеллизмни ҳосил қилиш ва мустақил потокларни ажралиш
имкониятига эга. Шундай экан, сигналарни қайта ишлашда паралел алгоритмларни
қўллаш сигналларни қайта ишлаш жараёнини тезлаштиради. Қуйидаги жадвалда
ўзгартириш усулларининг алгоритмлари келтирилган.
Ушбу ўзгартириш усулларининг тезкорлашган усуллари ҳам мавжуд. Тезкорлашган
ўзгартиришлар амаллар сони камлиги ва тез бажарилиши билан унумлирок
ҳисобланади.Ушбу ўзгартиришларнинг танланиши ўрганиладиган соҳага боғлиқ
ҳисобланади. Ўзгартиришларнинг алгоритмик кўринишларига математик ёндошсак,
уларнинг математик ифодаси ўзида тригонометрик функцияларни ва чизиқли алгебранинг
матрицани векторга кўпайтириш бўлиминии ифодалайди. Яни алгоритмда сигнални
вектор кўринишида, базис функцияни матрица кўринишида ифодаламокда.
Нутқий сигналларнинг спектрал қийматлари ҳосил қилувчи параллел алгоритмларни
яратиш учун матрицани векторга кўпайтиришнинг параллел алгоритмларини ҳосил
қилинади. Матрицани векторга кўпайтиришнинг кетма-кет ҳолатда умумий формуласи (1)
формулада кўрсатилган.
281
1
0
,
n
i
j
j
i
j
b
a
c
j=0…n-1 (1)
j
c
-спекториал қийматлар
j
i
a
,
- базис функция элементлари
j
b
-сигнал элементлари
Матрицани векторга кўпайтиришни паралел ҳолатда сатрларга ажратиш натижасида
потокларга ажратамиз. Бу потоклар сони m=1…jни ташкил этади. Агар матрицани
векторга кўпайтиришни m=2 потокларга ажратилса (2) формула юзага келади.
)
2
(
;
1
....
0
;
1
.......
1
2
/
;
1
....
0
;
1
2
/
...
0
)
:
(
1
1
2
/
,
1
2
/
0
,
N
j
N
N
i
агар
b
a
K
N
j
N
i
агар
b
a
L
K
L
C
N
N
j
j
i
j
N
i
j
j
i
j
j
j
j
Бу ерда
j
L
ва
j
K
матрицани векторга кўпайтиришни потоклари ҳисобланади.
Мисол сифатида икки ядроли процессорни олсак,
j
L
биринчи ядрода,
j
K
иккинчи
ядрода ҳисобланади. Бундай шаклланиш вақтда 30-40 % ютишни таъминлайди.
Шундай қилиб, матрицани векторга кўпайтиришнинг яни сигналларнинг спектр
қийматлари ҳосил қилишда алгоритмик нуқтаи назардан параллелизмни ташкил этиш
имконияти мавжуд.
Дастурий параллеллаштириш. Ҳозирги кунда кўпядроли процессорларга параллел
ишлов берувчи дастурий воситалар, технологилар ва дастурий воситаларнинг
библотекалари яратилган. Мисол сифатида, OpenMP теҳнологияси, TBB, IPP библотекаси,
Visual Parallel Studio каби бир қанча библотекалар ва дастурий пакетларни келтириш
мумкин. Ушбу библотекалар ва технологиялар сигналларни қайта ишлаш жараёнини
потокларга ажратиш вазифасини бажаради. Сигналларни қайта ишловчи параллел
дастурий восита яратишда (2) формулага ушбу технологияларни формуларни асос қилган
тарзда спектрал усулларнинг OpenMp технологиясидан фойдаланган ҳолда дастурий
воситаларини яратамиз.
Солиштириш натажаларини Амдал қонунига асосан тезлашиш коэффицентини
баҳолаймиз. Бу тезлашиш коэффисенти қуйидаги (3) формула орқали топилади.
№
Ў з г а р т и р и ш у с у л л а р и
Б а ж а р и л и ш м уд д а т и ( м с е к , )
n = 5 1 2 n = 1 0 2 4 n = 2 0 4 8
1
.
F
К е т м а - к е т ҳ о л а т 0 , 0 8 2 0 , 1 0 4 0 , 2 9 8
П а р а л л е л ҳ о л а т 0 , 0 6 1 0 , 0 7 6 0 , 1 9 5
Тезлашиш коэффисетти 1
,
3
4 1
,
3
6 1
,
5
2
2
.
Р
К е т м а - к е т ҳ о л а т 0 , 0 7 3 0 , 1 4 8 0 , 2 9 1
П а р а л л е л ҳ о л а т 0 , 0 6 9 0 , 1 3 6 0 , 2 7 2
Тезлашиш коэффисетти 1
,
0
5 1
,
0
8 1
,
0
6
3
.
Н
К е т м а - к е т ҳ о л а т 0 , 0 4 2 0 , 0 7 4 0 , 1 5 7
П а р а л л е л ҳ о л а т 0 , 0 3 1 0 , 0 6 2 0 , 1 2 5
У с к о р е н и е 1
,
3
5 1
,
1
9 1
,
2
5
4
.
А
К е т м а - к е т ҳ о л а т 0 , 0 6 5 0 , 1 4 8 0 , 1 9 1
П а р а л л е л ҳ о л а т 0 , 0 5 9 0 , 0 9 6 0 , 1 3 2
Тезлашиш коэффисетти 1
,
1
0 1
,
5
4 1
,
4
4
5
.
V
К е т м а - к е т ҳ о л а т 0 , 0 7 3 0 , 1 4 4 0 , 1 9 8
П а р а л л е л ҳ о л а т 0 , 0 5 9 0 , 1 0 7 0 , 1 7 1
Тезлашиш коэффисетти 1
,
2
3 1
,
3
4 1
,
1
5
282
)
3
(
N
Т
T
T
T
K
p
s
р
s
s
T
- кетма-кет ҳолатда алгоритмнинг бажарилиш вақти;
p
T
- параллел ҳолатда алгоритмнинг бажарилиш вақти: N – ядролар сони.
1-жадвал. Шакл алмаштиришларнинг икки ядроли процессорда ҳисоблаш
жараёни қўллаш натижасида параллеллилик даражаси янада ошади. (1) ва (2)
OpenMP технология ўзида бир қанча директива, функция ва модулларни жамлайди.
Спектрал усулларни параллеллаштириш натижасида ОpenMP технологиясининг for
директивасининг private ва reduction операторларидан фойдаланилди. Натижада кетма-кет
холатда ва юкоридаги технологияларни (2) формула алгоритмига қўллаган ҳолда паралел
холатда ишловчи дастурий воситаларни иккиядроли процессорда таҳлил натижаларини
солиштирамиз (1-жадвал). Ушбу жадвалда таҳлил натижаларида барча ўзгартиришлар
учун битта сигнал қийматлари қўлланилган. Бу жадвалдан сигнал учун оптимал базисни
танлаш имконияти юзага келади.
Демак, ҳозирги кунда кўпядроли процессорларнинг юзага келганлиги сабабли,
ядроларнинг
баравар
ишлашини
таъминлаш
мақсадида
кўпгина
соҳаларда
кўлланиладиган амалий дастурларни параллелаштириш муҳим илмий аҳамият касб этади.
Do'stlaringiz bilan baham: |