Ich bin durch eine Software begrenzt, die einen einzelnen Kern pro Instanz des Programmlaufs verwendet. Es wird eine SQL Server-Arbeitswarteschlange ablaufen und Ergebnisse auf dem Server ablegen. Je mehr Instanzen ich ausführe, desto schneller ist das Gesamtprojekt. Ich habe ein wenig mit Azure-VMs gespielt und kann den Vorgang auf zwei Arten beschleunigen.Azure VM-Preisgestaltung - Ist es besser, 80 Single-Core-Maschinen oder 10 8-Core-Maschinen zu haben?
1) Ich kann die App auf einer einzigen Kern-VM ausführen, diese VM klonen und sie so oft ausführen, wie ich es für notwendig erachte, um den Job ausreichend zu beschleunigen.
OR
2) Ich kann die App 8-mal auf einem 8-Core-VM laufen ... klonen erneut, dass VM und es laufen auf so viele wie ich für notwendig halten ausreichend um die Arbeit zu beschleunigen.
Ich habe in Tests festgestellt, dass die Beschleunigung für das Hinzufügen von 8 Single-Core-VMs und 1 8-Core-VM in etwa gleich ist. Unter der Annahme, dass dies wahr ist, wäre es besser, preislich Single-Core-Maschinen zu haben?
Die Preisgestaltung ist ein bisschen ein Geheimnis, ob es echte CPU-Nutzungszeit ist, oder was. Es ist ein bisschen einfacher, den 1 8-Kern-Ansatz zu verwenden, da das Hochdrehen von Maschinen und deren Abbau Zeit kostet, aber ich denke, das könnte automatisiert werden.
Es scheint von einigen Preisseiten, dass die Multiple-Single-Core-VM Ansatz würde weniger kosten?
Nebenfrage: also könnte ich einige Power Shell-Skripte tun, um einfach VMs eines bestimmten Bildes hinzuzufügen und die App zu starten, und dann herunterzufahren, sobald ich kurz vor dem Abschluss bin? Nach dem Generieren der VMs würde es einen Weg geben, die App zu starten, ohne dass man sich in jedem einzelnen einloggen und es ausführen muss?
Hmm .. das automatische Skalieren sieht so aus, als würde es fast für mich funktionieren, aber in diesem speziellen Fall würde ich 100% CPU bei jeder Instanz laufen lassen, während meine Arbeitswarteschlange noch übrig war, und 0% wenn es keine Arbeit gab Artikel. Ich würde es lieben zu sehen, dass die VM nichts mehr tut und sie loswird. Ich denke, dass diese automatische Skalierung eher für eine Web-App als für mein Bio Analayis-Tool entwickelt wurde. Habe ich recht, oder würde es wirklich funktionieren? Ich würde auf jeden Fall das Auto-Run-Ding machen müssen, oder? –
Es würde funktionieren, wenn Sie die Windows Azure-Warteschlange verwenden würden. Dann könnten Sie VMs entsprechend der Warteschlangenlänge mit minimaler und maximaler Anzahl von VMs und einer Verzögerung zwischen Überprüfungen konfigurieren oder entfernen. Aber das wäre eine andere Frage ... –