Bräuchte man eigentlich 128 Bit CPUs für Rechenzentren oder Supercomputer?

4 Antworten

Vom Beitragsersteller als hilfreich ausgezeichnet

Ne, aktuell können die besten Prozessoren, "nur" einige Terabyte RAM ansprechen. So 8TB, vielleicht mittlerweile mehr, aber nicht viel.

Rechenzentren skalieren horizontal, nicht vertikal. Bedeutet du baust nicht einen ganz schnellen Rechner, Sondern nimmst ganz viele kleiner Rechner und vernetzt sie. Dann hat du also vielleicht 1000 einzelne Rechner mit je einem 2TB RAM, und du hast ne ziemliche Menge RAM und CPU Kerne für deine Aufgaben.

Vorteil ist natürlich, du kannst ohne Probleme ncohmal 50 dazustellen.


MarcelHD40 
Beitragsersteller
 03.02.2021, 06:05

Wie weit verbreitet sind eignetlich 64Bit CPUs im Jahr 2021?

Z.b. Unter der Steam Community?

Immerhin habe ich das gefühl das 32Bit CPUs fast schon ein Museumsstück sind, die man nicht einmal mehr auf Office Rechnern mehr findet die eigentlich nur für Word, Excel, Outlook und höchstens Youtube ausgelegt sind...

0
MarcelHD40 
Beitragsersteller
 03.02.2021, 06:44
@jort93

In Unity Foren streiten die sich ob sie es wagen sollten ihr Game nur für 64x System zu exportieren, weil Sie damit alle 32Bit Usern die möglichkeit nehmen würden es auch zu spielen. Die posts von dennen waren aber noch von 2013/2014...

Ich bezüglich versuche die beste effizenz zu nutzen aus der verfügbaren Hardware weswegen auch für mein Spiel mehr als 4GB Ram genutzt werden sollte vorallem wenn es noch DDR3 ist wie bei mir. Weswegen doch eigentlich 32bit Spiele eine LEistungsverschwendung wären für 64bit Nutzern, wovon nach deiner Statistik nur 0.3% benachteiligt wären...

Ich weiß nicht ob es auch wichtig ist aber ich versuche mich auch an Multi Threading (verwnedung von mehreren Kernen) ob das auch mehr sinn macht bei 64 bit ?

https://answers.unity.com/questions/550153/what-is-the-difference-between-x86-and-x86-64.html

0
jort93  03.02.2021, 07:15
@MarcelHD40

Multithreading solltest du auf jeden Fall machen.

64, Bit reicht.

1
jort93  03.02.2021, 07:41
@MarcelHD40

Ob du multithreading nutzt hat nicht damit zu tun ob es ne 64, nur oder 32 Bit Architektur ist. So hast du einfach schlicht mehr Leistung weil du mehr als einen Kern benutzt.

0
MarcelHD40 
Beitragsersteller
 03.02.2021, 07:45
@jort93

Es gab gerüchte das 32Bit nur für 2Kern max. ausgelegt ist deswegen...

Aber wie schaut es mit dem Ram aus?

Wenn ich ein aufweniges 3D Spiel mache, sollten schon mehr als 4GB ram benutzt werden vorallem wenn es noch DDR3 Ram ist wie bei mir. Kann diese x86 Achitectur den benutzbaren Ram einschrenken? Heißt wenn ich 64bit habe aber das spiel für x86 nur exportiert wurde, würde es dann auch nur 4GB maximal verwenden können weil 32 bit dafür ja bekannt war nicht mehr als 4GB zu verwenden. ?

0
jort93  03.02.2021, 07:49
@MarcelHD40

Wenn du das als x86 exportierst dann kann das nur 4gb RAM nutzen, ist richtig.

Würde es einfach nur für 64, Bit exportieren, das reicht. Wenn man den 32 Bit Rechner hat, hat man größere Probleme.

0
MarcelHD40 
Beitragsersteller
 03.02.2021, 08:03
@jort93

Macht Sinn.

Sollte man das aber auch machen wenn man z.b. ein schwächeres Spiel wie "Undertale" macht?

0
jort93  03.02.2021, 08:06
@MarcelHD40

Besser ist das immer.

Denn mehrere Threads kannst du auch ohne Probleme auf einem Kern ausführen, aber du kannst einen thread nicht ohne weiteres auf mehreren Kernen ausführen.

0
MarcelHD40 
Beitragsersteller
 03.02.2021, 08:21
@jort93

Wenn ich Multi Threading verwende dann macht die Engine das nicht passiv im Hintergrund indem ich ein Kontrollkästchen aktiviere.

In meinem fall muss ich den aufwenigen Task extra in einen Job Thread verlegen der neben dem hauptthread gleichzeitig seine arbeit macht.

Bei einem Spiel wie Undertale würde mir nicht wirklich einfallen was man da großartig zusätzlich auf einem weiteren Kern ausrechnen müsste was auch den Aufwand der arbeit rechtfertigen würde und das unübersichtlicher machen des Scriptes durch unnötige weitere verzweigungen und Zeilen...

0
jort93  03.02.2021, 08:36
@MarcelHD40

Musst du ja nicht, aber besser wäre es.

Oft wird z.B. der sound in einen weiteren thread ausgelagert.

0
MarcelHD40 
Beitragsersteller
 04.02.2021, 06:21
@jort93

Habs mal getestet in der praxis.

Ich habe ein Program mit Unity geschrieben jeweils für 32bit und 64bit, mit und Ohne Multi Threading.

Mithilfe einer mathematischen Funktion habe ich die Rückmeldezeit des Prozessors in "ms" anzeigen lassen um zu sehen ob er sich schneller meldet mit 32bit oder 64bit und zusätzlich mit einem Kontrollkästchen das dass Multi Threading auf alle verfügbaren Kerne verlagert oder alles auf dem Mainthread ausführt was der standard normalerweise wäre.

0
jort93  04.02.2021, 06:33
@MarcelHD40

Und, das ergebnis?

Ob du eine aufgabe auf mehrere kerne verlagern kannst kommt auf die aufgabe an, und ob dir 64 bit war bringen auch.

0
MarcelHD40 
Beitragsersteller
 04.02.2021, 06:48
@jort93

Bei meiner Aufgabenstellung und meiner CPU habe ich einen Rückmeldewert bei jeweils:

32Bit Programm = MultiThread OFF = ~136ms

32Bit Programm = MultiThread AN = ~16ms

64Bit Programm = MultiThread OFF = ~82ms

64Bit Programm = MultiThread OFF = ~9ms

0
jort93  04.02.2021, 06:52
@MarcelHD40

na das ist doch signifikant besser.

Also ich nehme an beim letzten soll An stehen?

0
MarcelHD40 
Beitragsersteller
 04.02.2021, 06:53
@jort93

sorry bei letzeren zeile meinte ich eigentlich:

64Bit Programm = MultiThread AN = ~9ms

copy & paste, man kennts....

0

Nein, denn letztlich kann man trotzdem mehr Speicher adressieren (wenn auch nicht im Kontext des Prozesses, zumindest nicht flat). Aber zur Erinnerung: 1 048 576 TB sind 1EB. So schnell wird das also nichts.

Vom notwenidgen Flächenverbrauch in der HW abgesehen, würden auch Adressen und Opcodes entsprechend größer, also auch alle Binaries.

Supercomputer sind Parallelrechner, die einzelnen Knoten brauchen dabei nicht unbedingt TB an RAM. Interessant werden so riesige Speichergrößen höchsten bei Simulationen, wenn man entsprechend große Datasets hat und diese aus Performancegründen in einem zusammenhängenden Speicherblock halten will.

Solche Supercomputer haben ja auch unzählige Prozessoren. Deshalb muss nicht ein einzelner Prozessor den ganzen RAM ansprechen, würde ja auch nichts bringen, denn dann hätte man nur einen Prozessor, mit absurd viel RAM. Man braucht ja in solchen Situationen auch die Rechenleistung hunderter bis tausender Prozessoren. Es gibt keinen Prozessor, der allein mit 16 Exabyte an RAM irgendetwas sinnvolles anstellen könnte, so schnell könnte der gar nicht arbeiten, dass der so viel RAM sinnvoll belegen könnte. Stattdessen hat eben jeder einzelne Prozessor bzw. jede "Node" eigenen RAM. Zwar immer noch relativ viel in der Regel, aber weit entfernt vom Exa- oder Petabyte-Bereich.

Woher ich das weiß:Hobby – Up-to-date dank PCGH-Abo und vielen anderen Quellen

Glaube ich nicht.

Wir bewegen uns bei 64bit nicht mehr bei Millionen, Milliarden oder Billionen, sondern bereits bei 10 hoch 18 Bytes. Also Trillionen.

Bis das notwendig ist vergeht noch eine Menge Zeit.