Jump to content

Einen Prozess auf mehrere Kerne aufteilen?


Der letzte Beitrag zu diesem Thema ist mehr als 180 Tage alt. Bitte erstelle einen neuen Beitrag zu Deiner Anfrage!

Empfohlene Beiträge

Hallo.

 

Habe grade konkret das Problem daß ein Prozess auf einem Xeon-Quadcore-System länger braucht als auf einem Core2Duo-System. Das mal so ganz subjektiv.

 

Der Quad-Xeon hat 3,2GHz und der Core2Duo hat 2,7GHz.

 

 

Wie kann man das sehen? Hat der Quad mal rechnerisch 4x 3,2GHz und der C2D 2x 2,7GHz ??

Mein Kollege meinte ich darf für den einen Prozess beim Quadcore nur 800MHz rechnen und beim C2D entspr. 1,35GHz !?!?

(Nachdem diese exe-Datei ja auf beiden System immer nur je einen Kern nutzt).

 

 

Alle anderen Faktoren wie Cachegröße usw mal jetzt vergessen...

 

 

 

 

XP ermöglicht es einem Prozess nur einen Kern zu nutzen.

 

Das Programm scheint nicht zwingend für 2 oder mehr Kerne geschrieben zu sein. Der Hersteller sagt jedenfalls nein, aber er sagt auch daß das an Microsoft und am Betriebssystem liegt.

 

Allgemein gesagt glaube ich auch, daß der Core2Duo schneller ist als der Quad-Xeon es sei denn das Programm nutzt alle Kerne. Aber in der Praxis scheint das nicht oft der Fall zu sein daß eine Software alle Kerne nutzt oder?

 

 

Welche Möglichkeiten gibt es einen Prozess auf alle Kerne aufzuteilen, ich kenne die Möglichkeit im Taskmanager einem Prozess einen Kern zuzuordnen bzw. ihm einen oder mehrer Kerne wegzunehmen, das heißt aber nicht daß wenn er alle Kerne benutzen darf, daß er das tut, Auch kann man ihn dadurch ja nicht zwingen alle zu nutzen.

 

Gibt es denn eine Möglichkeit einen Prozess dazu zu zwingen?

 

Danke!

Link zu diesem Kommentar

Alles Quark.

 

Bei einem 3.2 Ghz Quadcore-Prozessor läuft jeder einzelne Core mit bis zu 3.2 Ghz. Bei einem 2.7 Ghz Dualcore-Prozessor läuft jeder einzelne Core mit bis zu 2.7 Ghz.

 

Ein Prozess kann bei XP mehrere Cores nutzen, allerdings kann ein Thread (wovon ein Prozess mehrere haben kann) nur auf einem Core laufen.

 

Teile uns doch bitte erstmal mit um welche Prozessoren es sich genau handelt. "Xeon" kann so gut wie alles sein. Also die genauen Modellnummern des Xeons und des C2D. Mit CPU-Z kannst du diese herausfinden.

Link zu diesem Kommentar

HI und Danke für die schnelle Antwort.

 

Quark bezogen auf dieses Aufteilung beim Quad mit den 800MHZ oder?

 

Dachte ich mir doch wie du sagst, daß jeder Core des Quad die 3,2GHz nutzt (bis zu) und beim C2D entsprechend...

 

Konkret geht es um Solidworks 2009 (Auf dem Xeon ist Solidworks und Windows beides in 64 Bit).

 

 

Die solidworks.exe scheint bei beiden PCs immer nur einen Kern zu nutzen. Das ist nachvollziehbar und wiederholbar.

 

Es wäre halt toll wenn diese exe alle Kerne nutzen würde!

 

 

Der Xeon ist ein X5570 (schon vom Hersteller übertaktet auf 3,2GHz, er läuft nur unter Last mit den 3,2GHz) und der C2D ist der E6750

Link zu diesem Kommentar
Quark bezogen auf dieses Aufteilung beim Quad mit den 800MHZ oder?

 

Ja.

 

Es wäre halt toll wenn diese exe alle Kerne nutzen würde!

 

Denk weniger an Exes, denk an Prozesse und an Threads. Wenn das Programm nur einen Thread hat, kann es nur auf einem Core laufen. Wieviele Threads ein Prozess hat legt der Programmierer fest. Windows kann nur Threads verteilen wenn der Prozess auch mehrere hat.

 

Der Xeon ist ein X5570 (schon vom Hersteller übertaktet auf 3,2GHz, er läuft nur unter Last mit den 3,2GHz) und der C2D ist der E6750

 

Der X5570 wird nicht übertaktet. Das ist ein Prozessor der Turbo Boost beherrscht. Turbo-Boost erhöht den Multiplikator wenn der Prozessor ansonsten unterhalb der TDP ist.

 

Der X5570 müsste aber in sämtlichen Fällen massiv schneller als der E6750 sein, völlig unabhängig vom Workload. Der Nehalem hat pro Mhz 10-20% mehr Leistung als Conroe. Ausserdem hat er eine höhere Taktfrequenz und kann bei Single-Threaded Workloads mit Turbo-Boost punkten.

 

Der Flaschenhals muss woanders liegen.

Link zu diesem Kommentar
Solidworks 2009 kann definitiv Multithreading.

 

http://www.javelin-tech.com/main/support/pdf/hardware.pdf

 

Naja.

 

No benchmark tests have been done to determine the increased speed associated with running on a

multi/dual core-processor machine but there should be a slight performance gain.

 

Für mich liest sich das wie: "ja wirklich schneller wirds nicht, deswegen haben wirs auch nicht gemessen".

 

Ein richtig multithreaded Programm kann bei 4 Cores effektiv 4x schneller sein - aber die reden nur von "slight performance gain".

Link zu diesem Kommentar

@Dr. Melzer

 

Solidworks ist ein 3D-CAD-Konstruktion und Analyseprogramm und kommt von Dassault Systèmes SolidWorks Corp. . Wird meines Wissens ganz gern eingesetzt wenn die Maschinen nicht ganz so leistungsfähig sind (verbessert mich bitte wenn ich nicht richtig liege).

 

@wily

 

Meines Wissens kann nur die neueste Version (ich glaub' die 2010er) mit mehreren Kernen arbeiten. Alle davor sind wohl singlecore.

 

ciao

M.

Link zu diesem Kommentar
Ein richtig multithreaded Programm kann bei 4 Cores effektiv 4x schneller sein - aber die reden nur von "slight performance gain".

Die Frage war doch, ob das Programm multithreading überhaupt kann (und nicht, ob es das vernünftig kann oder ob es wirklich was bringt).

Zumindest bei DC-CPUs fühlt es sich "etwas" schneller an (Aussage von jemandem, der damit täglich arbeitet).

 

BTW:

Many of the user interface activities such as redraw and dialog box interaction, etc., take advantage of this technology. However, the solving process used for parametric modeling is by nature very linear and cannot take full advantage of multiple or dual core processors.
Link zu diesem Kommentar

Da habt ihr alle mehr oder weniger, eher mehr, Recht. ;-)

 

Wie schon geschrieben, scheint Solidworks zwar das so anzugeben daß es mehrkern-fähig ist, aber die sagen auch daß das mit dem BS zusammenhängt, sozusagen, ob das BS dem solidworks.exe erlaubt mehrere Kerne zu nutzen.

 

 

Das Hauptprogramm solidworks.exe scheint es nicht zu tun, egal ob auf unserer neuen Workstation mit Xeon oder auf der C2D-Maschine.

 

Laut support soll es mit Windows 7 und Solidworks 2009 "besser" funktionieren. Um wieviel Prozent... keine Ahnung.

 

Ob Solidworks 2010 mit mehreren Kernen arbeitet habe ich auch schon überlegt, das muss ich echt mal anfragen.

 

 

@ LukasB: prinzipiell war das meine Erwartung, bei so einer Workstation die uns ~4500 € kostete, habe ich auch mehr erwartet. Und ich bin im Moment von der Leistung bezüglich Solidworks enttäuscht. Ich bin von der reinen Rechenleistung der Workstation überzeugt, sämtliche Benchmarks die ich laufen hab lassen ergaben Faktoren von ca 5 oder 6 im Vergleich zu unserer zweitschnellsten C2D-Maschine.

 

(Xeon X5570 3,2GHz 24GB Triple Channel 1333MHz ECC SAS RAID HDDs 15k U/Min Quadro FX 3800)

 

 

 

 

 

Und ja, Solidworks ist so ein "Mittelprogramm", also nicht das High-End-CAD-Programm aber auch nichts für den Einsteiger. Wobei unsere Konstruktionen (leider) oft die Leistungsfähigkeit aufzeigen ;-)

Link zu diesem Kommentar
@ LukasB: prinzipiell war das meine Erwartung, bei so einer Workstation die uns ~4500 € kostete, habe ich auch mehr erwartet. Und ich bin im Moment von der Leistung bezüglich Solidworks enttäuscht.

 

Dafür gibts Teststellungen. Bevor wir unsere ThinkStations verkaufen machen wir das normalerweise - das sichert uns UND den Kunden ab.

 

Die X5570 CPUs sind super und schnell, aber auch völlig überteuert und in den meisten Fällen auch garnicht nötig. Eine seriöse Beratung durch den Händler ist hier sehr wichtig. Wenn man sich nicht beraten lassen will und das ganze lieber in einem Onlineshop selber zusammenklickt um 10% günstiger zu sein, hat man halt den Nachteil.

Link zu diesem Kommentar
Dafür gibts Teststellungen. Bevor wir unsere ThinkStations verkaufen machen wir das normalerweise - das sichert uns UND den Kunden ab.

 

Die X5570 CPUs sind super und schnell, aber auch völlig überteuert und in den meisten Fällen auch garnicht nötig. Eine seriöse Beratung durch den Händler ist hier sehr wichtig. Wenn man sich nicht beraten lassen will und das ganze lieber in einem Onlineshop selber zusammenklickt um 10% günstiger zu sein, hat man halt den Nachteil.

 

 

Hm, also ein Onlineshop war es nicht ;-)

 

Wir hatten uns ursprünglich mal Anfang 2009 eine xw8600 anbieten lassen die dann von der jetzigen Z800 abgelöst wurde.

Die alte Workstation xw8600 hatte soweit ich noch weiß einen C2D, die neue Z800 hat jetzt eben den X5570 Xeon drin. Ich weiß daß der Prozessor einen Einzelpreis von ~1900 € hat, ich hab die Einzelpreise gesehen, da aber der Gesamtpreis so oder so schon definiert war war es uns relativ egal, ob nun der Prozessor alleine schon 1900 € kostete oder ob er eben billiger auch zu haben gewesen wäre und dafür aber die Grafikkarte dann den Unterscheid zu Gesamtpreis erzeugt hätte...

 

Ich weiß noch daß es den X5570 vor einigen Wochen im Internet für ca. 1400 € auch schon gab. Und dann gibt es ja noch den Unterschied ob du so einen Prozessor als HP Artikel kaufst oder als "Intel" Artikel (also ich meine man kriegt einen identischen Prozessor zu kaufen der nur weil er von HP ist oder so gebrandet ist gleichmal ein Drittel mehr kostet...).

Link zu diesem Kommentar

Hi wily.

 

Wo Lukas recht hat, da hat er einfach recht. Eine Teststellung, speziell wenn ich die Software nicht kenne, oder zumindest ziemlich gut einschätzen kann, ist einfach sinnvoll. Nicht jede Maschine kann, trotz manchmal überlegener Hardware, die Erwartungen Deines Kunden, oder die Deinen, auch erfüllen.

Es scheint seinen Grund zu haben, daß Solidworks auf seiner hp einen Konfigurator anbietet der recht aussagekräftig ist, wenn er auch manchmal ein bißchen hinter der Zeit herhinkt. Die getesteten Konfigurationen dürften wohl eher die gewünschten Ergebnisse bringen.

 

ciao

M.

Link zu diesem Kommentar

Eine Teststellung war anfangs ein Gedanke, nachdem aber der Händler ein Solidworks Systempartner (und auch einer von HP) ist, gab es da keine Bedenken.

 

Wie gesagt, von der Rechenleistung der Z800 bin ich begeistert. Entsprechende Benchmarks beweisen es. Auch Everest führt unsere Z800 an erster Stelle was die Benchmarks angeht, noch vor allen Core I7 usw.

Das Problem ist ja "nur", daß Solidworks, zumindest in der Version 2009, für die Standard-Rechenaufgaben nicht mehrere Kerne unterstützt.

 

Ich finde folglich den Rechner nicht direkt übertrieben, klar hätte eine Workstation für "nur" 3000 Euro das gleiche gemacht, und den Unterschied wird man in der Praxis nicht merken, und die Kapazität dieser Z800 werden wir wohl auch nicht nutzen, aber das ärgerliche ist halt die Softwareseite.

 

In Extremfällen kann man die Hardware auch ausnutzen, vor allem was den Speicher angeht. Habe schon Tests gemacht, und aufgrund der 64 Bit Hardware und Software kann ich mit Solidworks mal locker 18GB im Speicher liegen haben. Wo jede 32Bit Kiste bei 3GB spätestens abschmiert (bzw. die Software abschmiert).

 

 

Aber um noch zum Ursprung zurück zu kommen, gibt es denn Möglichkeiten, eine exe auf alle Kerne zu zwingen? Wie war das jetzt mit der Definition "Thread" und "Prozess"?

Link zu diesem Kommentar

Hi wily.

 

Aber um noch zum Ursprung zurück zu kommen, gibt es denn Möglichkeiten, eine exe auf alle Kerne zu zwingen? Wie war das jetzt mit der Definition "Thread" und "Prozess"?

 

Nein, zwingen kannst Du die nicht. Das findet "in" der Software statt. Wenn die so programmiert wurde das sie mehrere Kerne verwenden kann, ihre Aufgaben also parallelisieren kann, dann gehts. Wenn nicht, dann nicht.

 

ciao

M.

Link zu diesem Kommentar
Der letzte Beitrag zu diesem Thema ist mehr als 180 Tage alt. Bitte erstelle einen neuen Beitrag zu Deiner Anfrage!

Schreibe einen Kommentar

Du kannst jetzt antworten und Dich später registrieren. Falls Du bereits ein Mitglied bist, logge Dich jetzt ein.

Gast
Auf dieses Thema antworten...

×   Du hast formatierten Text eingefügt.   Formatierung jetzt entfernen

  Only 75 emoji are allowed.

×   Dein Link wurde automatisch eingebettet.   Einbetten rückgängig machen und als Link darstellen

×   Dein vorheriger Inhalt wurde wiederhergestellt.   Editor-Fenster leeren

×   Du kannst Bilder nicht direkt einfügen. Lade Bilder hoch oder lade sie von einer URL.

×
×
  • Neu erstellen...