Skip to content

Latest commit

 

History

History
214 lines (135 loc) · 9.68 KB

EDA_Instance_Types.adoc

File metadata and controls

214 lines (135 loc) · 9.68 KB

EDA Instance Types

Last Update: October 11, 2023

A key advantage of running EDA workloads on the cloud is the ability to match the compute to specific job requirements. The key job attributes to consider are:

  • Purchase option (spot or on demand)

  • Number of cores

  • Max memory used

  • CPU architecture (arm or x86)

  • Performance

  • Cost

The first consideration is whether the job can run on spot instances. Spot instances are excess EC2 capacity that are much less expensive than on-demand instances with the caveat that the instance can be reclaimed with a two minute warning. If the job is fault tolerant or can tolerate being rerun then it is a good candidate for spot. Examples are short running simulation jobs or regression jobs that aren’t latency critical. Bad candidates are long-running jobs where job interruptions would be very costly.

AWS instance families are mainly grouped by the amount of memory per core so the job’s memory to core ratio helps narrow down the best instance families for the job. Your candidates will be the smallest instance types in the families that satisfy the memory and core requirements of the job. For example, if the job is a simulation job that only requires one core and 2 GB of memory, then the compute optimized ( C ) instances, with 2 GB per vCpu, are probably your best option. The general purpose ( M ) instances have 4 GB per vCPU, the memory optimized ( R ) instances have 8 GB per vCPU, and the memory optimized ( X ) instances have 16 or 32 GB per vCPU. For jobs that require more than 4 TB of memory, AWS has the high memory ( U ) family of instances with from 3 TB up to 24 TB of memory. Be aware that the U instances use a slow 2.1 GHz Intel Sky Lake processor so you might consider an instance type with a faster processor, less memory, and a large virtual memory; the performance impact of memory paging may be offset by the faster processor.

The CPU architectures supported by the application narrow down the choices further. All EDA applications support x86 and many now also support the ARM architecture used by the AWS Graviton instances. The low cost and high performance of Graviton instances should make them a preferred choice when supported by the application. If your application supports the ARM architecture then you should consider them for your job. AWS offers x86 instances that use the latest Intel and AMD processors. The latest AMD instance are competitive in performance with Intel instances and are typically less expensive. You should benchmark your applications on Graviton, AMD, and Intel instances so that you can select the best architecture to optimize for performance and/or price. A final note is that x86 processors support symmetric multi-threading (SMT) and have 2 vCPUs per core. However, most EDA applications are memory limited, not core limited, and run significantly faster with SMT disabled. Because of this, the table below lists the number of cores, not the number of vCPUs, which is half the number of vCPUs for x86 instances.

The final selection criteria helps you optimize for job cost or performance and sometimes allows you to optimize for both. In some cases, running on the fastest, most expensive instance type may also minimize the job cost. This is because the cost of running a job includes the following costs:

  • EDA license(s)

  • Compute

License cost is usually 4 to 20 times more expensive than the compute cost. You can reduce the license cost attributed to the job by running on a more expensive, higher performance instance type, such as the high frequency instances, because the job will finish faster. If the license cost reduction is greater than the increase in compute cost then the job cost will be lower and will finish faster. If performance and the shortest job duration is more critical than cost, then you should choose the highest performance instance type. The AWS high frequency instances such as the m5zn, z1d, x2iezn, and the soon to be available r7iz run at frequencies up to 4.5 GHz and provide the highest performance available on AWS.

An AWS optimized scheduler can automatically select the best instance type to use based on the job attributes. For example, you could use the AWS ParallelCluster to create a Slurm cluster to run your jobs. A job submission would look like:

sbatch -c 1 --mem 5 GB -C 'hifreq&(spot|ondemand)' -l my-eda-license my-eda-job

This would result in your job running on the lowest cost high frequency instance that has one core and 5 GB of memory using either spot or on-demand pricing.

Latest Generation Instance Types

The following table lists instance families recommended to run Electronic Design Automation (EDA) workloads. With the exception of the HPC instance families, instance families consist of a range of instance types with from 1 core to the maximum number of cores in the family. The HPC instances come in only one size and do not support spot pricing, but their on-demand pricing is significantly lower than comparable non-HPC instances. They are also only available in certain AZs in a limited number of regions. The dollar per core is for relative price comparison between families and is based on On-Demand pricing in the us-east-2 region where HPC instances are available. Pricing can per region and over time.

Instance Family Max Cores Max Memory (GB) GB/Core Max Freq (GHz) Max SSD $/Core* CPU Type

High Frequency - preferred for EDA to reduce license costs

m5zn

24

192

8

4.5

0

0.1652

Intel Xeon Platinum 8252 (Cascade Lake)

r7iz

64

1024

16

3.9

0

0.1860

Intel Xeon 6455B (Sapphire Rapids) (us-east-1)

z1d

24

384

16

4.5

2x900

0.1860

Intel Xeon Platinum 8151 (Sky Lake)

x2iezn

24

1536

64

4.5

0

0.4170

Intel Xeon Platinum 8252 (Cascade Lake)

Memory Optimized - for memory limited applications

r7g

64

512

8

2.6

0

0.0536

AWS Graviton 3

r7gd

64

512

8

2.6

2x1900

0.0680

AWS Graviton 3

x2gd

64

1024

16

2.5

2x1900

0.0835

AWS Graviton 2

r7a

96

1536

16

3.7

0

0.15215

AMD EPYC 9R14 (Genoa)

r6i

64

1024

16

3.5

0

0.1260

Intel Xeon 8375C (Ice Lake)

r6id

64

1024

16

3.5

4x1900

0.1512

Intel Xeon 8375C (Ice Lake)

r6in

64

1024

16

3.5

0

0.17433

Intel Xeon 8375C (Ice Lake)

x2idn

64

2048

32

3.5

2x1900

0.20841

Intel Xeon 8375C (Ice Lake)

x2iedn

64

4096

64

3.5

2x1900

0.41681

Intel Xeon 8375C (Ice Lake)

u-6tb1

112

6144

55

2.1

0

0.41432

Intel Xeon Scalable (Sky Lake)

u-9tb1

224

9216

41

2.1

0

0.36562

Intel Xeon Scalable (Sky Lake) (us-east-1)

u-12tb1

224

12,288

55

2.1

0

0.4875

Intel Xeon Scalable (Sky Lake)

u-18tb1

224

18,432

82

2.1

0

0.73125

Intel Xeon Scalable (Sky Lake) (us-east-1)

u-24tb1

224

24,576

110

2.1

0

0.9750

Intel Xeon Scalable (Sky Lake) (us-east-1)

Compute Optimized

c7g

64

128

2

2.6

0

0.0361

AWS Graviton 3

c7gd

64

128

2

2.6

2x1900

0.0454

AWS Graviton 3

c7gn

64

128

2

2.6

0

0.0624

AWS Graviton 3

c7a

96

384

4

3.7

0

0.10264

AMD EPYC 9R14 (Genoa)

c7i

96

384

4

3.2

0

0.08925

Intel Xeon 8488 (Sapphire Rapids)

General Purpose

m7g

64

256

4

2.6

0

0.0408

AWS Graviton 3

m7gd

64

256

4

2.6

2x1900

0.0534

AWS Graviton 3

m7a

96

768

8

3.7

0

0.11592

AMD EPYC 9R14 (Genoa)

m7i

96

512

8

3.2

0

0.1008

Intel Xeon 8488 (Sapphire Rapids)

HPC Optimized

hpc7g

64

128

2

2.6

0

AWS Graviton 3E

hpc7a

96

768

8

3.6

0

0.0750

AMD EPYC 9R14 (Genoa)

hpc6id

32

1024

32

3.5

4x3800

0.1781

Intel Xeon Scalable (Ice Lake)

Burstable - for VDI and Interactive Work

t4g

8

32

4

2.5

0

0.0336

AWS Graviton 2

t3a

4

32

8

2.5

0

0.0752

AMD EPYC 7571

t3

4

32

8

3.1

0

0.0832

Intel Skylake 8175M or Cascade Lake 8259CL

Previous Generation Instance Types

These are older generation instance types that might be used to get additional capacity if the latest instance types have insufficient capacity.

Instance Family Max Cores Max Memory (GB) GB/Core Max Freq (GHz) Max SSD $/Core* CPU Type

Memory Optimized - for memory limited applications

r6g

64

512

8

2.5

0

0.0504

AWS Graviton 2

r6gd

64

512

8

2.5

2x1900

0.0576

AWS Graviton 2

r6a

64

1024

16

3.6

0

0.1134

AMD EPYC 7R13 (Milan)

Compute Optimized

c6g

64

128

2

2.5

0

0.0340

AWS Graviton 2

c6a

96

384

4

3.6

0

0.0765

AMD EPYC 7R13 (Milan)

c6i

64

256

4

3.5

0

0.0850

Intel Xeon 8375C Ice Lake

c6id

64

256

4

3.5

4x1900

0.1008

Intel Xeon 8375C Ice Lake

General Purpose

m6g

64

256

4

2.5

0

0.0385

AWS Graviton 2

m6gd

64

256

4

2.5

2x1900

0.0452

AWS Graviton 2

m6a

96

768

8

3.6

0

0.0864

AMD EPYC 7R13 (Milan)

m6i

64

512

8

3.5

0

0.0960

Intel Xeon 8375C Ice Lake

m6id

64

512

8

3.5

4x1900

0.11865

Intel Xeon 8375C Ice Lake

HPC Optimized

hpc6a

48

384

8

3.6

0

0.0600

AMD EPYC 7R13 (Milan)