Das Kapitel „Gold Road“ (inklusive des Schriftlehre-Systems) und Update 42 können jetzt auf dem öffentlichen Testserver getestet werden! Hier könnt ihr die aktuellen Patchnotizen lesen: https://forums.elderscrollsonline.com/en/discussion/656454/
Wartungsarbeiten in der Woche vom 22. April:
• PC/Mac: EU und NA Megaserver für einen neuen Patch – 22. April, 10:00 – 15:00 MESZ
• Xbox: EU und NA Megaserver für einen neuen Patch – 24. April, 12:00 – 18:00 MESZ
• PlayStation®: EU und NA Megaserver für einen neuen Patch – 24. April, 12:00 – 18:00 MESZ

Bevorstehender Ersatz der PC-NA-Hardware im Datencenter

ZOS_MattFiror
Hallo, miteinander! Ich freue mich, euch ein Update zur neuen Hardware für unsere Datenzentren geben zu können. Wir haben schon mehrfach in der Vergangenheit darüber gesprochen, aber hier ist nochmal eine kleine Auffrischung, denn man muss dabei ein paar Dinge im Kopf behalten:
  • In den meisten Fällen nutzen wir noch immer Serverhardware von um das Jahr 2012 und wir müssen diese austauschen, bevor es zu mehr Ausfällen als bisher kommt. Daher tauschen wir wortwörtlich alle unsere Hardware in unseren beiden Datenzentren.
  • Das wird sich erst mal nicht durch deutliche Leistungssteigerungen im Spiel zeigen. Stattdessen wird dies allgemein zu einer erhöhten Zuverlässigkeit und Stabilität mit weniger ungeplanten Wartungen führen.
  • Dies war eigentlich bereits für letztes Jahr angesetzt, aber die Pandemie hat die Zeitpläne nach hinten verschoben, da es wegen globaler Lieferengpässe schwieriger wurde, neue Hardware zu organisieren.

Es ist hierbei erwähnenswert, dass wir bereits die gesamte Hardware für den öffentlichen Testserver vor einigen Wochen – noch vor dem Aufspielen von Update 34 – installiert und überführt haben. Und bisher freuen wir uns, dass dies alles sehr zügig und ohne Probleme abgelaufen ist. Dies war unser großer Probelauf, um sicherzustellen, dass alles so wie erwartet vonstattengehen würde.

Unser nächster Schritt ist nun der Austausch im nordamerikanischen Datenzentrum für PC/Mac, der im Rahmen der für den 3. Mai angesetzten Wartung geschehen wird. Als Folge dessen sollten alle auf dem nordamerikanischen PC/Mac-Megaserver eine erhöhte Serverstabilität mit weniger unerwarteten Wartungen erleben.

Wir werden auch das europäische Datenzentrum für den PC/Mac-Megaserver und beide Konsolenserver baldmöglichst aktualisieren, aber habt bitte Verständnis dafür, dass wir wegen der aktuellen erheblichen Bestell- und Lieferverzögerungen für Serverhardware noch kein spezifisches Datum hierfür nennen können. Sobald wir weitere Informationen haben, werden wir diese natürlich an euch weitergeben.

Wie immer, vielen Dank, dass ihr Mitglieder einer so offenen und vielfältigen virtuellen Fantasy-Welt seid.

Matt Firor
Studio Director, ZeniMax Online Studios
Staff Post
  • The_Saint
    The_Saint
    ✭✭✭✭✭
    ✭✭✭✭✭
    @ZOS_KaiSchober wurde nicht gesagt, dass die Hardware nach und nach getauscht wird und teile schon verbaut sind und es ein fortlaufender Prozess ist?
    Das hier klingt nach einen komplett Austausch an einem Termin, der noch nicht war...
    Samuel Crow - Nachtklinge - PC-EU-DC
    Saint_Crow Twitch / Youtube
    ESO Stream Team Member
    Noractis
  • Jacul
    Jacul
    ✭✭✭✭
    Erfreulich! Auch dass sie mit dem NA anfangen...
    Gibt man jedem eine Stimme, sind die Arshclöcher die Lautesten. Sie übertönen alle anderen.
    (Jōichi Itō)

  • ZOS_KaiSchober
    The_Saint schrieb: »
    @ZOS_KaiSchober wurde nicht gesagt, dass die Hardware nach und nach getauscht wird und teile schon verbaut sind und es ein fortlaufender Prozess ist?
    Das hier klingt nach einen komplett Austausch an einem Termin, der noch nicht war...

    Beides trifft zu. Bisher wurde immer wieder Teile ausgetauscht, die Probleme machten oder komplett versagt haben (was häufiger passiert als man denken mag). Dieser Termin ist für den Austausch des ganze Rests auf einen Schlag.
    Er findet zunächst nur für einen Server im US-Datenzentrum unter den Augen des IT-Teams statt. Wenn sie zufrieden sind (und den Ablauf nach dem PTS auch an einem Live-Server geübt haben ;) ) kommen die anderen Server, auch hier in Frankfurt - dran.

    Kai Schober
    Senior Community Manager - The Elder Scrolls Online
    Facebook | Twitter | Twitch
    Staff Post
  • styroporiane
    styroporiane
    ✭✭✭✭✭
    Es darf wieder applaudiert werden...😎👏
    Edited by styroporiane on 29. April 2022 10:55
  • Protector1981
    Protector1981
    ✭✭✭✭✭
    styroporiane schrieb: »
    Es darf wieder applaudiert werden...😎👏

    Noch nicht. Erst wenn es abgeschlossen ist. Ich habe gelernt, Lob erst auszuteilen, wenn etwas fertig ist :p
  • Soldier224
    Soldier224
    ✭✭✭✭✭
    ✭✭✭
    styroporiane schrieb: »
    Es darf wieder applaudiert werden...😎👏

    Noch haben sie ja nicht den Termin für den europäischen Server. Und auch kein in etwa Termin. Offenbar gibt es ja Beschaffungsprobleme. Das kann also eine ganze Weile dauern wo wir neidisch zum NA Server blicken dürfen. (Oder mit Schadenfreude, abhängig vom Ergebnis. )
    Edited by Soldier224 on 29. April 2022 13:54
    Man muss realistisch sein - Neunfinger Logan (First Law Trilogy)
    RP Guide: https://forums.elderscrollsonline.com/de/discussion/431297/rp-guide-aus-persoenlicher-sicht-was-ist-rp
    Für alle Einbrecher Tamriels oder die die es werden wollen:
    https://forums.elderscrollsonline.com/de/discussion/313750/diebestouren-guide-effektiver-diebstahl-in-teso (veraltet)
    Überblick über die Häuser der Dunmer (Enthält Interpretationen/Für Diskussionen offen):
    https://forums.elderscrollsonline.com/de/discussion/481389/die-haeuser-der-dunmer-in-der-zeit-von-eso-haus-hlaalu-redoran-telvanni

  • styroporiane
    styroporiane
    ✭✭✭✭✭
    Ich unterstelle meinem Kommentar eine gewisse Ironie.😉
  • Soldier224
    Soldier224
    ✭✭✭✭✭
    ✭✭✭
    styroporiane schrieb: »
    Ich unterstelle meinem Kommentar eine gewisse Ironie.😉

    Heutzutage sollte man manche Beiträge als Ironie kennzeichnen :p
    Man muss realistisch sein - Neunfinger Logan (First Law Trilogy)
    RP Guide: https://forums.elderscrollsonline.com/de/discussion/431297/rp-guide-aus-persoenlicher-sicht-was-ist-rp
    Für alle Einbrecher Tamriels oder die die es werden wollen:
    https://forums.elderscrollsonline.com/de/discussion/313750/diebestouren-guide-effektiver-diebstahl-in-teso (veraltet)
    Überblick über die Häuser der Dunmer (Enthält Interpretationen/Für Diskussionen offen):
    https://forums.elderscrollsonline.com/de/discussion/481389/die-haeuser-der-dunmer-in-der-zeit-von-eso-haus-hlaalu-redoran-telvanni

  • styroporiane
    styroporiane
    ✭✭✭✭✭
    Dachte aus den Erfahrungen der Vergangenheit hätte man das ableiten können...😉
    Edited by styroporiane on 30. April 2022 17:48
  • styroporiane
    styroporiane
    ✭✭✭✭✭
    Mal ein Edit zum Thema Performance/Server/Spielecode. Ich bin natürlich auch nicht beratungsresistent und habe mich mal etwas schlauer gemacht... 😉
    Es verhält sich wohl so: Es reicht nicht, die Server zu aktualisieren um eine bessere Performance zu bekommen. Es muss zusätzlich der Spielcode angepasst werden. Ich versuche das mal so zu erklären, wie ich es verstanden habe: Es hat was mit dem Thema Zeit zu tun. Die neue Serversysteme können schneller Berechnungen durchführen. Diese schnellen Berechnungen müssen aber mit dem Programmcode abgestimmt werden. D.h. der Programmcode muss den gleichen Zeitcode bekommen. Sonst rauscht die Software schnell durch und es werden Daten verschluckt, was wieder zu lags führt.
    Bezüglich dessen wird es mit der Performance noch etwas dauern.🤗
    Es gibt aber sicher jemanden, der das noch besser beschreiben bzw. mich berichtigen kann, wenn ich falsch liege...😏
    Edited by styroporiane on 2. Mai 2022 13:57
  • Arcon2825
    Arcon2825
    ✭✭✭✭✭
    ✭✭
    styroporiane schrieb: »
    Es verhält sich wohl so: Es reicht nicht, die Server zu aktualisieren um eine bessere Performance zu bekommen.

    Nichts anderes hat Matt klar ausgesprochen.
    ZOS_MattFiror schrieb: »
    • Das wird sich erst mal nicht durch deutliche Leistungssteigerungen im Spiel zeigen. Stattdessen wird dies allgemein zu einer erhöhten Zuverlässigkeit und Stabilität mit weniger ungeplanten Wartungen führen.

    Daher sollte uns allen klar sein, dass erst wenn alle Maßnahmen abgeschlossen sind, sowohl die Datenbankoptimierungen, wie auch der Servertausch, sowie das Neu- bzw. Umschreiben des Codes, erst dann fügen sich die Puzzleteile - hoffentlich passend - zusammen.
    Xbox EU
    CP 1400+:
    Laeleith - Magicka Sorcerer DD, Vampire
    Maryssía - Stamina Dragonknight Tank
    Thaleidria - Magicka Templar Healer
    Zemene - Magicka Necromant DD
    Poohie - Magicka Warden DD
    Elyveya - Stamina Nightblade DD
  • styroporiane
    styroporiane
    ✭✭✭✭✭
    Dass Matt das geschrieben hat bestreitet niemand. Aber mal etwas zu erläutern, wieso das so ist, wäre ganz informativ. Es ist halt nicht jeder ein IT-Spezialist. Grad die Konsoleros brauchen diese Kentnisse nicht.😏
  • Arcon2825
    Arcon2825
    ✭✭✭✭✭
    ✭✭
    Es geht denke ich über die Aufgaben eines Studiobosses hinaus, Dir hier IT-Grundlagen beizubringen, die Du einerseits zwar für nicht nötig erachtest, es andererseits jedoch dennoch ganz informativ finden würdest, mehr darüber zu erfahren, wieso die Dinge so sind wie sie eben sind. Aber hier findest Du, was Du suchst.

    Edited by Arcon2825 on 3. Mai 2022 12:03
    Xbox EU
    CP 1400+:
    Laeleith - Magicka Sorcerer DD, Vampire
    Maryssía - Stamina Dragonknight Tank
    Thaleidria - Magicka Templar Healer
    Zemene - Magicka Necromant DD
    Poohie - Magicka Warden DD
    Elyveya - Stamina Nightblade DD
  • styroporiane
    styroporiane
    ✭✭✭✭✭
    Wenn der Studioboss meint, seinem Kunden erklären zu müssen, wieso etwas wie ist, dann muss er es auch so machen, dass es der Kunde versteht. 😉
    Danke für den Link...🤗👍
  • Arcon2825
    Arcon2825
    ✭✭✭✭✭
    ✭✭
    Ich glaube ZOS versucht nur die Erwartungen der Spieler an den Hardwarewechsel zu dämpfen und möchte gar nicht so viel erklären. Du wirst wahrscheinlich an irgendeinem Punkt des geposteten Wikipedia-Beitrags feststellen, dass das Thema absolut nicht trivial ist und es eher schwierig würde, Leute mit unterschiedlichem Kenntnisstand abzuholen und dennoch informativ zu bleiben.
    Xbox EU
    CP 1400+:
    Laeleith - Magicka Sorcerer DD, Vampire
    Maryssía - Stamina Dragonknight Tank
    Thaleidria - Magicka Templar Healer
    Zemene - Magicka Necromant DD
    Poohie - Magicka Warden DD
    Elyveya - Stamina Nightblade DD
  • The_Saint
    The_Saint
    ✭✭✭✭✭
    ✭✭✭✭✭
    • [VERLÄNGERT] PC/Mac: NA Megaserver für Wartungsarbeiten – 3. Mai, 10:00 - 4. Mai, 00:00 MESZ

    :/ Ich hoffe die heutigen Erfahrungen helfen bei den kommenden Umstellungen^^
    Samuel Crow - Nachtklinge - PC-EU-DC
    Saint_Crow Twitch / Youtube
    ESO Stream Team Member
    Noractis
  • Chi75
    Chi75
    ✭✭✭✭
    Na gut, dass die Amis erst testen :D
  • Hellbend64
    Hellbend64
    ✭✭✭✭
    The_Saint schrieb: »
    • [VERLÄNGERT] PC/Mac: NA Megaserver für Wartungsarbeiten – 3. Mai, 10:00 - 4. Mai, 00:00 MESZ

    :/ Ich hoffe die heutigen Erfahrungen helfen bei den kommenden Umstellungen^^

    Na sach ma! Die Hoffnung stirbt bekanntlich zuletzt aber das sehe ich nicht. Ich hoffe nur es werden nicht mehr als 1-2 Tage und die danach auftretenden Probleme, die es ganz sicher geben wird, blähen das alles nicht all zu sehr auf.
    Edited by Hellbend64 on 3. Mai 2022 18:25
  • Bitsqueezer
    Bitsqueezer
    ✭✭✭✭
    @styroporiane :
    Mal ein Edit zum Thema Performance/Server/Spielecode. Ich bin natürlich auch nicht beratungsresistent und habe mich mal etwas schlauer gemacht...

    Als Datenbankprogrammierer würde mich allerdings schon interessieren, woher Du diese Theorien bezogen hast... ;)
    Datenbanken (also die zugrundeliegende Datenbanksoftware wie MySQL oder SQL Server etc.) sind normalerweise extremst robust programmiert mit einer Reihe Sicherheitstechniken, die selbst bei einem totalen Stromausfall Datenverlust zuverlässig verhindern.
    Mir wäre kein Fall bekannt, bei dem Daten im laufenden Betrieb einfach "verschluckt" werden würden, schon gar nicht, wenn die zugrundeliegende Hardware deutlich performanter geworden ist.

    Aber damit alter Code auf neuer Hardware auch deren Performance ausnutzt, muß er meistens umgeschrieben werden. Als ein winziges Beispiel: Hast Du eine CPU mit nur einem Kern, läuft das Programm nur auf diesem einen Kern, weil für CPUs mit nur einem Kern geschrieben.
    Kaufst Du neue Hardware mit einer CPU mit 12 Kernen, läuft das Programm trotzdem nur auf 1 CPU davon, die anderen 11 dümpeln vor sich hin oder machen irgendwelche Systemaufgaben. Der Code muß erst angepaßt werden, daß er in der Lage ist, seine Aufgaben auf 12 Kerne (oder so viele, wie da/frei sind) zu verteilen ("Threads" genannt).

    Das ist nur ein Beispiel von vielem anderen, was angepaßt werden muß. Ein altes Betriebssystem läuft evtl. nicht mehr auf neuer Hardware, diese braucht auch neue Treiber, die wiederum im eigenen Code anders zu programmieren sind usw. Das alles muß der Programmcode nach und nach berücksichtigen.
    Ja, die 1 CPU der 12 wird vermutlich auch etwas schneller sein als in der alten Hardware, somit auch die Performance des alten Codes möglicherweise geringfügig besser sein, dafür an anderer Stelle wieder ausgebremst durch irgendwelche "Kompatibilitätstreiber", die den alten Code auf der neuen Hardware erst lauffähig machen.

    Oder die Software läuft durch ungeschickte Programmierung des Originals so schnell, daß sie nicht mehr verwendbar ist. Beispielsweise uralte DOS-Programme, die für die zeitliche Abfolge einfach Pausenschleifen gebaut haben, die den Rechner von 1 bis 100.000 zählen lassen. Nur daß eine neue CPU das in einer Mikrosekunde erledigt und die ursprüngliche 486er-CPU dafür vielleicht 2 Sekunden gebraucht hat. Damit rast in dem Spiel alles in einer unspielbaren Geschwindigkeit. Seit damals verwendet man daher nur noch interne Uhren, um eine Zeit zu messen für zeitgesteuerte Aufgaben, denn eine Sekunde bleibt auch bei neuester Hardware eine Sekunde. Natürlich gibt es sowas in moderner Software nicht mehr, soll aber zeigen, daß der ursprüngliche Gedanke beim Schreiben einer Software auch mit dem Stand der Hardware zu dem Zeitpunkt zusammenhängt und man bei Wechsel der Hardware auch umdenken/neu schreiben muß.

    Es ist also grundsätzlich nicht so, daß man einfach neue Server kauft und aufstellt und dann läuft alles 100x schneller als vorher. Da muß extrem viel berücksichtigt und bearbeitet werden, um die neue Hardware auch so auszunutzen, daß man etwas von der Performance bemerkt. Und das ist absolut nicht trivial. Betrifft nicht nur die Programmierung, sondern auch viele, viele Einstellungen, Treiber, teils auch einfach ausprobieren, Erfahrungswerte sammeln usw.

    Schon mal bemerkt, daß z.B. Microsoft es permanent schafft, mit jeder neuen PC-Hardware das Betriebssystem und die Software so auszulasten, daß man von einer Performancesteigerung kaum etwas merkt? Ich habe mittlerweile eine M.3-Platine (= "schnellere SSD") als "C:" und merke nicht viel Unterschied beim Starten von Office...wird eher immer langsamer... :)
  • Protector1981
    Protector1981
    ✭✭✭✭✭
    Naja, aber ein Server-Betriebssystem kannst du nicht einfach mit einem Endnutzer-Betriebssystem ala Windows vergleichen.

    In der Regel laufen die Server auf Linux und die sind WESENTLICH flexibler, was den Server-Tausch angeht.

    Bestes Beispiel sind die Power-Systeme von IBM. Die sind untereinander recht kompatibel und die Software die darauf läuft, kannst du auch fast immer mitnehmen, ohne große Anpassungen :)

    Aber Gegenfrage. Was ist denn eine "M.3-Platine"? Den anderen "SATA"-Anschluß den ich kenne, ist U3. Und das wird im Endnutzerbereich nur für abnormal teuere Mainboards verbaut, ansonsten eben auch im Serverbereich.

    Die übrigens ca 2 Jahre vor uns schon mit PCIe 4.0 zu haben waren :D
  • styroporiane
    styroporiane
    ✭✭✭✭✭
    Unterschiedliche Quellen...und dann hab ich das für mich adaptiert. Wie gesagt...es sind nicht alle IT-Experten hier.
    Deshalb finde ich es gut, dass ihr euch hier zu Wort meldet.🤗👍
  • Bitsqueezer
    Bitsqueezer
    ✭✭✭✭
    Die gesagten Dinge gelten im Wesentlichen für ALLE Betriebssysteme. Auch ein Linux braucht neue Treiber bei neuer Hardware, auch in Linux muß ein Single-Threaded-Programm auf Multi-Threading umgeschrieben werden - usw.
    Wie einfach das ist oder flexibel das Betriebssystem das handhabt, ist nicht das Thema. Ich wollte da jetzt auch nicht zu sehr in die Tiefe gehen, soll ja keine Abhandlung über Servertechnologie werden... :)

    Ebenfalls habe ich ja bereits geschrieben, daß man eine Software ohne weiteres "mitnehmen" kann (auch in Windows...), aber diese nutzt eben noch nicht die optimale Performance einer neuen Hardware, Gründe siehe Beispiele. Die auch bewußt einfach gewählt sind, natürlich ist das ganze noch beliebig komplizierter.

    M.3: Hier ein Beispielartikel:
    https://www.computerbild.de/artikel/cb-News-PC-Hardware-Samsung-PM983-M.3-SSD-8-TB-21923523.html

    Hab' mich aber vertan, gerade nochmal nachgesehen, ist doch "nur" M.2 bei mir: "1TB Samsung 960 Evo"
    Mein Rechner ist von etwa 2017 und hat die M.2 seit Beginn an - ist also noch nicht mal die neueste Technologie. Immerhin 3,6GB/s lesen... :)
  • Protector1981
    Protector1981
    ✭✭✭✭✭
    Die im Artikel erwähnte NvmE-SSD ist keine M.3, sondern ein spezielles U1-Format für Server halt:
    The NGSFF form factor is able to replace an M.2 or 2.5
    inch SSD/HDD without major changes or difficulty.

    Hier das Product-Sheet:

    https://semiconductor.samsung.com/resources/data-sheet/Product_Brief_Samsung_PM983_NF1_NVMe_SSD_1806.pdf
    Edited by Protector1981 on 4. Mai 2022 17:05
  • Arcon2825
    Arcon2825
    ✭✭✭✭✭
    ✭✭
    Protector1981 schrieb: »
    In der Regel laufen die Server auf Linux und die sind WESENTLICH flexibler, was den Server-Tausch angeht.

    Bestes Beispiel sind die Power-Systeme von IBM. Die sind untereinander recht kompatibel und die Software die darauf läuft, kannst du auch fast immer mitnehmen, ohne große Anpassungen :)

    Wenn Du ab und zu mal die „Linux ist so viel besser“ Brille ablegen würdest, müsstest Du Dir eingestehen, dass Software auch unter Linux nicht per Magie ganz ohne Anpassungen mit besserer Hardware skaliert. Dass Server innerhalb gleicher Baureihen recht problemlos getauscht werden können, gilt hingegen für Windows Server genauso. Die Plattformdiskussion ist daher eigentlich nicht viel mehr als eine Nebelkerze und bringt keinerlei Erkenntnisgewinn, weshalb Software eben nicht automatisch gut mit Hardware skaliert. Du kriegst aber ein weiteres Tux-Fleißstermchen.
    Xbox EU
    CP 1400+:
    Laeleith - Magicka Sorcerer DD, Vampire
    Maryssía - Stamina Dragonknight Tank
    Thaleidria - Magicka Templar Healer
    Zemene - Magicka Necromant DD
    Poohie - Magicka Warden DD
    Elyveya - Stamina Nightblade DD
  • Protector1981
    Protector1981
    ✭✭✭✭✭
    Ich kann da nix für, sorry. Es läuft halt Problemloser und teils laufen die Spiele sogar besser, stabiler und schneller :) Aber nur zum Teil.

    Aber ja, extra für dich lege ich die Brille ab. Natürlich hast du recht, keine Frage. Anpassungen sind immer wichtig. Macht ja auch durchaus Sinn, damit das volle Potential der jeweiligen Plattform ausgereizt werden kann. Deswegen sind die Konsolen ja auch so ultra gut, weil die Spiele (zumindest die nicht Cross-Plattform-Titel) super gut angepasst sind.

    Dennoch skaliert halt das freie Betriebssystem einfach besser, ist zuverlässiger und eigentlich sogar Wartungsfreundlicher und noch viele andere Dinge. Deswegen wird ja nicht umsonst in Server eingesetzt :) Also muss ja was besser laufen,sonst würde man es nicht nutzen :p
  • Arcon2825
    Arcon2825
    ✭✭✭✭✭
    ✭✭
    Protector1981 schrieb: »
    Dennoch skaliert halt das freie Betriebssystem einfach besser, ist zuverlässiger und eigentlich sogar Wartungsfreundlicher und noch viele andere Dinge.

    Das ist alles richtig, hat aber mit der Frage nichts zu tun, weshalb Software und Datenbanken nicht automatisch deutlich performanter laufen, wenn man ihnen neuere und schnellere Hardware spendiert. Genau das ist ja die Krux an der Sache, dass Du jederzeit mehr CPU-Kerne in eine Linux-Maschine stopfen kannst, aber davon in der eigentlichen Anwendung nicht zwangsläufig etwas zu bemerken sein muss.
    Xbox EU
    CP 1400+:
    Laeleith - Magicka Sorcerer DD, Vampire
    Maryssía - Stamina Dragonknight Tank
    Thaleidria - Magicka Templar Healer
    Zemene - Magicka Necromant DD
    Poohie - Magicka Warden DD
    Elyveya - Stamina Nightblade DD
  • Protector1981
    Protector1981
    ✭✭✭✭✭
    Das kommt auf die Software an, bin ich der Meinung. Denn eigentlich, so zumindest meine Gedanken, muss man Software nur einmalig anpassen. Und zwar so, dass die Anzahl der verfügbaren Kerne automatisch erkannt wird und dann entsprechend automatisch XY-Kerne je nach Auslastung nutzt.

    Aber da ich kein Programmierer bin, weiß ich nicht wie gut und zuverlässig sowas überhaupt funktionieren kann :)
  • Arcon2825
    Arcon2825
    ✭✭✭✭✭
    ✭✭
    Protector1981 schrieb: »
    Und zwar so, dass die Anzahl der verfügbaren Kerne automatisch erkannt wird und dann entsprechend automatisch XY-Kerne je nach Auslastung nutzt.

    Aber da ich kein Programmierer bin, weiß ich nicht wie gut und zuverlässig sowas überhaupt funktionieren kann :)

    So einfach wie Du Dir das vorstellst, funktioniert es in der Praxis leider nicht. Dafür, dass eine Anwendung von möglichst vielen CPU-Kernen profitieren kann, muss sie erst mal viele Aufgaben gleichzeitig bewältigen können, die noch dazu zu einem sehr starken Grad parallelisierbar sein müssen. Es ist also nicht alleine damit getan, (Teil-) Berechnungen auf unterschiedliche Kerne zu verteilen, denn benötigt z.B. Kern B erst mal das Zwischenergebnis von A, dann werden beide Kerne nicht parallel rechnen können und stehen sich gegenseitig mehr im Weg als sie sich helfen, da auch die Synchronisierung der einzelnen Threads eines gewissen Aufwands bedarf.

    Das Encoding bzw. Decoding von Videos ist beispielsweise so ein Anwendungsfall, wo Parallelisierung sehr effizient betrieben werden kann, weil der immergleiche Algorithmus auf die einzelnen Bilder angewandt wird. Dementsprechend könnte beispielsweise ein Einzelbild in verschiedene Quadranten aufgeteilt werden, auf die jeweils unterschiedliche CPU-Kerne den Encodierungs- bzw. Decodierungsalgorithmus anwenden, oder es werden durch die CPU-Kerne eben ganze Frames komplett berechnet und das Endergebnis wird dann zusammengefügt. So eine Aufgabe skaliert unglaublich gut mit der Anzahl an Kernen.

    Bei anderen Anwendungsfällen sieht das allerdings weit weniger gut aus. Du kannst Dir ja mal ansehen, wie viele CPU-Kerne einige Deiner Programme auf dem Rechner zuhause auslasten. Die meisten davon werden wahrscheinlich gerade mal ein, zwei, wenn es hoch kommt vielleicht drei oder sogar vier Kerne moderat belasten. Das liegt daran, dass die abzuarbeitenden Aufgaben eben nicht unendlich zerteilt werden können und wie gesagt jede Teilaufgabe im besten Fall komplett eigenständig berechnet werden müsste, um gut zu skalieren.

    Das Betriebssystem nimmt dem Programmierer an der Stelle übrigens gar keine Aufgaben ab, der Entwickler muss sich also selbst darum bemühen, dass er seine Aufgabe in möglichst viele Teilaufgaben zerlegt, die dann in separaten Threads berechnet werden können. Auch um die Synchronisation der einzelnen Threads muss sich der Entwickler selbst kümmern. Das ist für die meisten Aufgabenstellungen eine Herausforderung, da unbedingt vermieden werden muss, dass sich Threads gegenseitig blockieren oder die selben Daten verändern.

    Es gab hier und da mal Ansätze, dass man Programmierern die Erstellung von multithreaded Code erleichtern wollte über Hilfestellungen in den Entwicklungsumgebungen, ich erinnere mich nur daran, dass Apple in seiner IDE die Funktion anbot, man könne Teile eines Programms im Code stark vereinfacht gesprochen als parallelisierbar markieren und die ganze Magie würde dann im Hintergrund durch den Compiler stattfinden. Ja... nein. Selbstverständlich können Compiler mittlerweile hocheffizienten Binärcode generieren und je besser ein Betriebssystem in der Lage ist, schnell neue Threads zu erzeugen und effizient zu verwalten, umso besser. Aber die Hauptarbeit bleibt immer noch am Entwickler selbst hängen - und natürlich der zugrundeliegenden Aufgabe, denn diese muss grundsätzlich so weit aufgeteilt werden können, dass sie überhaupt auf möglichst vielen Kernen berechnet werden kann.

    Edited by Arcon2825 on 5. Mai 2022 16:06
    Xbox EU
    CP 1400+:
    Laeleith - Magicka Sorcerer DD, Vampire
    Maryssía - Stamina Dragonknight Tank
    Thaleidria - Magicka Templar Healer
    Zemene - Magicka Necromant DD
    Poohie - Magicka Warden DD
    Elyveya - Stamina Nightblade DD
  • Bitsqueezer
    Bitsqueezer
    ✭✭✭✭
    Und zwar so, dass die Anzahl der verfügbaren Kerne automatisch erkannt wird und dann entsprechend automatisch XY-Kerne je nach Auslastung nutzt.
    [...]
    Aber da ich kein Programmierer bin...

    Genau daher stellst Du Dir (und wohl auch viele andere Spieler, wenn man die diversen Threads hier so liest) das alles ein bißchen zu simpel vor.

    Mehrere CPU-Kerne zu haben, bedeutet hardwaremäßige Parallelverarbeitung verwenden zu können. Auch mit nur einem Kern können viele Programme gleichzeitig laufen, weil sie mit einer Zeitscheibentechnik den Prozessor abwechselnd nutzen, aber eben immer nur ein Code gleichzeitig. Das Wechseln geht per Interrupt, per Hard- oder Software, sozusagen ein "Taktgeber", der bestimmt, wie lange welches Programm die CPU belegen darf und dann ist das nächste dran. Alles seriell, nacheinander.

    Bei mehr als einem Kern ist es vereinfacht gesagt so, als hätte man zwei (oder mehr) CPUs, die getrennt voneinander arbeiten und beide zur gleichen Zeit einen anderen Code verarbeiten können. Programm A kann dann auf CPU 1 laufen, Programm B auf CPU 2, beide behindern sich nicht. Wenn es Programme sind, die für eine CPU geschrieben wurden.

    Trotzdem muß aber auch das o. beschriebene Multitasking weiterhin funktionieren, schau mal in einen beliebigen Taskmanager, da laufen meistens zum Beispiel 50 oder 100 Programme gleichzeitig, die das jeweilige Betriebssystem (egal welches) verwalten muß (wer darf wann auf welche CPU, wer hat Priorität, wer reagiert nicht mehr und blockiert die CPU usw.). So viele Kerne hat i.d.R. kein Rechner, um jedem Kern nur ein Programm zuzuweisen. Einen guten Teil der Performance macht also bereits ein gutes Taskmanagement aus, das wiederum sehr von der zur Verfügung stehenden Hardware und dem Betriebssystem abhängig ist.

    Da man als Programmierer zeitkritischer Programme nun auch die Möglichkeit nutzen will, nicht mehr wie früher nur auf einem Kern zu laufen oder sich auf den Taskmanager zu verlassen, will man die verschiedenen Aufgaben des eigenen Programms nun auch aufteilen auf Kerne. "Multi-Threading". Mal als banales Beispiel: Ein Teil übernimmt die Netzwerkkommunikation, einer die Datenbankarbeit und einer die Grafikberechnungen. Jeder Teil kann dann in einem Kern laufen, was die Verarbeitung schneller macht. Aber ganz unabhängig sind sie nicht. Wenn aus dem Netzwerk neue Daten kommen, müssen sie rüber zum Datenbankteil, der diese speichern soll. Der muß aber auch gerade Zeit dafür haben. Hat er das nicht, müssen die Daten solange zwischengespeichert werden ("cachen"), damit der Netzwerkteil nicht warten muß.

    Zusätzliche Kerne zu erkennen, wird dann hier schon problematisch - was soll darauf laufen? Ein zusätzlicher Datenbankteil? Ein zusätzlicher Netzwerkteil? Ein zusätzlicher Grafikteil? Es muß ja auch alles in der richtigen Reihenfolge ablaufen, man will ja nicht, daß im Spiel erst die Person von A nach B verschoben wird und dann erst das Pferd erscheint (da haben es wir Anwendungsprogrammierer deutlich einfacher... Echtzeitverarbeitung ist höllisch viel komplizierter).
    Also wenn zwei Datenbankteile laufen, wem übergibt der Netzwerkteil seine Daten?

    Gibt für all das natürlich bereits Lösungen, aber will sagen: Es bedarf einer sehr guten Kommunikation zwischen den einzelnen Teilen und einer programmiertechnischen genauen Abstimmung, wie was wann passieren muß. Einfach "ich hab mehr Kerne, mach jetzt schneller!" ist es nicht... ;)

    Und das hier war jetzt nur eine gaaaanz stark vereinfachte Darstellung auf einem kleinen Rechner...
    Jetzt stelle man sich mal einen Raum wie den hier vor:
    https://deltiasgaming.com/tag/eso-lag/

    (Wobei das Bild sicherlich nicht aus dem echten Serverraum kommt, aber so in der Art wird es schon sein.)

    Hier müssen nicht nur ein paar Threads auf ein paar Kerne verteilt werden, sondern alles zusammenarbeiten. Denn "der Megaserver" ist genau wie im Bild eine große Anzahl Server, die alle zusammen "den" Megaserver ergeben.
    So einen Raum voller Server bestückt man nicht "mal eben" mit neuer Hardware... und die Software muß an die neuen Gegebenheiten angepaßt werden...

    Es ist also nicht einfach "die Software", es sind eine Menge einzelner Softwarekomponenten, geschrieben von jeweils anderen Programmierteams (schließt auch Treiber, Betriebssystem usw. ein). Erst die Zusammenarbeit aller ergibt am Ende unser ESO-Universum.
  • Kryptograph
    Kryptograph
    ✭✭
    Die Hardware die hier getauscht wird, dürfte sowohl Multiprozessor als auch Multikern fähig sein. Das daher hier angeführt wird, das Datenbanken auf diesen Umstand angepasst werden müssten ... na ja. Auch 2012, davon ist hier die Rede (Einführung der Multikernprozessoren war 2006), war Serversoftware, Datenbanken Multithread fähig. Dabei ist es auch völlig egal ob das Serverbetriebssystem ein UNIX Derivat oder eine Windows Server ist.
    Linux / Windows Nutzer verwenden in der Regel die Desktopversionen und nicht die Serverversionen. Daher sollte man schon zwischen Multikernfähiger Anwendung (Endanwender) und Multikernfähiger Serversoftware unterscheiden.

    Die neue Hardware ist wesentlich leistungsfähiger (10 Jahre ist eine sehr lange Zeit), erfüllt aber auf jeden Fall die Anforderungen die durch die alte Hardware abgedeckt war. Allein schon die höhere Taktfrequenz, schnellere Speicher (fest / flüchtig), deutlich höhere Busgeschwindigkeiten etc. führen zu einer schnelleren Abarbeitung der Daten im Vergleich zur alten Hardware.

    Performanceprobleme begleiten uns nun einige Jahre und ich denke das der Knackpunkt die verwendete Engine ist. Eine Eigenentwicklung die schon bei Veröffentlichung des Spieles kritisch gesehen wurde. Daher dämpft Herr Frior auch gleich die Erwartungen der Kunden.
Anmelden oder Registrieren, um zu kommentieren.