â ñòîëáöå t ìàòðèöû J ðàâåí 1. Ïîýòîìó (S

advertisement
¯ = 0. Òàê êàê íåíóëåâûå ñòîëáöû
â ñòîëáöå t ìàòðèöû J ðàâåí 1. Ïîýòîìó (S0 + dJ)(S0 − dJ)
¯
ìàòðèöû (S0 − dJ) ëèíåéíî íåçàâèñèìû, òî ðàíã åå ðàâåí ðàíãó J¯. Ðàíã S1 = S0 + dJ ðàâåí ðàíãó J ,
¯ = n. Ïîýòîìó ñòîëáöû ìàòðèöû S0 + dJ¯ ïîðîæäàþò ÿäðî
ñëåäîâàòåëüíî rank(S1 ) + rank(S0 − dJ)
îïåðàòîðà S1 , ñëåäîâàòåëüíî îíè ïîðîæäàþò è ÿäðî îïåðàòîðà M .
Ñëåäîâàòåëüíî ÿäðî îïåðàòîðà M ïîðîæäàåòñÿ íåíóëåâûìè ñòîëáöàìè ìàòðèöû S1 − dI. À ýòî
âñå íåíóëåâûå ñòîëáöû ìàòðèöû J¯.
kern(M ) = span(E T AM − dI).
ÁËÀÃÎÄÀÐÍÎÑÒÈ: Ðàáîòà âûïîëíåíà ïðè ïîääåðæêå ÐÔÔÈ, ïðîåêò 04-07-90268.
Ïîñòóïèëà â ðåäàêöèþ 15 äåêàáðÿ 2007ã.
Î âû÷èñëèòåëüíûõ ýêñïåðèìåíòàõ
ñ ïàðàëëåëüíûìè àëãîðèòìàìè óìíîæåíèÿ
ïîëèíîìîâ è ìàòðèö â LLP ñõåìå
c
Þ.Ä. Âàëååâ
LLP ñõåìà ýòî ïàðàëëåëüíàÿ òåõíîëîãèÿ, êîòîðàÿ ïîçâîëÿåò ðàñïàðàëëåëèâàòü ðåêóðñèâíûå
îäíîïðîöåññîðíûå àëãîðèòìû. Îíà ïîäðîáíî èçëîæåíà â [13]. LLP ñõåìà ïðåäíàçíà÷åíà äëÿ ðàñïàðàëëåëèâàíèÿ îäíîïðîöåññîðíûõ àëãîðèòìîâ êàê ñ ïëîòíûìè, òàê è ñ ðàçðåæåííûìè äàííûìè.
Ýòî äîñòèãàåòñÿ çà ñ÷åò èñïîëüçîâàíèÿ ïëàíèðîâùèêà, êîòîðûé îòñëåæèâàåò ñâîáîäíûå è çàíÿòûå
ïðîöåññîðû è àâòîìàòè÷åñêè ïåðåðàñïðåäåëÿåò çàäàíèÿ îò çàãðóæåííûõ ê ñâîáîäíûì. Îò äðóãèõ
ñèñòåì àâòîìàòè÷åñêîãî ðàñïàðàëëåëèâàíèÿ åå îòëè÷àåò òî, ÷òî ãðàô àëãîðèòìà â íåé ïðåäñòàâëÿåòñÿ â âèäå âçâåøåííîãî äåðåâà, à êàæäûé àëãîðèòì ÿâëÿåòñÿ âåðøèíîé äåðåâà. Äëÿ òîãî ÷òîáû
ðàñïàðàëëåëèòü îäíîïðîöåññîðíûé àëãîðèòì ñ ïîìîùüþ LLP, íóæíî ðåàëèçîâàòü åãî â âèäå âåðøèíû äåðåâà è îïèñàòü åãî ãðàô.
LLP ñõåìà íàïèñàíà íà ÿçûêå Java è ðåàëèçîâàíà ñ èñïîëüçîâàíèåì òåõíîëîãèé mpiJava, MPI. Ñ
èñïîëüçîâàíèåì LLP ñõåìû áûëè ðåàëèçîâàíû ïàðàëëåëüíûå ïðîãðàììû äëÿ óìíîæåíèÿ ïîëèíîìîâ
è ìàòðèö.
Ïðîãðàììû ïðîòåñòèðîâàíû íà 16 ïðîöåñîðíîì êëàñòåðå ëàáîðàòîðèè àëãåáðàè÷åñêèõ âû÷èñëåíèé ñ ïðîöåññîðàìè Intel Xeon 3000 è ïàìÿòüþ 1Ãá.
1
Ðåçóëüòàòû òåñòèðîâàíèÿ LLP àëãîðèòìà óìíîæåíèÿ ïîëèíîìîâ
Áûë ïðîòåñòèðîâàí ïàðàëëåëüíûé àëãîðèòì óìíîæåíèÿ ïîëèíîìîâ ñ èñïîëüçîâàíèåì ñõåìû LLP.
Òåñòèðîâàëèñü ïîëèíîìû òðåõ ïåðåìåííûõ â êîíå÷íîì ïîëå è â êîëüöå öåëûõ ÷èñåë.
1. Ïîëèíîìû â êîëüöå Zp [x].  òàáëèöå ïðèâåäåíû âðåìåíà âûïîëíåíèÿ óìíîæåíèÿ â ìèëëèñåêóíäàõ. ×åðåç äðîáíóþ ÷åðòó óêàçàíî, âî ñêîëüêî ðàç âðåìÿ âû÷èñëåíèÿ ïðè äàííîì êîëè÷åñòâå
ïðîöåññîðîâ áîëüøå ïî ñðàâíåíèþ ñ âðåìåíåì âû÷èñëåíèÿ ïðè 16 ïðîöåññîðàõ. Ïðîãðàììà óìíîæåíèÿ çàïóñêàëàñü íà 2, 4, 8 è 16 ïðîöåññîðàõ. Ýêñïåðèìåíòû ïðîâîäèëèñü äëÿ ïîëèíîìîâ îò òðåõ
ïåðåìåííûõ ñ îäèíàêîâûìè ìàêñèìàëüíûìè ñòåïåíÿìè ïðè ïåðåìåííûõ x, y, z: 20, 25, 30, ñ ïëîòíîñòüþ 50 è 100%.
Ïëîòíîñòü 100%
Ïëîòíîñòü 50%
m\p
2
4
8
16
m\p
2
4
8
16
20 5710/4.17 3250/2.38 2040/1.49 1370/1 20 14470/6.55 7800/3.53 4320/1.95 2210/1
25 16320/6.16 8620/3.25 4870/1.84 2650/1 25 45080/7.01 23610/3.67 12630/1.96 6430/1
30 45180/7.14 23310/3.68 11810/1.87 6330/1 30 132020/6.98 68430/3.62 36350/1.92 18900/1
Ðèñ. 1. Ãðàôèêè çàâèñèìîñòè óñêîðåíèÿ îò êîëè÷åñòâà ïðîöåññîðîâ äëÿ ïîëèíîìîâ íàä êîëüöîì Zp [x] ñ
ïëîòíîñòüþ 50 è 100%
 ëåâîé ÷àñòè ðèñ.1 èçîáðàæåíî 3 ãðàôèêà çàâèñèìîñòè óñêîðåíèÿ îò êîëè÷åñòâà ïðîöåññîðîâ
äëÿ ðàçëè÷íûõ çíà÷åíèé ìàêñèìàëüíûõ ñòåïåíåé ïîëèíîìîâ. Ïîä óñêîðåíèåì ïîíèìàåòñÿ âî ñêîëüêî ðàç óìåíüøèëîñü âðåìÿ âû÷èñëåíèÿ ïî ñðàâíåíèþ ñ âðåìåíåì íà 2 ïðîöåññîðàõ. 1 ãðàôèê äëÿ
ìàêñèìàëüíîé ñòåïåíè ðàâíîé 20, 2 ãðàôèê äëÿ 25, 3 äëÿ 30. Íà ðèñóíêå òàêæå èçîáðàæåíû
2 ïðÿìûå ëèíèè. Âåðõíÿÿ îïðåäåëÿåò èäåàëüíîå óñêîðåíèå, ò.å. ïðè óâåëè÷åíèè ÷èñëà ïðîöåññîðîâ
âî ñòîëüêî æå ðàç áóäåò óìåíüøåíî âðåìÿ. Íèæíÿÿ ëèíèÿ îçíà÷àåò óñêîðåíèå âäâîå ìåíüøåå, ÷åì
èäåàëüíîå.
2. Ïîëèíîìû â êîëüöå Z[x, y, z]. Â òàáëèöå ïðèâåäåíû âðåìåíà âûïîëíåíèÿ óìíîæåíèÿ â
ìèëëèñåêóíäàõ. Ïðîãðàììà óìíîæåíèÿ çàïóñêàëàñü íà 2, 4, 8 è 16 ïðîöåññîðàõ. Ïîëèíîìû áðàëèñü
îò òðåõ ïåðåìåííûõ ñ îäèíàêîâûìè ìàêñèìàëüíûìè ñòåïåíÿìè ïðè ïåðåìåííûõ x,y,z: 20,25,30, ñ
ïëîòíîñòüþ 50% è 100% è êîëè÷åñòâîì áèò â êîýôôèöèåíòàõ 64, 128.
1. Òàáëèöà äëÿ ïîëèíîìîâ ñ ïëîòíîñòüþ 50%.
\nbits
64
128
m\procs
2
4
8
16
2
4
8
16
20
11940/4.39 6130/2.25 3740/1.38 2720/1 16220/4.37 9000/2.42 5620/1.51 3710/1
25
35910/5.05 18710/2.63 10190/1.43 7110/1 52250/4.90 28110/2.64 16550/1.55 10660/1
30
105930/5.65 54150/2.89 28610/1.53 18740/1 152620/5.75 77640/2.93 46940/1.77 26540/1
Ðèñ. 2. Ãðàôèêè çàâèñèìîñòè óñêîðåíèÿ îò êîëè÷åñòâà ïðîöåññîðîâ äëÿ ïîëèíîìîâ íàä êîëüöîì Z[x] ñ
ïëîòíîñòüþ 50% è êîëè÷åñòâîì áèò â êîýôôèöèåíòàõ 64 è 128
2. Òàáëèöà äëÿ ïîëèíîìîâ ñ ïëîòíîñòüþ 100%.
\nbits
64
128
m\procs
2
4
8
16
2
4
8
16
20
28960/6.18 14550/2.73 7810/1.47 5330/1 43330/5.34 27140/3.34 13400/1.65 8120/1
25
96380/5.83 49550/3.00 25170/1.52 16540/1 149630/6.12 100320/4.11 45590/1.86 24430
30
262850/5.00 137830/2.62 69820/1.32 52650/1 425370/6.05 278100 /3.95 123000/1.75 70420/1
Ðèñ. 3. Ãðàôèêè çàâèñèìîñòè óñêîðåíèÿ îò êîëè÷åñòâà ïðîöåññîðîâ äëÿ ïîëèíîìîâ íàä êîëüöîì Z[x] ñ
ïëîòíîñòüþ 100% è êîëè÷åñòâîì áèò â êîýôôèöèåíòàõ 64
1.1
Ðåçóëüòàòû òåñòèðîâàíèÿ LLP àëãîðèòìà óìíîæåíèÿ ìàòðèö
Òåñòèðîâàëîñü ïàðàëëåëüíîå óìíîæåíèå ìàòðèö ñ èñïîëüçîâàíèåì LLP ñõåìû. Ìàòðèöû ãåíåðèðîâàëèñü ñëó÷àéíûì îáðàçîì Äëÿ òåñòîâ áûëè âçÿòû ñëåäóþùèå ïàðàìåòðû:
• Ðàçìåð ìàòðèöû: 1024, 2048.
• Ïëîòíîñòü ìàòðèö: 10, 30, 50, 70, 100.
• Êîëè÷åñòâî ïðîöåññîðîâ 2, 4, 8, 16.
Ìàòðèöû áðàëèñü â ôîðìàòå LQTSM, ýëåìåíòû ìàòðèö 64 áèòíûå ÷èñëà. LQTSM ôîðìàò
õðàíåíèÿ ðàçðåæåííûõ ìàòðèö, â êîòîðîì ìàòðèöû õðàíÿòñÿ â âèäå êâàòåðíàðíîãî (÷åòâåðè÷íîãî)
äåðåâà.
 òàáëèöå óêàçàíî âðåìÿ âû÷èñëåíèÿ â ìèëëèñåêóíäàõ è âî ñêîëüêî ðàç âðåìÿ âû÷èñëåíèÿ
áîëüøå ïî ñðàâíåíèþ ñ âðåìåíåì âû÷èñëåíèÿ ïðè 16 ïðîöåññîðàõ.
Òàáëèöà 1. Ðàçìåðà ìàòðèö 1024x1024.
%\ ïðîöåññîðû
2
4
8
16
10
7110/2.9
4110/1.7 2750/1.1 2430/1
30
14120/4.2 7460/2.2 4970/1.5 3340/1
50
18080/4.6 9520/2.4 5770/1.5 3900/1
70
21170/4.9 11240/2.6 7060/1.6 4300/1
100
26700/5.4 12980/2.6 7440/1.5 4930/1
Òàáëèöà 2. Ðàçìåð ìàòðèö 2048x2048.
%\ ïðîöåññîðû
2
4
10
47900/4.8 25500/2.6
30
97500/5.7 50080/2.9
50
131760/6.0 68530/3.1
70
156710/6.1 80260/3.1
8
14690/1.5
28070/1.6
36440/1.6
46940/1.8
16
9930/1
17010/1
22090/1
25540/1
Ðèñ. 4. Ãðàôèêè çàâèñèìîñòè óñêîðåíèÿ îò êîëè÷åñòâà ïðîöåññîðîâ äëÿ ìàòðèö ïîðÿäêà 1024 è
2048
Íà ðèñ. 4 ñëåâà èçîáðàæåíî 4 ãðàôèêà çàâèñèìîñòè óñêîðåíèÿ îò êîëè÷åñòâà ïðîöåññîðîâ äëÿ
ðàçëè÷íûõ çíà÷åíèé ïëîòíîñòè äëÿ ìàòðèö ïîðÿäêà 1024. 1 ãðàôèê äëÿ ïëîòíîñòè 30%, 2 ãðàôèê äëÿ 50%, 3 äëÿ 70%, 4 100%. Ãðàôèê äëÿ ìàòðèö ïîðÿäêà 1024 è ïëîòíîñòè 10% íå
ðàññìàòðèâàåòñÿ, ò.ê. âðåìÿ âû÷èñëåíèÿ ïðè ýòèõ ïàðàìåòðàõ ÿâëÿåòñÿ äîñòàòî÷íî ìàëåíüêèì.
Íà ðèñ. 4 ñïðàâà 1-é ãðàôèê îòðàæàåò çàâèñèìîñòü óñêîðåíèÿ îò êîëè÷åñòâà ïðîöåññîðîâ äëÿ
ìàòðèö ïîðÿäêà 2048 è ïëîòíîñòè 10%, 2 äëÿ ïëîòíîñòè 30%, 3 50%, 4 70%.
2
Çàêëþ÷åíèå
Ýêñïåðèìåíòû äëÿ ïîëèíîìîâ íàä Zp [x] ïîêàçûâàþò, ÷òî óñêîðåíèå íàõîäèòñÿ â äèàïàçîíå: 4.0-7.2
äëÿ ïëîòíîñòè 50% è 6.5-7.1 äëÿ ïîëèíîìîâ ïëîòíîñòè 100%.
Äëÿ ïîëèíîìîâ èç êîëüöà Z[x, y, z] óñêîðåíèå íàõîäèòñÿ â äèàïàçîíå 4.3-5.8 äëÿ ïîëèíîìîâ ïëîòíîñòè 50% è êîëè÷åñòâîì áèò â êîýôôèöèåíòàõ 64 è 128, è â äèàïàçîíå 5.0-6.2 äëÿ ïîëèíîìîâ
ïëîòíîñòè 100% è ïðè òåõ æå ðàçìåðàõ êîýôôèöèåíòîâ.
LLP ñõåìà äëÿ ïîëèíîìîâ íàä êîëüöàìè Zp [x] è Z[x] ïîêàçûâàåò õîðîøåå óñêîðåíèå, êîòîðîå
áëèçêî ê òåîðåòè÷åñêè ëó÷øåìó óñêîðåíèþ, ðàâíîìó 8.
LLP ñõåìà äëÿ àëãîðèòìà óìíîæåíèÿ ìàòðèö äëÿ ðàçìåðà 1024 äàåò óñêîðåíèå â äèàïàçîíå 4.25.4, äëÿ ìàòðèö ðàçìåðà 2048 4.8-6.1. Óñêîðåíèå äëÿ ìàòðè÷íîãî óìíîæåíèÿ íàõîäèòñÿ â îáëàñòè
ìåæäó òåðåòè÷åñêè ëó÷øèì óñêîðåíèåì è 50% óñêîðåíèåì.
Ëèòåðàòóðà
1. Ìàëàøîíîê Ã.È., Âàëååâ Þ.Ä., Çóåâ Ì.Ñ. Ïàðàëëåëüíàÿ êîìïüþòåðíàÿ àëãåáðà. Ââåäåíèå.
Òàìáîâ: Èçä-âî ÒÃÓ èì. Ã.Ð. Äåðæàâèíà, 2006. 102 ñ.
2. Ìàëàøîíîê Ã.È., Âàëååâ Þ.Ä. Äèíàìè÷åñêîå ðàñïðåäåëåíèå çàäàíèé â âû÷èñëèòåëüíîì êëàñòåðå ïî ãðàôó àëãîðèòìà // XI Äåðæàâèíñêèå ÷òåíèÿ. Òåçèñû äîêëàäîâ. Òàìáîâ: Èçä-âî ÒÃÓ èì.
Ã.Ð.Äåðæàâèíà, 2006. Ñ. 38-47.
3. Ìàëàøîíîê Ã.È., Âàëååâ Þ.Ä. Ðåêóðñèâíîå ðàñïàðàëëåëèâàíèå ñèìâîëüíî-÷èñëåííûõ àëãîðèòìîâ // Âåñòí. Òàìá. óí-òà. Ñåð.: Åñòåñòâ. è òåõí. íàóêè. Òàìáîâ, 2006. Ò. 11, âûï. 4. Ñ. 536-549.
Ïîñòóïèëà â ðåäàêöèþ 3 äåêàáðÿ 2007ã.
Îá îöåíêå êîýôôèöèåíòîâ õàðàêòåðèñòè÷åñêîãî ïîëèíîìà
c
Î.Í.Ïåðåñëàâöåâà
Ïóñòü A êîììóòàòèâíîå êîëüöî, A = aij êâàäðàòíàÿ ìàòðèöà ïîðÿäêà n ñ ýëåìåíòàìè
aij ∈ A, i = 1, . . . , n, j = 1, . . . , n; E åäèíè÷íàÿ ìàòðèöà ïîðÿäêà n, F (x) = det(A − xE) õàðàêòåðèñòè÷åñêèé ïîëèíîì ìàòðèöû A.
Îäíîé èç âàæíûõ çàäà÷, ñâÿçàííûõ ñ âû÷èñëåíèåì õàðàêòåðèñòè÷åñêèõ ïîëèíîìîâ öåëî÷èñëåííûõ ìàòðèö, ÿâëÿåòñÿ çàäà÷à íàõîæäåíèÿ âåðõíåé îöåíêè äëÿ êîýôôèöèåíòîâ õàðàêòåðèñòè÷åñêîãî ïîëèíîìà. Òàêóþ îöåíêó íåîáõîäèìî çíàòü, íàïðèìåð, äëÿ ìîäóëÿðíîé ðåàëèçàöèè àëãîðèòìà
âû÷èñëåíèÿ õàðàêòåðèñòè÷åñêîãî ïîëèíîìà ìàòðèöû ñ ïîìîùüþ êèòàéñêîé òåîðåìû. Ìîæíî âîñïîëüçîâàòüñÿ íåðàâåíñòâîì Àäàìàðà äëÿ îïðåäåëèòåëÿ ìàòðèöû, ò.å. äëÿ ñâîáîäíîãî ÷ëåíà õàðàêòåðèñòè÷åñêîãî ïîëèíîìà. Îäíàêî ñâîáîäíûé ÷ëåí íå ÿâëÿåòñÿ îáÿçàòåëüíî íàèáîëüøèì ïî ìîäóëþ
êîýôôèöèåíòîì õàðàêòåðèñòè÷åñêîãî ïîëèíîìà.
Download