Einzelnen Beitrag anzeigen

Benutzerbild von alleinherrscher
alleinherrscher

Registriert seit: 8. Jul 2004
Ort: Aachen
797 Beiträge
 
Delphi XE2 Professional
 
#4

AW: Frage zu Critical Section bei Array Zugriff

  Alt 21. Feb 2014, 10:57
Hey, danke für die Infos. In der Tat hatte ich diese Methode (Teile und Herrsche) schon einmal implementiert. Allerdings geht aus folgendem Grund die performance sehr in den Keller:

1. An der Array-Grenze von zwei Threads, muss Thread 1 auf den Bereich von Thread 2 zugreifen und umgekehrt, da ich für die Berechnung am Punkt x,y,z jeweils die Punkte x+1,y,z ; x-1,y,z ; x,y+1,z ; x,y-1,z; x,y,z+1 ; x,y,z+1 benötige.

2. Ich muss sicherstellen, dass Thread 1 sein Teilgebiet nicht schon 200 mal durchlaufen hat, während Thread 2 erst 180 mal durchgelaufen ist.

3. Aus physikalischen Gründen benötigen die verschiedenen Teilgebiete unterschiedlich lange zur Berechnung. D.h.: Wegen dem vorher genannten Grund warten sich n-1 Thread die Füße in den Bauch, während Thread n noch rechnet....
„Software wird schneller langsamer als Hardware schneller wird. “ (Niklaus Wirth, 1995)

Mein Netzwerktool: Lan.FS
  Mit Zitat antworten Zitat