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/flink-on-gcp/background.md
+3-3Lines changed: 3 additions & 3 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -16,10 +16,10 @@ To learn more about Google Axion, refer to the [Introducing Google Axion Process
16
16
17
17
## Apache Flink
18
18
19
-
[Apache Flink](https://flink.apache.org/) is an open-source, distributed **stream and batch data processing framework** developed under the [Apache Software Foundation](https://www.apache.org/).
19
+
[Apache Flink](https://flink.apache.org/) is an open-source, distributed stream and batch data processing framework** developed under the [Apache Software Foundation](https://www.apache.org/).
20
20
21
-
Flink is designed for **high-performance, low-latency, and stateful computations** on both unbounded (streaming) and bounded (batch) data. It provides a robust runtime and APIs in **Java**, **Scala**, and **Python** for building scalable, fault-tolerant data processing pipelines.
21
+
Flink is designed for high-performance, low-latency, and stateful computations on both unbounded (streaming) and bounded (batch) data. It provides a robust runtime and APIs in Java, Scala, and Python for building scalable, fault-tolerant data processing pipelines.
22
22
23
-
Flink is widely used for **real-time analytics**, **event-driven applications**, **data pipelines**, and **machine learning workloads**. It integrates seamlessly with popular systems such as **Apache Kafka**, **Hadoop**, and various **cloud storage services**.
23
+
Flink is widely used for real-time analytics, event-driven applications, data pipelines, and machine learning workloads. It integrates seamlessly with popular systems such as Apache Kafka, Hadoop, and various cloud storage services.
24
24
25
25
To learn more, visit the [Apache Flink official website](https://flink.apache.org/) and explore the [documentation](https://nightlies.apache.org/flink/flink-docs-release-2.1/).
Copy file name to clipboardExpand all lines: content/learning-paths/servers-and-cloud-computing/flink-on-gcp/baseline.md
+17-17Lines changed: 17 additions & 17 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -7,10 +7,11 @@ layout: learningpathall
7
7
---
8
8
9
9
## Apache Flink Baseline Testing on GCP SUSE VM
10
-
This guide explains how to perform **baseline testing** for Apache Flink after installation on a **GCP SUSE VM**. Baseline testing ensures that the Flink cluster is operational, the environment is correctly configured, and basic jobs run successfully.
10
+
In this section you will perform baseline testing for Apache Flink after installation on a GCP SUSE VM. Baseline testing validates that your installation is correct, the JVM is functioning properly, and Flink’s JobManager/TaskManager can execute jobs successfully.
11
+
12
+
### Install Maven (Required to Build and Run Flink Jobs)
13
+
Before running Flink jobs, ensure that Maven is installed on your VM. Many Flink examples and real-world jobs require Apache Maven to compile Java applications.
11
14
12
-
### Download and Extract Maven
13
-
Before running Flink jobs, ensure that **Java** and **Maven** are installed on your VM.
14
15
Download Maven and extract it:
15
16
16
17
```console
@@ -20,8 +21,8 @@ sudo tar -xvzf apache-maven-3.8.6-bin.tar.gz
20
21
sudo mv apache-maven-3.8.6 /opt/maven
21
22
```
22
23
23
-
### Set Environment Variables
24
-
Configure the environment so Maven commands are recognized system-wide:
24
+
### Configure Environment Variables
25
+
Configure the environment so Maven commands can be run system-wide:
Copy file name to clipboardExpand all lines: content/learning-paths/servers-and-cloud-computing/flink-on-gcp/benchmarking.md
+28-26Lines changed: 28 additions & 26 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -8,44 +8,52 @@ layout: learningpathall
8
8
9
9
10
10
## Apache Flink Benchmarking
11
-
This guide provides step-by-step instructions to set up and run **Apache Flink Benchmarks** on a **GCP SUSE VMs**. It covers cloning the repository, building the benchmarks, exploring the JAR, and listing available benchmarks.
11
+
This section walks you through running Apache Flink microbenchmarks on a Google Cloud Axion C4A (Arm64) SUSE VM. You will clone the official Flink-benchmarks repository, build the benchmark suite, explore available tests, and run the Remote Channel Throughput Benchmark, one of the key indicators of Flink’s communication and data-transfer performance.
12
12
13
13
### Clone the Repository
14
-
Start by cloning the official Flink benchmarks repository. This repository contains all the benchmark definitions and example jobs.
14
+
Clone the official Flink microbenchmarks repository:
-**benchmarks.jar**→ The main benchmark JAR file used to run Flink benchmarks.
53
+
benchmarks.jar — Contains all Flink microbenchmarks packaged with JMH.
46
54
47
55
### List Available Benchmarks
48
-
To view all the benchmarks included in the JAR:
56
+
View all benchmarks included in the JAR:
49
57
50
58
```console
51
59
java -jar benchmarks.jar -l
@@ -54,13 +62,15 @@ java -jar benchmarks.jar -l
54
62
- This helps you identify which benchmarks you want to execute on your VM.
55
63
56
64
### Run Selected Benchmarks
57
-
While the Flink benchmarking project includes multiple suites for state backends, windowing, checkpointing, and scheduler performance, this Learning path focuses on the Remote Channel Throughput benchmark to evaluate network and I/O performance.
65
+
While the Flink benchmarking project includes multiple suites for state backends, windowing, checkpointing, and scheduler performance, in this Learning path you will run the Remote Channel Throughput benchmark to evaluate network and I/O performance.
66
+
67
+
**Remote Channel Throughput**: This benchmark measures the data transfer rate between remote channels in Flink, helping to evaluate network and I/O performance.
58
68
59
-
**Remote Channel Throughput**: Measures the data transfer rate between remote channels in Flink, helping to evaluate network and I/O performance.
To compare the benchmark results, the following results were collected by running the same benchmark on a `x86 - c4-standard-4` (4 vCPUs, 15 GB Memory) x86_64 VM in GCP, running SUSE:
88
-
89
-
| Benchmark | Mode | Count | Score (ops/ms) | Error (±) | Min | Max | Stdev | CI (99.9%) | Units |
### Apache Flink performance benchmarking comparison on Arm64 and x86_64
104
+
### Apache Flink performance benchmarking observations on Arm64
105
+
106
+
- Both the ALIGNED mode and DEBLOAT modes demonstrate a strong throughput on the Arm64 VM.
107
+
- The benchmark confirms that the Arm64 architecture efficiently handles Flink's remote channel throughput workloads.
103
108
104
-
- The **ALIGNED mode** achieved an average throughput of **17,445 ops/ms**, demonstrating higher performance on the Arm64 VM.
105
-
- The **DEBLOAT mode** achieved an average throughput of **10,537 ops/ms**, slightly lower due to optimization differences.
106
-
- The benchmark confirms that the **Arm64 architecture** efficiently handles Flink's remote channel throughput workloads.
107
-
- Overall, the average throughput across both modes is approximately **14,854 ops/ms**, indicating strong baseline performance for Arm64 deployments.
109
+
Overall, Arm64 VMs have shown that they are highly suitable for real-time Flink workloads, especially streaming analytics, ETL pipelines, and JVM-based microbenchmarks.
Copy file name to clipboardExpand all lines: content/learning-paths/servers-and-cloud-computing/flink-on-gcp/installation.md
+12-15Lines changed: 12 additions & 15 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -7,11 +7,11 @@ layout: learningpathall
7
7
---
8
8
9
9
## Install Apache Flink on GCP VM
10
-
This guide walks you through installing **Apache Flink** and its required dependencies on a **Google Cloud Platform (GCP) SUSE Arm64 Virtual Machine (VM)**. By the end of this section, you will have a fully configured Flink environment ready for job execution and benchmarking.
10
+
In this section you will install Apache Flink and its required dependencies on a Google Cloud Platform (GCP) SUSE Arm64 Virtual Machine (VM). By the end, you will have a fully configured Flink environment ready for local execution, standalone clusters, or benchmarking Flink workloads on Arm.
11
11
12
12
### Update the System and Install Java
13
-
Before installing Flink, ensure your system packages are up to date and Java is installed.
14
-
13
+
Apache Flink requires a Java runtime (JRE) and development kit (JDK).
This step ensures you have the latest system updates and the Java runtime needed to execute Flink applications.
21
21
22
22
### Download Apache Flink Binary
23
-
Next, download the pre-built binary package for **Apache Flink** from the official Apache mirror.
23
+
Navigate to /opt (a standard location for system-wide tools) and download the official Flink distribution:
24
24
25
25
```console
26
26
cd /opt
@@ -32,45 +32,42 @@ This command retrieves the official Flink binary distribution for installation o
32
32
Flink 2.0.0 introduced Disaggregated State Management architecture, which enables more efficient resource utilization in cloud-native environments, ensuring high-performance real-time processing while minimizing resource overhead.
33
33
You can view [this release note](https://flink.apache.org/2025/03/24/apache-flink-2.0.0-a-new-era-of-real-time-data-processing/)
34
34
35
-
The [Arm Ecosystem Dashboard](https://developer.arm.com/ecosystem-dashboard/) recommends Flink version 2.0.0, the minimum recommended on the Arm platforms.
35
+
For best performance on Arm, the [Arm Ecosystem Dashboard](https://developer.arm.com/ecosystem-dashboard/) recommends using Flink ≥ 2.0.0.
36
36
{{% /notice %}}
37
37
38
38
### Extract the Downloaded Archive
39
-
Extract the downloaded `.tgz`archive to make the Flink files accessible for configuration.
39
+
Untar the archive:
40
40
41
41
```console
42
42
sudo tar -xvzf flink-2.1.1-bin-scala_2.12.tgz
43
43
```
44
44
After extraction, you will have a directory named `flink-2.1.1` under `/opt`.
45
45
46
-
**Rename the extracted directory for convenience:**
47
-
For easier access and management, rename the extracted Flink directory to a simple name like `/opt/flink`.
48
-
46
+
Rename it for convenience:
49
47
```console
50
48
sudo mv flink-2.1.1 /opt/flink
51
49
```
52
-
This makes future references to your Flink installation path simpler and more consistent.
50
+
This makes configuration, upgrades, and scripting easier for your Flink installation.
53
51
54
52
### Configure Environment Variables
55
-
Set the environment variables so the Flink commands are recognized system-wide. This ensures you can run `flink` from any terminal session.
Copy file name to clipboardExpand all lines: content/learning-paths/servers-and-cloud-computing/flink-on-gcp/instance.md
+1-1Lines changed: 1 addition & 1 deletion
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -8,7 +8,7 @@ layout: learningpathall
8
8
9
9
## Overview
10
10
11
-
In this section, you will learn how to provision a Google Axion C4A Arm virtual machine on Google Cloud Platform (GCP) using the `c4a-standard-4` (4 vCPUs, 16 GB memory) machine type in the Google Cloud Console.
11
+
In this section, you will create a Google Axion C4A Arm virtual machine on Google Cloud Platform (GCP) using the `c4a-standard-4` (4 vCPUs, 16 GB memory) machine type in the Google Cloud Console.
12
12
13
13
{{% notice Note %}}
14
14
For support on GCP setup, see the Learning Path [Getting started with Google Cloud Platform](https://learn.arm.com/learning-paths/servers-and-cloud-computing/csp/google/).
0 commit comments