Push-Nachrichten von MacTechNews.de
Würden Sie gerne aktuelle Nachrichten aus der Apple-Welt direkt über Push-Nachrichten erhalten?
Forum>Software>Was bringt mir 64 bit?

Was bringt mir 64 bit?

void
void11.06.0819:00
Alle reden euphorisch über 64 bit Applikationen. Unter anderem habe ich das gerade in dem Safari4-Thread hier gelesen...

Aber was mich mal interessiert: Was habe ich als Anwender von 64bit-Prozessen?

Klar ist: Sie können mehr Speicher addressieren, was aber Anwendungen mit *normalen* Speicherbedarf nicht unbedingt Vorteile bringt.
Auch Rechnen mit großen Zahlen bzw vielen Nachkommastellen ist in weniger Schritten möglich... aber auch das nutzt ein normales Programm nicht.

Ich behaupte mal von mir, eine gewisse Ahnung von programmiertechnischen Themen zu haben (wenn auch nicht fundamental systemnahe Sachen), aber es erschließt sich mir nicht, warum "64bit" so gefeiert wird.
Vielleicht könnt ihr mir da weiter helfen
„Developer of the Day 11. Februar 2013“
0

Kommentare

Esäk
Esäk11.06.0819:20
Was soll man dazu sagen? Genau das sind die Gründe: Mehr Speicher und einfacher/schneller mit 8-Byte-Mathe.
„Die Todesstrafe gehört auch in Hessen abgeschafft!“
0
void
void11.06.0819:45
ok besser rechnen ist eine sache... server und grafik anwendungen profitieren davon bestimmt... aber der enorme speicher is schon ein wenig übertrieben, oder?

in der theorie ist mir der vorteil ja klar, nur wie sieht der gewinn für durchschnittliche "anspruchslose" programme aus? textverarbeitung, browser, usw.
„Developer of the Day 11. Februar 2013“
0
sierkb11.06.0819:46
Wikipedia: 64-Bit-Architektur, Vorteile
Wikipedia: 64-Bit-Architektur, Probleme

Wikipedia: 4-GiB-Grenze
0
void
void11.06.0820:24
sierkb
ich kann nur wiederholen: die theorie ist mir bekannt, doch kenne ich keine konkreten benchmark vergleiche (von 64bit-demos mal abgesehen), die die theorie bestätigen würden... alles was ich kenne kitzelt bestenfalls 120% der 32bit-leistung heraus, wobei hier sicher keine 64bit-optimierung vorliegt.
„Developer of the Day 11. Februar 2013“
0
sierkb11.06.0820:38
void
sierkb
ich kann nur wiederholen: die theorie ist mir bekannt, doch kenne ich keine konkreten benchmark vergleiche (von 64bit-demos mal abgesehen), die die theorie bestätigen würden... alles was ich kenne kitzelt bestenfalls 120% der 32bit-leistung heraus, wobei hier sicher keine 64bit-optimierung vorliegt.

Niemand hat behauptet, dass 64Bit einen so enormen Geschwindigkeitsvorteil bringen sollen/werden. Das ist gar nicht Thema. Thema ist der unter 32-Bit-Systemen maximal adressierbare Speicher, der bei unverrückbaren maximalen 4GB liegt, manchmal (je nach Mainboard-Design) sogar bei max. 3GB, egal wieviel RAM-Riegel eingebaut sind. 64Bit-Betriebssysteme heben diese Grenze eben auf. Und je nach Einsatz-Szenario können 4GB ganz schnell zu wenig sein. Im Server-Bereich z.B. bei Datenbanken und im Desktop-Bereich bei sehr grafik- und/oder rechenintensiven Applikationen. DAS ist das Eigentliche, was die Diskussion um den Schwenk in Richtung 64Bit-Architektur so aktuell macht. Mit jedem Jahr, das dazukommt, wird diese Diskussion dringlicher geführt, weil aufgrund des Wachstums und der Fortentwicklung man immer schneller und immer näher an diese magische Grenze auch für den Normalkonsumenten stößt. Im professionellen und HPC-Bereich (High Performance Computing) hat man diese Grenze schon längst durchstoßen bzw. überschritten, und da ist die Verwendung einer durch und durch 64-bittigen Architektur nebst Software schon längst Realität, weil unumgänglich.
0
Knork11.06.0821:00
Es sollte auch ein Nachteil von 64bit erwähnt werden:

Wenn man Code hat, der nicht 64bit Arithmetik nutzt, und auch nicht mehr als 4 GB RAM benötigt, von 32bit auf 64bit umstellt, so wird dieser Code unter Umständen langsamer.

Weil: Eine (mehrere) 32bit-Adresse(n) sind schneller aus dem RAM geladen/geschrieben als 64bit-Adressen.

Dies wird erst dann wieder wettgemacht, wenn durch Codeoptimierungen die Ausführungszeiten der nicht auf die RAM-Latenz angewiesenen Codeanteile wesentlich schneller als die 32bit-Codeanteile werden (zum Beispiel durch den meist vergrößerten Registersatz).


Es gibt einige klare Vorteile, diese sind jedoch in der Praxis nicht so dramatisch, wie sie von den Marketing-Fuzzis hochgejubelt werden.


Wenn ich mich recht entsinne, profitiert ein AMD K8/K10 wesentlich stärker als ein Intel Core xxx von 64bit. Die Intels sind mit ihren FSBs wesentlich stärker an der RAM-Durchsatz-Kotzgrenze als die AMDs.

Intel wird demnächst FSB sterben lassen, und mit Nehalem mehr RAM-Durchsatz ermöglichen.
0
westmeier
westmeier11.06.0821:03
Bedenke mal die Entwicklung beim RAM (am Beispiel meiner Rechner):
- 1995: Workgroup Server 9150/120: 8 MB Motherboard RAM! (Aufrüstbar auf 264 MB, weil Server)
- 1998: iMac Rev. A-D: 32 MB RAM (aufrüstbar auf 256 MB)
- 1999: iMac DV 400: 64 MB RAM (aufrüstbar auf 512 MB)
- 2000: Powermac G4: 256 MB RAM (aufrüstbar auf 2 GB)
- 2003: Powerbook G4: 512 MB RAM (aufrüstbar auf 2 GB)
- 2007: MacBook C2D: 1 GB RAM (aufrüstbar auf 3 GB)

Wenn du das mal extrapolierst (und gewissermaßen habe ich die Kurve nach unten abknicken lasssen (durch den Wechsel auf Notebooks) erreichst du bald eine Zeit, in der 4 GB RAM und mehr zum Standard gehören.
0
Knork11.06.0821:04
sierkb:
Thema ist der unter 32-Bit-Systemen maximal adressierbare Speicher, der bei unverrückbaren maximalen 4GB liegt

Soso.

Im Serverraum steht ein Asbach-Uralt Netburst-Xeon mit 8 GB RAM.

So unverrückbar scheint Deine 4GB-Grenze also doch nicht zu sein...
0
sierkb11.06.0822:50
Knork
sierkb:
Thema ist der unter 32-Bit-Systemen maximal adressierbare Speicher, der bei unverrückbaren maximalen 4GB liegt

Soso.

Im Serverraum steht ein Asbach-Uralt Netburst-Xeon mit 8 GB RAM.

So unverrückbar scheint Deine 4GB-Grenze also doch nicht zu sein...


Ich meinte ohne irgendwelche weitergehenden Technologien/Tricksereien, diese Grenze doch noch irgendwie zu sprengen.




0
Knork11.06.0823:35
Du meinst solche dirty tricks, wie 64bit unter OS X 10.3 und 10.4?

10.3:

10.4:
It is important to note that in Tiger, the support for 64-bit programming does not extend throughout the entire set of APIs available on Mac OS X. Most notably, the Cocoa and Carbon GUI application frameworks are not ready for 64-bit programming. In practical terms, this means that the "heavy lifting" of an application that needs 64-bit support can be done by a background process which communicates with a front-end 32-bit GUI process via a variety of mechanisms including IPC and shared memory.

Fassen wir zusammen:

64bit klappt erst seit 10.5 mit G5 / Core 2 Duo so richtig komplett. (Das böse Lager mußte im Gegenzug bis Vista warten, es gab zwar auch ein 64bittiges XP, aber... Schwamm drüber)
0
Simoon
Simoon11.06.0823:42
Knork
sierkb:
Thema ist der unter 32-Bit-Systemen maximal adressierbare Speicher, der bei unverrückbaren maximalen 4GB liegt

Soso.

Im Serverraum steht ein Asbach-Uralt Netburst-Xeon mit 8 GB RAM.

So unverrückbar scheint Deine 4GB-Grenze also doch nicht zu sein...

Der linear adressierbare Speicher eines Prozesses ist trotzdem auf 4GB beschränkt, auch wenn
das Betriebsystem "dank" PAE mehr als 4GB verwalten kann.
0
evilalex
evilalex12.06.0800:30
Was bringt mir 64 bit?
Vermutlich kurz- und mittelfristig gar nix.
0
julesdiangelo
julesdiangelo12.06.0803:00
Die Frage ist eigentlich grammatikalisch falsch gestellt. Es heißt was bringen mir 64 bit, und die Antwort ist ein fieser Kater oder eine Menge Freunde.

64 bit bringen z.B. dann etwas, wenn man mehr als 4 GB Ram braucht und nicht dauernd auf die Festplatte warten will.

Man darf da finde ich nicht so theoretisch denken, sondern sich auf den praktischen Nutzen fixieren.

Ich habe mehrere speicherintensive Programme offen, die alleine um die 5GB belegen, wenn alle Daten eingelesen sind. Zusätzlich läuft noch eine virtuelle Maschine für Tools die Windows brauchen.

Hatte bisher 2GB, da dauerte das simultane Starten der Wiedergabe von Ton, Frameserver und Ansteuerung externer Geräte fast 30 Sekunden. Nun mit 8GB liegt die Latenz bei unfühlbaren Sekunden, ich denke weit unter einer Sekunde.
„bin paranoid, wer noch?“
0
yogimo12.06.0803:55
Klar die Computer werden immer stärker und leistungsfähiger. Irgendwann brauchen wir 64 bit, da der Speicher min 32 gb sein muss um das OS laufen zu lassen. (Wenn es nach Microsoft geht wahrscheinlich schon in 2 Jahren)

Frage: Warum wird die Software nicht einmal optimiert?

Deswegen habe ich eigentlich grosse Hoffnungen auf den Schnee Leo. Hoffe aber auch, dass das nicht nur ein Marketinggag ist, sondern, dass die Software wirklich stabiler, kleiner und besser läuft.

viele Grüße
Yogi

PS Und was machen wir mit der Leistung eines 10 GHz Systems mit 32 gb RAM? - wir surfen im Internet und gucken uns nackte Weiber an
0
westmeier
westmeier12.06.0807:38
S Und was machen wir mit der Leistung eines 10 GHz Systems mit 32 gb RAM? - wir surfen im Internet und gucken uns nackte Weiber an

0
void
void12.06.0818:06
server und so weiter laufen ja seit jahren mit 64 bit, darauf zielte meine frage gar nicht ab.
julesdiangelo
Hatte bisher 2GB, da dauerte das simultane Starten der Wiedergabe von Ton, Frameserver und Ansteuerung externer Geräte fast 30 Sekunden. Nun mit 8GB liegt die Latenz bei unfühlbaren Sekunden, ich denke weit unter einer Sekunde.
so eine antwort habe ich mir erhofft

dann ist der performance-gewinn zu dem zeitpunkt deutlich spürbar, sobald der insgesamt vom system benötigte speicher die 4gb übersteigt, was mittelfristig absehbar ist, wie es yogimo schon andeutete^^
zitat "Wenn es nach Microsoft geht wahrscheinlich schon in 2 Jahren"


nächste frage - folgendes szenario:
ich habe zwei anwendungen, jede braucht genau 4gb speicher und beide nutzen intern 32bit lange addressen. das os und sämtliche apis nutzen 64bit. könnte beide programme parallel laufen, indem zb das os jedem programm einen bestimmten addressraum zur verfügung stellt, in welchem die programme von einander abgeschottet ihre 32bit addressen nutzen?
„Developer of the Day 11. Februar 2013“
0
sierkb12.06.0818:18
void:
zitat "Wenn es nach Microsoft geht wahrscheinlich schon in 2 Jahren"

Microsoft muss erstmal zusehen, dass sie ihr Betriebssystem und ihre Software so stricken, dass diese ohne Probleme mit mehr als 2 bis 4 Kernen arbeiten kann. Bei 2 Kernen ist nämlich bei deren Standard-Software i.d.R. Schluss bzw. 4 Kerne lassen sich derzeit nur mit Tricks und da dann wirklich maximal einbinden. Alles, was über 4 Kerne hinausgeht, ist für Microsofts Software -- allem voran Windows Vista -- irgendwie unbekanntes neues Land und erfordert neues Denken. Deshalb hat man sich auch vor wenigen Wochen mal mit Intel zusammengetan und beraten.
Unixoide Betriebssysteme sind da seit längerem schon deutlich besser aufgestellt, dort ist man diese Herausforderungen schon vor Jahren angegangen und hat sie gemeistert.
0
Agrajag12.06.0818:26
Die 64Bit bei Anwendungen lohnen sich aber nur, wenn die jeweilige App auch >4GB braucht. Nur, weil man insgesamt Apps für >4GB gestartet hat, bringen einem 64Bit auch nicht weiter. Das System kann schon länger mit >4GB Arbeiten.

Für einige, relativ wenige Anwendungen lohnen sich 64Bit auf jeden Fall, aber für die breite Masse dürfte es irrelevant sein.


void: Jedes Programm läuft in seinem eigenen Adressraum, völlig abgeschottet voneinander. Im Prinzip denkt jede Anwendung, sie wäre alleine auf dem Rechner. Sie werden vom Memory-Controller alle auf die gleiche (virtuelle) Adresse gemappt. In Wahrheit liegen sie an völlig unterschiedlichen Adressen. Die Anwendungen müssen dazu nicht >4GB adressieren können. Es reicht, wenn das Betriebssystem es kann.
0
void
void12.06.0819:04
agrajag
ok danke für die aufklärung, wie die speicherzuweisung funktioniert xD

alles in allem kann man dann sagen, dass die 64bit-euphorie bei den nicht-pro-endusern übertrieben ist, bis es soweit ist, dass >4gb standard werden? ich habe das gefühl, dass es zur zeit eher werbung als nutzen ist, aber es hat ja noch nie geschadet ein wenig in die zukunft zu denken
„Developer of the Day 11. Februar 2013“
0
sierkb12.06.0820:11
void
agrajag
ok danke für die aufklärung, wie die speicherzuweisung funktioniert xD

alles in allem kann man dann sagen, dass die 64bit-euphorie bei den nicht-pro-endusern übertrieben ist, bis es soweit ist, dass >4gb standard werden? ich habe das gefühl, dass es zur zeit eher werbung als nutzen ist, aber es hat ja noch nie geschadet ein wenig in die zukunft zu denken

Dein Gefühl trügt dich nicht. Zumindest, was den Dekstop des Otto-Normal-Verbrauchers angeht. Im Enterprise-Bereich und im HPC-Bereich ist das was anderes, da gelten andere Ansprüche. In diesen Bereich will MacOSX mit seinen Servern aber vermehrt rein, zumindest im kleinen und mittleren Firmensegment. Und deshalb muss MacOSX da doch schon 64Bit bieten, möglichst bei allen server- und datenbankrelevanten Programmen und Bibliotheken.
0
Knork12.06.0820:29
void
nächste frage - folgendes szenario:
ich habe zwei anwendungen, jede braucht genau 4gb speicher und beide nutzen intern 32bit lange addressen. das os und sämtliche apis nutzen 64bit. könnte beide programme parallel laufen, indem zb das os jedem programm einen bestimmten addressraum zur verfügung stellt, in welchem die programme von einander abgeschottet ihre 32bit addressen nutzen?

Das ist so bereits seit 10.3.x mit G5 und 10.4.x für Core 2 möglich.
0
Knork12.06.0820:40
sierkb:
Alles, was über 4 Kerne hinausgeht, ist für Microsofts Software -- allem voran Windows Vista -- irgendwie unbekanntes neues Land und erfordert neues Denken.


Na bloß gut, daß unsere 8 Kern-Server mit Windows 2003 nichts von Deinen Stammtisch-Weisheiten wissen.

Da läuft nämlich unsere Software mal eben um den Faktor 3,8 schneller als auf entsprechenden Dualcore-Desktops.




Ich glaube nicht, daß Microsoft in Vista / Windows 2008 Server weniger Cores unterstützt als in Windows 2003...



Wie kommt es eigentlich, daß Quicktime & iTunes (unter OS X) maximal 2 Cores nutzt?


Bitte unterlasse einfach Seitenhiebe zu anderen Plattformen, wenn Du nur theoretisches, aber kein praktisches Wissen hast. Sowas geht gerne nach hinten los.
0
Agrajag12.06.0820:45
Knork: Ich bin mir nicht sicher, aber war es nicht so, daß nur die Server-Windows mit mehr als 2 Prozessoren gut klarkommen? Ich meine, daß XP und 2k mit mehr als 2 Kernen/Prozessoren nur bedingt gut skalierten. (Achtung Halbwissen bzw. verblasste Erinnerung!)
0
Knork12.06.0821:28
Jein.

Microsoft zählt nicht Cores, sondern Sockets (also die CPU-Steckplätze auf dem Motherboard).

XP Home: 1 Sockets.
XP Pro: 2 Sockets.

Vista Home: 1 Sockets.
Vista Business: 2 Sockets.
Vista Ultimate: 4 Sockets.

Die Server-Versionen können dann teilweise noch mehr Sockets (bis zu 64 Sockel bei 2008 Datacenter 64bit).


Ob in einem Sockel nun ein Core Solo, Core Duo oder Core Quad steckt, ist Wurscht. Ebenso Hyperthreading an oder aus. Ein Sockel ist ein Sockel.

Man könnte also theoretisch in Zukunft eine Nehalem 4Core CPU mit Hyperthreading (8 virtuelle Cores) mit Vista Home betreiben.

Ist also kein "Designfehler" in Windows, sondern eher ein künstliches Limit, um auch ein paar teurere Lizenzen verkaufen zu können.



Oder anders gesagt:

Der Schwachpunkt ist nicht das OS (weder Windows noch Mac OS X), der Schwachpunkt sind die Anwendungen.

Wenn die Anwendungen nur Single-threaded sind, nützt einem der tollste Quadcore-Bolide nichts.
0
bluefisch20012.06.0821:39
Knork
„Ich glaube nicht, daß Microsoft in Vista / Windows 2008 Server weniger Cores unterstützt als in Windows 2003...“


Können sie gar nicht
Server 2003 Kernel Vista Kernel Server 2008 Kernel
0
sierkb12.06.0822:16
Knork
Na bloß gut, daß unsere 8 Kern-Server mit Windows 2003 nichts von Deinen Stammtisch-Weisheiten wissen.
Da läuft nämlich unsere Software mal eben um den Faktor 3,8 schneller als auf entsprechenden Dualcore-Desktops.
Ich glaube nicht, daß Microsoft in Vista / Windows 2008 Server weniger Cores unterstützt als in Windows 2003...
Wie kommt es eigentlich, daß Quicktime & iTunes (unter OS X) maximal 2 Cores nutzt?
Bitte unterlasse einfach Seitenhiebe zu anderen Plattformen, wenn Du nur theoretisches, aber kein praktisches Wissen hast. Sowas geht gerne nach hinten los.

http://www.heise.de/ct/faq/hotline/07/12/04.shtml
http://www.heise.de/newsticker/Microsoft-sucht-nach-dem-Sinn-von-Multicore-Prozessoren--/meldung/102084/

Was meinst Du, warum die nach so einem Sinn suchen? Bestimmt nicht deswegen, weil's für Microsoft kein Problem darstellt. Sondern wohl deswegen, weil sie auf dem Feld des Parallel Computing hinterherhinken und einen Ausweg suchen. Aus genau derselbem Motivation heraus ist ja auch der Deal mit Novell entstanden. In dieses Segment will man hinein, kann bisher aber noch nichts bieten, was mit anderen Linux- und Unix-Systemen auch nur annähernd gleichziehen kann bzw. gleich performt, was eine Skalierung nach oben angeht.
0
pixler12.06.0822:43

void

"ok besser rechnen ist eine sache... server und grafik anwendungen profitieren davon bestimmt... aber der enorme speicher is schon ein wenig übertrieben, oder?"

ich komme aus dem 3d animations und compositing bereich: je grösser 3d animationsszenen heute werden desto mehr ram verbrauchen sie, sowohl beim konstruieren wie beim rendern....bei szenen mit 30 mio polygonen und mehr hätte ich gerne mehr als 4gb ram...oder wer komlpizierte filmcompositing in HD, 2k oder 4k Auflösung macht.....da würde mann gerne 16 GB RAM nehmen...

64 bit ist nur für eine kleine klientel wirklich interessant, für 90% der user bringt 64 bit rein gar nix.

ps. ich meine 10 Jahre alte silicon graphics maschine konnte schon voll 64bit.... (sowohl von der hardware her wie auch auch das System "IRIX") leider war RAM damals unbezahlbar teuer.
0
Knork12.06.0822:49
Was meinst Du, warum die nach so einem Sinn suchen?

Es geht in dem verlinkten Artikel "Microsoft sucht nach dem Sinn von Multicore-Prozessoren" nicht um Windows, sondern um die Anwendungen.


Verrate mir doch mal auf die Schnelle, wofür man einen Desktop- oder auch Notebook-Computer mit 128 Cores sinnvoll verwenden (und auslasten) könnte.


Bitte verzichte auf Themen wie Datenbank, Video-Rendering, wissenschaftliche Simulationen (Wetter, Werkstoffforschung, Crashtests).

Welche zusätzlichen sinnvollen, praxisbezogenen und realisierbaren Einsatzgebiete könnte es geben?

Genau diese Frage ist Thema von diversen "wofür brauchen wir MultiCore"-Forschungsprojekten, egal, ob sie nun von Microsoft, Intel, Sun, AMD oder Apple kommen.

Nicht jede Anwendung ist beliebig parallelisierbar, bei den meisten Anwendungen bereits bei 2 parallel ablaufenden Threads Ende der Fahnenstange. Nur sehr wenige Sachen lassen sich stark parallelsieren, und auch da ist meist bei 16 oder 32 Threads die Verwaltung aufwendiger als die eigentliche Berechnung.
0
sierkb12.06.0822:57
Knork
Was meinst Du, warum die nach so einem Sinn suchen?

Es geht in dem verlinkten Artikel "Microsoft sucht nach dem Sinn von Multicore-Prozessoren" nicht um Windows, sondern um die Anwendungen.


Verrate mir doch mal auf die Schnelle, wofür man einen Desktop- oder auch Notebook-Computer mit 128 Cores sinnvoll verwenden (und auslasten) könnte.


Bitte verzichte auf Themen wie Datenbank, Video-Rendering, wissenschaftliche Simulationen (Wetter, Werkstoffforschung, Crashtests).

Welche zusätzlichen sinnvollen, praxisbezogenen und realisierbaren Einsatzgebiete könnte es geben?

Genau diese Frage ist Thema von diversen "wofür brauchen wir MultiCore"-Forschungsprojekten, egal, ob sie nun von Microsoft, Intel, Sun, AMD oder Apple kommen.

Nicht jede Anwendung ist beliebig parallelisierbar, bei den meisten Anwendungen bereits bei 2 parallel ablaufenden Threads Ende der Fahnenstange. Nur sehr wenige Sachen lassen sich stark parallelsieren, und auch da ist meist bei 16 oder 32 Threads die Verwaltung aufwendiger als die eigentliche Berechnung.

Ich bestreite mit keinem Wort, was Du schreibst. Ich bekräftige Dich sogar hier. Auf dem Dektop hat das tatsächlich alles eher weniger Sinn, weil die Anwendungsszanrios fehlen. Auf dem Server sieht das alles schin wieder anders aus, Stichworte sind Virtualisierung und Cluster-Computing. Hier kann Microsoft bisher nicht so gut punkten mit seinen Betriebssystemen. Erst, seitdem man da offensiver rangegangen ist und u.a. mit Novell hier die Köpfe zusammensteckt, kommt so langsam was von Microsoft für solche Szenarios.
0
iCode
iCode12.06.0823:08
void
Was habe ich als Anwender von 64bit-Prozessen?
Realistisch betrachtet gar nichts.

0

Kommentieren

Diese Diskussion ist bereits mehr als 3 Monate alt und kann daher nicht mehr kommentiert werden.