AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

mehr als 1 Prozessorkern verwenden

Ein Thema von gelöschterBenutzer · begonnen am 30. Apr 2011 · letzter Beitrag vom 1. Mai 2011
Antwort Antwort
gelöschterBenutzer

Registriert seit: 29. Jan 2010
25 Beiträge
 
#1

mehr als 1 Prozessorkern verwenden

  Alt 30. Apr 2011, 19:38
hi zusammen,

ich möchte für mein Programm mehr als 1 Prozessorkern verwenden. Habe gehört, dass es über Threading möglich ist. Allerdings berechnet mein Programm nur Primzahlen und ein 2ter Thread wäre dafür bestimmt unsinnig, da ich nur eine Prozedur habe.

Diese Frage wurde bestimmt schon sehr oft gestellt. Ich bräuchte nur ein Anstoß wonach ich suchen muss.

Gruß gelöschterBenutzer
  Mit Zitat antworten Zitat
Satty67

Registriert seit: 24. Feb 2007
Ort: Baden
1.566 Beiträge
 
Delphi 2007 Professional
 
#2

AW: mehr als 1 Prozessorkern verwenden

  Alt 30. Apr 2011, 19:52
Selbst wenn eine Aufgabe nicht teilbar ist, kann ein "ArbeitsThread" sinnvoll sein, weil das Hauptprogramm besser auf Eingaben reagiert.

Für mehr als ein ArbeitsThread müsste man schauen, ob die Primzahlsuche eine teilbare Aufgabe ist.

Ein Thread-Beispiel ist übrigens seit mind. Delphi 5 im Demo-Ordner dabei...

Geändert von Satty67 (30. Apr 2011 um 19:55 Uhr)
  Mit Zitat antworten Zitat
gelöschterBenutzer

Registriert seit: 29. Jan 2010
25 Beiträge
 
#3

AW: mehr als 1 Prozessorkern verwenden

  Alt 30. Apr 2011, 20:49
Das es über Threads möglich ist weis ich ja Aber gibt es nicht einen anderen Weg mehr Kerne anzusprechen?
  Mit Zitat antworten Zitat
Benutzerbild von Luckie
Luckie

Registriert seit: 29. Mai 2002
37.621 Beiträge
 
Delphi 2006 Professional
 
#4

AW: mehr als 1 Prozessorkern verwenden

  Alt 30. Apr 2011, 20:51
Wie soll das gehen? Überlege doch mal. Du haste EINEN Thread, wie soll der auf mehreren Kernen sinnvoll laufen? Soll das Betriebssystem den EINEN Thread ständig eine anderen Kern zuweisen?
Michael
Ein Teil meines Codes würde euch verunsichern.
  Mit Zitat antworten Zitat
Benutzerbild von Bummi
Bummi

Registriert seit: 15. Jun 2010
Ort: Augsburg Bayern Süddeutschland
3.470 Beiträge
 
Delphi XE3 Enterprise
 
#5

AW: mehr als 1 Prozessorkern verwenden

  Alt 30. Apr 2011, 20:52
passiert ja eh ....
Thomas Wassermann H₂♂
Das Problem steckt meistens zwischen den Ohren
DRY DRY KISS
H₂ (wenn bei meinen Snipplets nichts anderes angegeben ist Lizenz: WTFPL)
  Mit Zitat antworten Zitat
Benutzerbild von mschaefer
mschaefer

Registriert seit: 4. Feb 2003
Ort: Hannover
2.032 Beiträge
 
Delphi 12 Athens
 
#6

AW: mehr als 1 Prozessorkern verwenden

  Alt 30. Apr 2011, 21:28
Wenn der Thread "Parallele Primzahlberechnung" heissen sollte, dann hätte ich hier was Paralleles Programmieren mit Java.

Grüße in die Runde
Martin Schaefer
  Mit Zitat antworten Zitat
Benutzerbild von Sir Rufo
Sir Rufo

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

AW: mehr als 1 Prozessorkern verwenden

  Alt 1. Mai 2011, 01:38
Wie soll das gehen? Überlege doch mal. Du haste EINEN Thread, wie soll der auf mehreren Kernen sinnvoll laufen? Soll das Betriebssystem den EINEN Thread ständig eine anderen Kern zuweisen?
passiert ja eh ....
Aber abwechselnd und niemals gleichzeitig

@gelöschterBenutzer

Um sich das mit den Threads und CPU besser vorstellen zu können:

Mit einem Eimer (Thread) soll eine Person (CPU) Wasser von A nach B transportieren (Aufgabe).
Auch wenn du mehrere Personen hast, kann immer nur eine Person die Aufgabe erfüllen, da es ja nur einen Eimer gibt.
Hast du nur eine Person und viele Eimer, dann muss sich die Person sich ganz schön abrackern.
Optimal ist pro Person einen Eimer zur Verfügung zu stellen, dann hat man die beste Auslatung.

Manchmal machen aber auch mehr Eimer Sinn:

Angenommen das Befüllen und Ausleeren der Eimer geht autonom, dann kann es sinnvoll sein 3 Eimer pro Person zu haben
  • Eimer 1 beim Befüllen (z.b. Daten aus Datenbank lesen)
  • Eimer 2 beim Transport (Daten verarbeiten)
  • Eimer 3 beim Ausleeren (Ergebnis speichern/übertragen)
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
generic

Registriert seit: 24. Mär 2004
Ort: bei Hannover
2.416 Beiträge
 
Delphi XE5 Professional
 
#8

AW: mehr als 1 Prozessorkern verwenden

  Alt 1. Mai 2011, 03:39
hi zusammen,
Programm nur Primzahlen und ein 2ter Thread wäre dafür bestimmt
Also Primzahlen werden meist in einer Schleife berechnet.
Warum teilst du nicht die Datenmenge der Schleife und verteilst die gleichmäßig auf die CPUs.

Suche mal nach der Omnithreadlibrary (Parallel.ForEach) alternativ geht auch TThread. In der Omni sind sogar die meisten Demos mit Primzahlen-Berechnung.

In einer den nächsten Entwickler-Magazin Ausgaben, wird ein Artikel über die Omni-Lib und Multithreading sein.
Coding BOTT - Video Tutorials rund um das Programmieren - https://www.youtube.com/@codingbott
  Mit Zitat antworten Zitat
Benutzerbild von Bummi
Bummi

Registriert seit: 15. Jun 2010
Ort: Augsburg Bayern Süddeutschland
3.470 Beiträge
 
Delphi XE3 Enterprise
 
#9

AW: mehr als 1 Prozessorkern verwenden

  Alt 1. Mai 2011, 09:28
Zitat:
Aber abwechselnd und niemals gleichzeitig
ist mir schon klar, die Antwort bezog sich auf Luckies Post....
Thomas Wassermann H₂♂
Das Problem steckt meistens zwischen den Ohren
DRY DRY KISS
H₂ (wenn bei meinen Snipplets nichts anderes angegeben ist Lizenz: WTFPL)
  Mit Zitat antworten Zitat
Antwort Antwort


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 22:10 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz