AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Datenbanken ADO/MSSQL mit Multi Prozessor Board
Thema durchsuchen
Ansicht
Themen-Optionen

ADO/MSSQL mit Multi Prozessor Board

Ein Thema von bernhard_LA · begonnen am 15. Apr 2016 · letzter Beitrag vom 20. Apr 2016
 
Benutzerbild von Sir Rufo
Sir Rufo

Registriert seit: 5. Jan 2005
Ort: Stadthagen
9.454 Beiträge
 
Delphi 10 Seattle Enterprise
 
#11

AW: ADO/MSSQL mit Multi Prozessor Board

  Alt 18. Apr 2016, 07:55
Wenn bei der Berechnung jedes Datensatzes ca. 1 Sekunde benötigt wird, dann braucht man im Idealfall
AnzahlCoresDauer (h)
1.000.0001277,77
1.000.000646,30
Dies ist aber jetzt die reine Berechnungszeit und erfodert die volle Aufmerksamkeit eines jeden Cores. Hat man 4 Cores, dann nützen einem 6 Threads hier nichts ... sie sind eher schädlich.

Bei der Menge der Datensätze und dem Thread-Aufbau (Daten lesen, Berechnen, Daten schreiben) spielen die Zeiten für Lesen/Schreiben auch eine Rolle und addieren sich hinzu. Eine CriticalSection sorgt auch noch dafür, dass die Threads sich untereinander ausbremsen.

Darum nimmt man dafür eine Pipeline.
  1. Die erste Stage holt die Datensätze und schiebt diese in eine Queue A
  2. Die zweite Stage holt einen Datensatz aus der Queue A, führt die Berechnung aus und gibt das Ergebnis in eine Queue B
  3. Die dritte Stage holt einen Datensatz aus der Queue B und schreibt den Datensatz wieder zurück
Mit diesem Aufbau kommt man ziemlich nahe an den Idealfall von Anzahl * Berechnungszeit / Cores, denn die gegenseitige Behinderung ist nur beim Zugriff auf die Queues A/B gegeben und die sind extrem kurz.
Kaum macht man's richtig - schon funktioniert's
Zertifikat: Sir Rufo (Fingerprint: ‎ea 0a 4c 14 0d b6 3a a4 c1 c5 b9 dc 90 9d f0 e9 de 13 da 60)
  Mit Zitat antworten Zitat
 


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 08:12 Uhr.
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz