SWT[5]#3
-
- Administrator
- Beiträge: 383
- Registriert: Do 23. Okt 2008, 20:16
- Wohnort: Karlsruhe
- Kontaktdaten:
Re: SWT[5]#3
Edit: hat sich erledigt habs jetzt mit runnable gemacht und scheint zu funktionieren, ich werd nchert mal meine graphen posten ob die laufzeiten in die richtige richtung gehen
Edit2: ich wollte nochmal auf das thema mit dem warten auf das ende aller executions bei einem threadpool zu sprechen kommen. gibts es da überhaupt eine andere möglichkeit als awaitTermination? ich hab mal einige wait() notifyAll() konstruktionen mit pool.getactiveCount != 0 als bedingung aba damit hatte ich keinen erfolg, könnte mir jemand nen tipp geben?
Edit3: hätte noch ne andere frage, da ich das ganze auch mit threads implementiert habe und zwar hat jemand mal die cyclicbarrier wie in der vl verwendet? ich hab sie in einer run()-methode in einer inneren klasse benutzt, aber das bild war dann nie richtig. nachdem ich nun eine for-schleife gemacht habe und für jeden thread des thread-arrays join() aufgerufen habe geht das ganze, was ich nicht so wirklich verstehe...
Edit2: ich wollte nochmal auf das thema mit dem warten auf das ende aller executions bei einem threadpool zu sprechen kommen. gibts es da überhaupt eine andere möglichkeit als awaitTermination? ich hab mal einige wait() notifyAll() konstruktionen mit pool.getactiveCount != 0 als bedingung aba damit hatte ich keinen erfolg, könnte mir jemand nen tipp geben?
Edit3: hätte noch ne andere frage, da ich das ganze auch mit threads implementiert habe und zwar hat jemand mal die cyclicbarrier wie in der vl verwendet? ich hab sie in einer run()-methode in einer inneren klasse benutzt, aber das bild war dann nie richtig. nachdem ich nun eine for-schleife gemacht habe und für jeden thread des thread-arrays join() aufgerufen habe geht das ganze, was ich nicht so wirklich verstehe...
Re: SWT[5]#3
Hi zusammen hät da auch mal ne frage;
ich hab es parallel gmacht und scheint auch zu funtzen! bis auf die tatsache das er mir nix zeichnet! Hab schon geschaut ob er die Threads beendet, und das tut er aber es will das schöne Drogenbild nicht kommen wie bei SequentielleMandelbrot. compute return auch ein int[][] woran kann es liegen?
ich hab es parallel gmacht und scheint auch zu funtzen! bis auf die tatsache das er mir nix zeichnet! Hab schon geschaut ob er die Threads beendet, und das tut er aber es will das schöne Drogenbild nicht kommen wie bei SequentielleMandelbrot. compute return auch ein int[][] woran kann es liegen?
Re: SWT[5]#3
In welches Array schreiben denn deine Fäden das "Drogenbild" rein?
In das, das am Ende auch gezeichnet wird?
In das, das am Ende auch gezeichnet wird?
Re: SWT[5]#3
hehe, genau des Bild hatte immer die Flaschen drogen! merci! jetzt funtzt
Re: SWT[5]#3
Oh hi.
Mein Prozessor fickt mich.
Ich hab zwar ab zwei Threads beinahe doppelt so schnelle Laufzeit als beim sequentiellen, aber mit mehr Threads wird das nich schneller. Es bleibt rel gleich und wird gegen Ende langsamer. Is das normal?
Ich hab nen Intel Core 2 duo T8100 @ 2.10 GHz
Mein Prozessor fickt mich.
Ich hab zwar ab zwei Threads beinahe doppelt so schnelle Laufzeit als beim sequentiellen, aber mit mehr Threads wird das nich schneller. Es bleibt rel gleich und wird gegen Ende langsamer. Is das normal?
Ich hab nen Intel Core 2 duo T8100 @ 2.10 GHz
-
- Administrator
- Beiträge: 383
- Registriert: Do 23. Okt 2008, 20:16
- Wohnort: Karlsruhe
- Kontaktdaten:
Re: SWT[5]#3
nein ist nicht normal dass es mit mehr threads langsamer wird, da stimmt dann iwas nicht, wenn du gar nichts mehr hinbekommen solltest, kannst ja den code mal reinstellen oder als pn schreiben vllt kann ich ja helfen.
wollte nochmal fragen ob jemand für threadpools ne bessere lösung hat als awaitTermination und könnte es sein dass eine cyclicbarrier nur funktioniert wenn man in ihrer run-methode auch das ergebnis ausgibt?
wollte nochmal fragen ob jemand für threadpools ne bessere lösung hat als awaitTermination und könnte es sein dass eine cyclicbarrier nur funktioniert wenn man in ihrer run-methode auch das ergebnis ausgibt?
Re: SWT[5]#3
Naja langsamer is relativ. Es bleibt relativ gleich bei egal wieviel Threads. Hab zb bei 2000 Sequentiell etwas 9000ms(?) und parallel bei egal wievielen Threads etwa 4700ms(wieder ?).
Re: SWT[5]#3
Ob das normal ist weis ich net aber bei mir sbraucht er bei 512Threads 288nano sec hab einen P8600 von Intel @ 2.4Ghz
kann auch sein das meins falsch ist^^
Edit: was mich stutzig macht ist das irgend wo hier steht das jemand T(1)/T(p) max 2.0 hat; das müsste zu deinen werten ja passen aber das passt dann bei net bin da 6499/288 = 22.5 klingt zu gut um wahr zu sein^^
kann auch sein das meins falsch ist^^
Edit: was mich stutzig macht ist das irgend wo hier steht das jemand T(1)/T(p) max 2.0 hat; das müsste zu deinen werten ja passen aber das passt dann bei net bin da 6499/288 = 22.5 klingt zu gut um wahr zu sein^^
-
- Administrator
- Beiträge: 383
- Registriert: Do 23. Okt 2008, 20:16
- Wohnort: Karlsruhe
- Kontaktdaten:
Re: SWT[5]#3
ich poste mal meine werte:
deine werte sehen also richtig aus bei mir gehts auch nicht schneller als 5000 millisekunden
das is übrigens eine implementierung ohne threadpool mit einfachen threads die dann mit join() aufeinander warten
@ scrats also dein wert kommt mir echt sehr sehr schnell vor solltest vllt mal schauen ob das bild überhaupt richtig ist
Code: Alles auswählen
Sequentieller Teil
Seitenlaenge Laufzeit
100 30
200 117
300 256
400 451
500 701
600 1016
700 1363
800 1780
900 2268
1000 2776
1100 3371
1200 4010
1300 4703
1400 5474
1500 6267
1600 7125
1700 8040
1800 9016
1900 10068
2000 11151
Paralleler Teil
Threads: 2
Seitenlaenge Laufzeit
100 23
200 84
300 184
400 323
500 502
600 721
700 983
800 1283
900 1620
1000 2012
1100 2417
1200 2875
1300 3371
1400 3934
1500 4495
1600 5136
1700 5774
1800 6480
1900 7233
2000 7994
Threads: 4
Seitenlaenge Laufzeit
100 22
200 81
300 193
400 289
500 481
600 685
700 957
800 1206
900 1495
1000 1857
1100 2274
1200 2672
1300 3108
1400 3606
1500 4141
1600 4778
1700 5381
1800 6007
1900 6702
2000 7360
Threads: 8
Seitenlaenge Laufzeit
100 29
200 64
300 163
400 232
500 358
600 531
700 719
800 960
900 1180
1000 1437
1100 1734
1200 2086
1300 2414
1400 2743
1500 3174
1600 3634
1700 4118
1800 4640
1900 5205
2000 5684
Threads: 16
Seitenlaenge Laufzeit
100 19
200 68
300 134
400 256
500 356
600 530
700 694
800 914
900 1140
1000 1406
1100 1720
1200 2049
1300 2409
1400 2778
1500 3142
1600 3564
1700 4122
1800 4578
1900 5049
2000 5600
Threads: 32
Seitenlaenge Laufzeit
100 20
200 64
300 136
400 230
500 369
600 510
700 701
800 928
900 1140
1000 1439
1100 1735
1200 2031
1300 2360
1400 2791
1500 3136
1600 3641
1700 4029
1800 4501
1900 5090
2000 5571
Threads: 64
Seitenlaenge Laufzeit
100 22
200 65
300 136
400 234
500 362
600 509
700 693
800 909
900 1146
1000 1430
1100 1702
1200 2015
1300 2364
1400 2742
1500 3144
1600 3578
1700 4033
1800 4536
1900 5037
2000 5560
Threads: 128
Seitenlaenge Laufzeit
100 29
200 71
300 145
400 242
500 365
600 516
700 702
800 909
900 1163
1000 1439
1100 1715
1200 2020
1300 2364
1400 2760
1500 3152
1600 3566
1700 4037
1800 4519
1900 5020
2000 5551
Threads: 256
Seitenlaenge Laufzeit
100 43
200 84
300 157
400 250
500 378
600 535
700 712
800 981
900 1165
1000 1442
1100 1717
1200 2043
1300 2378
1400 2746
1500 3162
1600 3590
1700 4038
1800 4520
1900 5053
2000 5568
Threads: 512
Seitenlaenge Laufzeit
100 72
200 118
300 185
400 278
500 404
600 557
700 737
800 947
900 1188
1000 1460
1100 1749
1200 2065
1300 2410
1400 2796
1500 3260
1600 3605
1700 4061
1800 4545
1900 5068
2000 5585
das is übrigens eine implementierung ohne threadpool mit einfachen threads die dann mit join() aufeinander warten
@ scrats also dein wert kommt mir echt sehr sehr schnell vor solltest vllt mal schauen ob das bild überhaupt richtig ist
Re: SWT[5]#3
hast recht das bild hat ein paar fehler drin! muss dann wohl weiter schaffen^^ so ein feadback ist immer gut!