beercarrier schrieb:
Naja die Mitarbeiter aus R&D werden jetzt im Win on Arm bzw ChromeOS Projekt sitzen und die einzelnen Kerne erst mal hochzüchten. Nur weil im Serverbereich fast alle Software gut parallelisierbar ist heißt das nicht das Singlethread Perfomance verachtet wird. Aber es war von Anfang an ein sehr ambitioniertes Projekt. Neben den ganzen CPU´s benötigt man ja noch die komplette Infrastruktur und die passende Software. Da hat es Amazon deutlich leichter weil sie das Komplettpaket anbieten.
Von Single Thread Leistung hast du in Servern aber ohnehin nicht viel. Wie sieht so ein m5.24xlarge aws Instanz aus die hat 96 Thread fast 400GB Arbeitspeicher. Wenn du jetzt eine kleinere Instanz nimmst, wie eine m5.xlarge dann bekommst du einfach nur einen Teil von dem Server. In der Regel läuft dann ein Docker container der vielleicht 1-2 Threads braucht drauf auf einem Cluster von ein paar kleinen Instanzen (du braucht ja ein paar in unterschiedlichen Regions). Dann hast du 20-30 Container. Ob das Programm das da läuft viel Single Threaded Leistung hat ist egal. Auf dem fast 100 Thread Server laufen 6 Container von dir und 30 von irgendwem und du nutzt halt deinen 20 Threads meist eh nur zu 2-30%.
Wir sind von c5 auf t3 umgestiegen, weil der Performanceunterschied vernachlässigbar war. An einer Stelle waren es 6 statt 4 ms Latenzen. In 99% der Restlichen Fälle gabs keinen Unterschied. In der Regel musst du es Softwareseitig richten wenn die Leistung pro Thread nicht reicht, weil dann hast du ohnehin ein Problem. Für alles andere wo du viel Leistung brauchst, (machine Learning & Co) da lastet du soundso fast immer alle Threads zu 100% aus, da ist zwar eine c5 in Preis/Leistung besser aber Single Threaded Performance ist da egal.
Cool Master schrieb:
War abzusehen. Würde es keine Software geben welche die Serverbetreiber brauchen/nutzen könnte man überlegen auf ARM Basis die SW zu programmieren aber so ist es halt nicht. Dazu kommt, dass man mit x86_64 einfach deutlich flexibler ist als mit ARM.
Aber das stimmt ÜBERHAUPT nicht. Es gibt extrem viel Software die tadellos auf ARM läuft im Server Umfeld. Zum einen läuft fast alles auf Java was backend ist und das läuft einfach so auf ARM. Bei uns im Unternehmen läuft absolut nichts in AWS das nicht auch auf ARM laufen würde. Ich würde behaupten das stimmt auch für 90% aller kleineren jüngeren Unternehmen die nicht Altlasten migriert haben.
C programme wenn sie Open Source sind gibt es meist für ARM.
z.B. PostgreSQL läuft auf ARM. Redis läuft auf ARM. (btw selbst Oracle unterstützt theoretisch ARM)
Webserver und Frameworks PHP, Python, Ruby, Go, Rust, ... laufen alle auf ARM.
Im Endeffekt fast alle was Open Source und alles das man selbst Programmiert (in einer modernen Sprache) läuft problemlos auf ARM. Man musst nicht für ARM programmieren man muss es nur als compile target einstellen, wenn man Rust,Go,C kompiliert, bei Java, PHP, Python, JavaScript muss nur der container in dem es läuft passen.
Die Frage im Server Umfeld ist was läuft nicht auf ARM?
Bei Python ist es kein Problem wenn man rein in Python bleibt, wenn dann aber alle möglichen C libs geladen werden, wie in anaconda kann es etwas komplizierter werden. Die müssen dann für z.B. ARMv8 verfügbar sein und vorallem muss man die richtigen deployen.
Es gibt sicher kommerzielle Software die man nur einkauft die nicht für ARM kompiliert und getestet wird.
Für Entwickler wären dann ARMv8 Notebooks wie Chromebooks praktisch, oder ARM build server damit man beim build keinen Murks macht.
Man darf Server nicht mit Windows vergleichen. Bei Windows erstellt eine Softwareschmiede ein Programm und liefert die executables die nur für x86 sind. Apple hat z.B. verlangt bei ihrem PowerPC umstieg das alle immer beide binaries liefern mussten für eine Weile. Bei Apple ging das, bei MS ist viele alte Software in Verwendung die keiner mehr updated.
Auf Windows gibts aber auch schon viel mehr ARM. Chrome ist fast soweit, Office soundso, Media player auch. Sobald es wirklich einen Grund gibt ARM native Apps auszuliefern werden es viele Softwarehersteller auch tun. Der Aufwand ist meist nicht so groß wenn die Programme aktuell sind und noch weiterentwickelt werden.
Chromebooks laufen schon jetzt gut auf ARMs. Ich finde es geht einem nichts mehr ab an so einem Gerät. Google Docs/Calc... browser, media player, ...
So lange man nichts gegen Google hat gehts ja und wenn dann lädt man sich Linux drauf.
Bei Windows werden alle Bereiche die Chromebooks heute abdecken wohl auch als erstes ARMv8 native Unterstützung bekommen. Der Rest wird noch lange dauern, aber x86 Notebooks wirds auch noch lange geben.