Vorteile der Verwendung von Azure NetApp Files für Electronic Design Automation (EDA)

Innovation ist ein kennzeichnendes Merkmal für die Halbleiterindustrie. Dank dieser Innovation konnte Gordon Moores im Jahr 1965 formuliertes Gesetz, das als Mooresches Gesetz bekannt ist, eine Gültigkeit von mehr als fünfzig Jahre aufrechterhalten, nämlich dass man erwarten kann, dass sich die Verarbeitungsgeschwindigkeiten ungefähr jedes Jahr oder alle zwei Jahre verdoppeln. Beispielsweise hat die Innovation in der Halbleiterindustrie dazu beigetragen, das Mooresche Gesetz zu entwickeln, indem Chips in kleinere Formfaktoren gestapelt werden, um die Leistung durch Parallelität auf einst unvorstellbare Niveaus zu skalieren.

Halbleiterunternehmen (oder Electronic Design Automation [EDA]) interessieren sich am meisten für den Markt (TTM). TTM wird häufig auf die Zeit festgelegt, die es für Workloads benötigt, z. B. Chipdesign-Validierung und Vorgießereiarbeiten, wie etwa Tape-Out bis zum Abschluss. TTM-Bedenken helfen auch, EDA-Lizenzierungskosten niedrig zu halten: Weniger Zeit für die Arbeit bedeutet, dass mehr Zeit für die Lizenzen verfügbar ist. Das heißt, je mehr Bandbreite und Kapazität für die Serverfarm verfügbar sind, desto besser.

Azure NetApp Files hilft, die Zeit für EDA-Aufträge mit einer hochleistungsfähigen, parallelisierten Dateisystemlösung zu reduzieren: Große Azure NetApp Files-Volumes. Aktuelle EDA-Benchmark-Tests zeigen, dass ein einzelnes großes Volume 20-mal leistungsstärker ist als das, was bisher mit einem einzigen normalen Azure NetApp Files-Volume erreicht werden konnte.

Das Feature „Großes Azure NetApp Files-Volume“ eignet sich ideal für die Speicheranforderungen dieser anspruchsvollsten Branche, nämlich:

  • Einzelner Namespace für große Kapazität: Jedes Volume bietet bis zu 500 TiB verwendbare Kapazität unter einem einzelnen Bereitstellungspunkt.

  • Hohe E/A-Rate, niedrige Latenz: Bei Tests mit einer EDA-Simulations-Benchmark lieferte ein einzelnes großes Volume über 650K-Speicher-IOPS mit weniger als 2 Millisekunden Anwendungslatenz. In einer typischen EDA-Workload besteht IOPS aus einer Mischung oder Datei-Erstellungsvorgängen, -Lesevorgängen, -Schreibvorgängen und einer erheblichen Menge anderer Metadatenvorgänge. Dieses Ergebnis gilt als Leistung auf Unternehmensniveau für viele Kund*innen. Diese Leistungsverbesserung wird durch die Art und Weise ermöglicht, wie große Volumes eingehende Schreibvorgänge über Speicherressourcen hinweg in Azure NetApp Files parallelisieren können. Obwohl viele Unternehmen 2 ms oder eine bessere Reaktionszeit erfordern, können Chipdesigntools eine höhere Latenz als diese ohne Auswirkungen auf das Unternehmen tolerieren.

  • Bei 826.000 Vorgängen pro Sekunde: der Leistungsrand eines einzelnen großen Volumes – die Anwendungsschicht hat in unseren Tests bei 7 ms Latenz den Höchstwert erreicht, was zeigt, dass mehr Vorgänge in einem einzigen großen Volume mit geringen Latenzkosten möglich sind.

Tests, die intern mit einer EDA-Benchmark im Jahr 2020 durchgeführt wurden, stellten fest, dass mit einem einzigen normalen Azure NetApp Files-Volume die Workload von 40.000 IOPS bei der Marke von 2 ms und 50.000 am Edge erreicht werden konnte.

Szenario E/A-Rate bei 2 ms Latenz E/A-Rate am Leistungsrand (~7 ms) MiB/s bei 2 ms Latenz MiB/s Leistungsrand (~7 ms)
Ein normales Volume 39.601 49.502 692 866
Großes Volume 652.260 826.379 10.030 12.610

Das folgende Diagramm veranschaulicht die Testergebnisse.

Diagramm, das Latenz und Durchsatz zwischen großen und normalen Volumes vergleicht.

Bei den internen Tests von 2020 wurden auch Grenzwerte für einzelne Endpunkte untersucht, die Grenzwerte wurden mit sechs Volumes erreicht. Großes Volume übertrifft das Szenario mit sechs normalen Volumes um 260 %.

Szenario E/A-Rate bei 2 ms Latenz E/A-Rate am Leistungsrand (~7 ms) MiB/s bei 2 ms Latenz MiB/s Leistungsrand (~7 ms)
Sechs normale Volumes 255.613 317.000 4.577 5.688
Ein großes Volume 652.260 826.379 10.030 12.610

Einfachheit im großen Stil

Bei einem großen Volume ist die Leistung nicht die gesamte Geschichte. Die Leistung ist einfach das Endziel. Kund*innen bevorzugen einen einzelnen Namespace/Bereitstellungspunkt im Gegensatz zum Verwalten mehrerer Volumes für eine einfache Verwendung und zur Anwendungsverwaltung.

Testtool

Die EDA-Workload in diesem Test wurde mit einem Standard-Branchen-Benchmark-Tool generiert. Es simuliert eine Mischung aus EDA-Anwendungen, die zum Entwerfen von Halbleiterchips verwendet werden. Die Verteilung der EDA-Workload lautet wie folgt:

Kreisdiagramm, das den Front-End-OP-Typ darstellt.

EDA-Front-End-OP-Typ Prozentsatz des Gesamtwerts
Stat 39 %
Access 15 %
Random_write 15 %
Write_file 10 %
Random_read 8 %
Read_file %7
Erstellen 2 %
Chmod %1
mkdir %1
Ulink %1
Ulink2 %1
  • Anfügen
  • Benutzerdefiniert2
  • Sperren
  • Mmap_read
  • Mmap_write
  • Neg_stat
  • Read_modify_write
  • Rmdir
  • Schreiben
0 %

Kreisdiagramm, das die Back-End-OP-Typverteilung darstellt.

EDA-Back-End-OP-Typ Prozentsatz des Gesamtwerts
Lesen Sie 50 %
Schreiben 50 %
  • Benutzerdefiniert2
  • Mmap_read
  • Random_read
  • Read_file
  • Read_modify_file
0 %

Testkonfiguration

Die Ergebnisse wurden mit den folgenden Konfigurationsdetails erstellt:

Komponente Konfiguration
Betriebssystem RHEL 9.3/RHEL 8.7
Instanztyp D16s_v5
Anzahl der Instanzen 10
Bereitstellungsoptionen nocto,actimeo=600,hard,rsize=262144,wsize=262144,vers=3,tcp,noatime,nconnect=8
Abstimmbare Client-Werte # Netzwerk-Parameter. In Einheit von Bytes
net.core.wmem_max = 16777216
net.core.wmem_default = 1048576
net.core.rmem_max = 16777216
net.core.rmem_default = 1048576
net.ipv4.tcp_rmem = 1048576 8388608 16777216
net.ipv4.tcp_wmem = 1048576 8388608 16777216
net.core.optmem_max = 2048000
net.core.somaxconn = 65535

# Einstellungen in 4 KiB-Größenblöcken, in Bytes sind es
net.ipv4.tcp_mem = 4096 89600 4194304

# Sonstige Netzwerkoptionen und Flags
net.ipv4.tcp_window_scaling = 1
net.ipv4.tcp_timestamps = 0
net.ipv4.
tcp_no_metrics_save = 1
net.ipv4.route.flush = 1
net.ipv4.tcp_low_latency = 1
net.ipv4.ip_local_port_range = 1024 65000
net.ipv4.tcp_slow_start_after_idle = 0
net.core.netdev_max_backlog = 300000
net.ipv4.tcp_sack = 0
net.ipv4.tcp_dsack = 0
net.ipv4.tcp_fack = 0

# Verschiedene Dateisystem-/PageCache-Optionen
vm.dirty_expire_centisecs = 100
vm.dirty_writeback_centisecs = 100
vm.dirty_ratio = 20
vm.dirty_background_ratio = 5

# Optimierung der ONTAP-Netzwerkausführung für Client
sunrpc.tcp_max_slot_table_entries = 128
sunrpc.tcp_slot_table_entries = 128

Die Bereitstellungsoptionen nocto, noatime und actimeo=600 arbeiten zusammen, um die Auswirkungen einiger Metadatenvorgänge für eine EDA-Workload über das NFSv3-Protokoll zu verringern. Diese Bereitstellungsoptionen reduzieren zum einen die Anzahl der Metadatenvorgänge, die ausgeführt werden, und speichern zum anderen einige Metadatenattribute auf dem Client zwischen, sodass EDA-Workloads weiter pushen können, als es sonst der Fall wäre. Es ist wichtig, einzelne Workloadanforderungen zu berücksichtigen, da diese Bereitstellungsoptionen nicht universell anwendbar sind. Weitere Informationen finden Sie unter Bereitstellungsoptionen für NFS unter Linux: bewährte Methoden für Azure NetApp File.

Zusammenfassung

EDA-Workloads erfordern Dateispeicher, die eine hohe Dateianzahl, eine große Kapazität und eine große Anzahl paralleler Vorgänge über potenziell Tausende von Clientarbeitsstationen hinweg verarbeiten können. EDA-Workloads müssen auch auf einer Ebene ausgeführt werden, die die Zeit zum Abschließen von Tests und Validierungen reduziert, um Geld für Lizenzen zu sparen und um die Markteinführung der neuesten und größten Chipsätze zu beschleunigen. Große Azure NetApp Files-Volumes können die Anforderungen einer EDA-Workload verarbeiten, was mit der Leistung vergleichbar ist, die bei lokalen Bereitstellungen zu sehen ist.

Nächste Schritte