You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: content/learning-paths/servers-and-cloud-computing/rust-on-gcp/_index.md
+2-4Lines changed: 2 additions & 4 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -1,13 +1,11 @@
1
1
---
2
2
title: Deploy Rust on Google Cloud C4A (Arm-based Axion VMs)
3
3
4
-
draft: true
5
-
cascade:
6
-
draft: true
4
+
description: Learn to deploy and benchmark Rust applications on Google Cloud C4A virtual machines powered by Arm-based Axion processors.
7
5
8
6
minutes_to_complete: 30
9
7
10
-
who_is_this_for: This learning path is intended for software developers deploying and optimizing Rust workloads on Linux/Arm64 environments, specifically using Google Cloud C4A virtual machines powered by Axion processors.
8
+
who_is_this_for: This is an introductory topic for developers deploying and optimizing Rust workloads on Linux/Arm64 environments, specifically using Google Cloud C4A virtual machines powered by Axion processors.
11
9
12
10
learning_objectives:
13
11
- Provision an Arm-based SUSE SLES virtual machine on Google Cloud (C4A with Axion processors)
title: Getting started with Rust on Google Axion C4A (Arm Neoverse-V2)
2
+
title: Get started with Rust on Google Axion C4A (Arm Neoverse-V2)
3
3
4
4
weight: 2
5
5
6
6
layout: "learningpathall"
7
7
---
8
8
9
-
## Google Axion C4A Arm instances in Google Cloud
9
+
## Explore Google Axion C4A Arm instances in Google Cloud
10
10
11
11
Google Axion C4A is a family of Arm-based virtual machines built on Google’s custom Axion CPU, which is based on Arm Neoverse-V2 cores. Designed for high-performance and energy-efficient computing, these virtual machines offer strong performance for modern cloud workloads such as CI/CD pipelines, microservices, media processing, and general-purpose applications.
12
12
13
13
The C4A series provides a cost-effective alternative to x86 virtual machines while leveraging the scalability and performance benefits of the Arm architecture in Google Cloud.
14
14
15
-
To learn more about Google Axion, refer to the [Introducing Google Axion Processors, our new Arm-based CPUs](https://cloud.google.com/blog/products/compute/introducing-googles-new-arm-based-cpu) blog.
15
+
To learn more about Google Axion, see the Google blog [Introducing Google Axion Processors, our new Arm-based CPUs](https://cloud.google.com/blog/products/compute/introducing-googles-new-arm-based-cpu).
16
16
17
-
## Rust
17
+
## Explore Rust
18
18
19
19
[Rust](https://www.rust-lang.org/) is a modern, high-performance systems programming language designed for safety, speed, and concurrency. It provides memory safety without garbage collection, making it ideal for building reliable and efficient software.
20
20
21
-
Developed by Mozilla, Rust is widely used in system-level programming, web assembly, embedded systems, and performance-critical applications.
22
-
Its strong type system and ownership model help prevent common bugs like data races and memory leaks.
21
+
Developed by Mozilla, Rust is widely used in system-level programming, web assembly, embedded systems, and performance-critical applications. Its strong type system and ownership model help prevent common bugs like data races and memory leaks.
23
22
24
-
To learn more, visit the [official Rust website](https://www.rust-lang.org/).
23
+
To learn more, visit the [Rust website](https://www.rust-lang.org/).
Copy file name to clipboardExpand all lines: content/learning-paths/servers-and-cloud-computing/rust-on-gcp/baseline.md
+10-6Lines changed: 10 additions & 6 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -1,16 +1,16 @@
1
1
---
2
-
title: Test Rust baseline performance on Google Axion C4A Arm virtual machines
2
+
title: Perform baseline testing
3
3
weight: 5
4
4
5
5
### FIXED, DO NOT MODIFY
6
6
layout: learningpathall
7
7
---
8
8
9
-
## Perform baseline testing
9
+
## Overview
10
10
11
-
You can perform baseline testing of Rust on GCP SUSE aarch64 VMs to verify installation, build functionality, and compilation performance on the Arm-based Axion C4A platform.
11
+
Now that Rust is installed, verify the installation, build functionality, and compilation performance on your Arm-based Axion C4A instance.
12
12
13
-
###Create a sample Rust program
13
+
## Create a sample Rust program
14
14
15
15
Create and build a simple "Hello, World" application to verify that Rust is working correctly:
16
16
@@ -33,9 +33,9 @@ The output is similar to:
33
33
Hello, world!
34
34
```
35
35
36
-
This confirms that Rust and Cargo are properly configured on your aarch64 VM.
36
+
This confirms that Rust and Cargo are properly configured on your Arm64 VM.
37
37
38
-
###Measure compilation performance
38
+
## Measure compilation performance
39
39
40
40
Use the `time` command to measure compilation performance on the Arm64 processor:
41
41
@@ -59,3 +59,7 @@ sys 0m0.071s
59
59
```
60
60
61
61
The timing results show that Rust compilation performs well on the Arm64 architecture, with the "real" time indicating the total elapsed time for the build process.
62
+
63
+
## What you've accomplished and what's next
64
+
65
+
You've successfully verified your Rust installation and measured baseline compilation performance on the C4A instance. In the next section, you'll benchmark Rust code execution using Criterion to measure runtime performance and consistency.
Copy file name to clipboardExpand all lines: content/learning-paths/servers-and-cloud-computing/rust-on-gcp/benchmarking.md
+12-34Lines changed: 12 additions & 34 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -6,11 +6,11 @@ weight: 6
6
6
layout: learningpathall
7
7
---
8
8
9
-
## Benchmark Rust performance
9
+
## Overview
10
10
11
-
This section demonstrates how to benchmark Rust performance using `cargo bench` and the Criterion library to measure code execution speed and performance consistency on aarch64 hardware.
11
+
This section demonstrates how to benchmark Rust performance using `cargo bench` and the Criterion library to measure code execution speed and performance consistency on Arm64 hardware.
12
12
13
-
###Create a benchmark project
13
+
## Create a benchmark project
14
14
15
15
Create a new Rust project specifically for benchmarking:
16
16
@@ -19,9 +19,9 @@ cargo new rust-benchmark
19
19
cd rust-benchmark
20
20
```
21
21
22
-
###Configure Criterion as a dependency
22
+
## Configure Criterion as a dependency
23
23
24
-
Criterion is the recommended benchmarking crate for Rust. Edit the `Cargo.toml` file in your project root directory and replace the existing content with:
24
+
Criterion is the recommended benchmarking crate for Rust. Open the `Cargo.toml` file in your project root directory and replace the existing content with:
25
25
26
26
```toml
27
27
[dependencies]
@@ -34,21 +34,15 @@ harness = false
34
34
35
35
This configuration enables Criterion for high-precision benchmarking and disables the default test harness.
36
36
37
-
###Create the benchmark directory and file
37
+
## Create the benchmark directory and file
38
38
39
39
Create the benchmark structure that Cargo expects:
40
40
41
41
```console
42
42
mkdir benches
43
43
```
44
44
45
-
Create a new benchmark file in the `benches/` directory:
46
-
47
-
```console
48
-
edit benches/my_benchmark.rs
49
-
```
50
-
51
-
Add the following benchmark code to measure Fibonacci number calculation performance:
45
+
Create a new file named `my_benchmark.rs` in the `benches/` directory and add the following benchmark code to measure Fibonacci number calculation performance:
This code implements a recursive Fibonacci function and measures how efficiently Rust computes the 20th Fibonacci number. The `black_box` function prevents the compiler from optimizing away the benchmark.
74
68
75
-
###Run the benchmark
69
+
## Run the benchmark
76
70
77
71
Execute the benchmark using Cargo:
78
72
@@ -92,29 +86,13 @@ Found 1 outliers among 100 measurements (1.00%)
92
86
1 (1.00%) low mild
93
87
```
94
88
95
-
### Benchmark Metrics Explanation
96
-
97
-
-**Average Time:** Mean execution time across benchmark runs.
98
-
-**Outliers:** Represent runs significantly slower or faster than average.
99
-
-**Plotting Backend:** Used `plotters` since Gnuplot was not found.
100
-
- The results show **consistent performance** with only slight variation across 100 measurements.
101
-
102
-
### Understand the results
103
-
104
-
The benchmark output provides several key metrics:
105
-
106
-
-**Average time**: Mean execution time across benchmark runs
107
-
-**Outliers**: Runs significantly slower or faster than average
108
-
-**Plotting backend**: Uses plotters since Gnuplot wasn't found
109
-
110
-
The results show consistent performance with only slight variation across 100 measurements.
111
-
112
-
### Performance summary
89
+
## Performance summary
90
+
The benchmark output provides several key metrics: the average time represents the mean execution time across benchmark runs, outliers identify runs that were significantly slower or faster than average, and the plotting backend indicates that plotters is being used since Gnuplot wasn't found on the system.
113
91
114
-
The following table shows results from running the benchmark on a `c4a-standard-4` (4 vCPU, 16 GB memory) aarch64 VM in GCP using SUSE:
92
+
The following table shows results from running the benchmark on a `c4a-standard-4` (4 vCPU, 16 GB memory) Arm64 VM in GCP using SUSE:
115
93
116
94
| Benchmark | Average Time (µs) | Min (µs) | Max (µs) | Outliers (%) | Remarks |
The Fibonacci benchmark demonstrates consistent performance on the aarch64 platform. The average execution time of 12.028 µs indicates efficient CPU computation, while only 1% of measurements were outliers. This low variance confirms Rust's reliable execution speed and performance stability on aarch64 architecture.
98
+
The Fibonacci benchmark demonstrates consistent performance on the Arm64 platform. The average execution time of 12.028 µs indicates efficient CPU computation, while only 1% of measurements were outliers. This low variance confirms Rust's reliable execution speed and performance stability on Arm64 architecture.
Copy file name to clipboardExpand all lines: content/learning-paths/servers-and-cloud-computing/rust-on-gcp/installation.md
+8-7Lines changed: 8 additions & 7 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -1,3 +1,4 @@
1
+
1
2
---
2
3
title: Install Rust
3
4
weight: 4
@@ -6,11 +7,11 @@ weight: 4
6
7
layout: learningpathall
7
8
---
8
9
9
-
## Install Rust
10
+
## Overview
10
11
11
-
This section explains how to install and configure Rust on a GCP SUSE aarch64 VM, preparing your environment for building and benchmarking Rust applications.
12
+
This section explains how to install and configure Rust on your GCP SUSE Arm64 VM, preparing your environment for building and benchmarking Rust applications.
12
13
13
-
###Update your system
14
+
## Update your system
14
15
15
16
Update the system and install essential build tools required for compiling Rust programs:
When prompted, select option 1 for the default installation. This installs the latest stable version of Rust along with Cargo, Rust's package manager and build system.
34
35
35
-
###Configure your environment
36
+
## Configure your environment
36
37
37
38
Activate Rust's environment variables for your current shell session:
38
39
@@ -42,7 +43,7 @@ source $HOME/.cargo/env
42
43
43
44
This command adds the Rust toolchain to your PATH, making the `rustc` compiler and `cargo` commands available.
44
45
45
-
###Verify the installation
46
+
## Verify the installation
46
47
47
48
Confirm that Rust and Cargo installed successfully by checking their versions:
Copy file name to clipboardExpand all lines: content/learning-paths/servers-and-cloud-computing/rust-on-gcp/instance.md
+8-8Lines changed: 8 additions & 8 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -24,20 +24,20 @@ To create a virtual machine based on the C4A instance type:
24
24
- Set **Series** to `C4A`.
25
25
- Select `c4a-standard-4` for machine type.
26
26
27
-

27
+

28
28
29
29
30
-
- Under **OS and Storage**, select **Change**, then choose an Arm64-based OS image. For this Learning Path, use **SUSE Linux Enterprise Server**.
31
-
- If using use **SUSE Linux Enterprise Server**. Select "Pay As You Go" for the license type.
32
-
- Once appropriately selected, please Click**Select**.
30
+
- Under **OS and Storage**, select **Change**, then choose an Arm64-based OS image. For this Learning Path, use **SUSE Linux Enterprise Server**.
31
+
- If using **SUSE Linux Enterprise Server**, select "Pay As You Go" for the license type.
32
+
- Once appropriately selected, click**Select**.
33
33
- Under **Networking**, enable **Allow HTTP traffic**.
34
34
- Click **Create** to launch the instance.
35
-
- Once created, you should see a "SSH" option to the right in your list of VM instances. Click on this to launch a SSH shell into your VM instance:
35
+
- Once created, you should see a "SSH" option to the right in your list of VM instances. Click on this to launch a SSH shell into your VM instance:
36
36
37
-

37
+

38
38
39
39
- A window from your browser should come up and you should now see a shell into your VM instance:
40
40
41
-

41
+

42
42
43
-
Next, let's install rust!
43
+
You're now ready to install Rust on your C4A instance.
0 commit comments