Skip to content

Commit

Permalink
Merge pull request #1435 from jasonrandrews/review
Browse files Browse the repository at this point in the history
spelling updates
  • Loading branch information
jasonrandrews authored Dec 13, 2024
2 parents 7eeef96 + 3a8fa51 commit ba70736
Show file tree
Hide file tree
Showing 10 changed files with 65 additions and 22 deletions.
42 changes: 41 additions & 1 deletion .wordlist.txt
Original file line number Diff line number Diff line change
Expand Up @@ -3380,4 +3380,44 @@ wiseeye
wlcsp
xB
xmodem
yolov
yolov
Dsouza
FGCT
GCT
GCs
GC’s
HNso
HeapRegionSize
HugePages
InitiatingHeapOccupancyPercent
JDKs
JVMs
LZMA
Lau
LuaJIT
NGFW
ParallelGCThreads
Preema
Roesch
Sourcefire
TPACKET
WebGPU’s
Whitepaper
YGCT
axion
callstack
et
gc
grubfile
jstat
mqF
netresec
parallelizing
profileable
profilers
ruleset
snortrules
techmahindra
unreferenced
uptime
wC
10 changes: 5 additions & 5 deletions content/learning-paths/laptops-and-desktops/_index.md
Original file line number Diff line number Diff line change
Expand Up @@ -13,12 +13,12 @@ operatingsystems_filter:
- ChromeOS: 1
- Linux: 29
- macOS: 7
- Windows: 37
- Windows: 38
subjects_filter:
- CI-CD: 3
- Containers and Virtualization: 6
- Migration to Arm: 26
- Performance and Architecture: 20
- Performance and Architecture: 21
subtitle: Create and migrate apps for power efficient performance
title: Laptops and Desktops
tools_software_languages_filter:
Expand Down Expand Up @@ -57,8 +57,8 @@ tools_software_languages_filter:
- Neovim: 1
- Node.js: 3
- OpenCV: 1
- perf: 2
- Python: 2
- perf: 3
- Python: 3
- Qt: 2
- Remote.It: 1
- RME: 1
Expand All @@ -73,7 +73,7 @@ tools_software_languages_filter:
- Windows Performance Analyzer: 1
- Windows Presentation Foundation: 1
- Windows Sandbox: 1
- WindowsPerf: 3
- WindowsPerf: 4
- WinUI 3: 1
- WSL: 1
- Xamarin Forms: 1
Expand Down
21 changes: 12 additions & 9 deletions content/learning-paths/servers-and-cloud-computing/_index.md
Original file line number Diff line number Diff line change
Expand Up @@ -9,9 +9,9 @@ maintopic: true
operatingsystems_filter:
- Android: 2
- Baremetal: 1
- Linux: 109
- Linux: 111
- macOS: 9
- Windows: 12
- Windows: 13
pinned_modules:
- module:
name: Recommended getting started learning paths
Expand All @@ -22,9 +22,9 @@ subjects_filter:
- CI-CD: 4
- Containers and Virtualization: 25
- Databases: 15
- Libraries: 6
- Libraries: 7
- ML: 14
- Performance and Architecture: 38
- Performance and Architecture: 40
- Storage: 1
- Web: 10
subtitle: Optimize cloud native apps on Arm for performance and cost
Expand All @@ -44,9 +44,10 @@ tools_software_languages_filter:
- Assembly: 4
- assembly: 1
- AWS CodeBuild: 1
- AWS EC2: 1
- AWS EC2: 2
- AWS Elastic Container Service (ECS): 1
- AWS Elastic Kubernetes Service (EKS): 2
- Bash: 1
- Bastion: 3
- BOLT: 1
- bpftool: 1
Expand All @@ -69,7 +70,7 @@ tools_software_languages_filter:
- Flink: 1
- Fortran: 1
- FVP: 3
- GCC: 18
- GCC: 19
- gdb: 1
- Geekbench: 1
- GenAI: 5
Expand All @@ -83,7 +84,7 @@ tools_software_languages_filter:
- InnoDB: 1
- Intrinsics: 1
- JAVA: 1
- Java: 1
- Java: 2
- JAX: 1
- Kafka: 1
- Keras: 1
Expand All @@ -105,9 +106,9 @@ tools_software_languages_filter:
- Nginx: 3
- Node.js: 3
- PAPI: 1
- perf: 3
- perf: 4
- PostgreSQL: 4
- Python: 12
- Python: 13
- PyTorch: 5
- RAG: 1
- Redis: 3
Expand All @@ -116,6 +117,7 @@ tools_software_languages_filter:
- Rust: 2
- snappy: 1
- Snort: 1
- Snort3: 1
- SQL: 7
- Streamline CLI: 1
- Supervisor: 1
Expand All @@ -130,6 +132,7 @@ tools_software_languages_filter:
- TypeScript: 1
- Vectorscan: 1
- Visual Studio Code: 3
- WindowsPerf: 1
- WordPress: 3
- x265: 1
- zlib: 1
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -44,7 +44,7 @@ As described in the previous section, the performance improvement from moving to

### Add Garbage Collector Targets

You can manually provide targets for specific metrics and the GC will attempt to meet those requirements. For example, if you have a time-sensitive application such as a REST server, you might want to ensure that all customers receive a response within a specific time. You might find that if a client request is sent during Garbage Collection that you need to ensure that the GC pause time is minimised.
You can manually provide targets for specific metrics and the GC will attempt to meet those requirements. For example, if you have a time-sensitive application such as a REST server, you might want to ensure that all customers receive a response within a specific time. You might find that if a client request is sent during Garbage Collection that you need to ensure that the GC pause time is minimized.

Running the command with the `-XX:MaxGCPauseMillis=<N>` sets a target max GC pause time:

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -26,7 +26,7 @@ Once the old generation is full, a full GC pause blocks all application threads

### Garbage First Garbage Collector (G1GC)

From JDK Version 11, the G1GC is the default Garbage Collector. G1 Garbage Collector (GC) works by dividing the heap into discrete regions, typically around 2,048 by default. These regions can be part of either the old or new generation and do not need to be contiguous. The purpose of having regions in the old generation is to allow concurrent background threads to identify and target regions with a higher concentration of unreferenced objects. The trade-off of using concurrent threads is at the expense of slightly higher CPU utilisation. G1GC is most effective when there is at least 20% unutilised CPU headroom.
From JDK Version 11, the G1GC is the default Garbage Collector. G1 Garbage Collector (GC) works by dividing the heap into discrete regions, typically around 2,048 by default. These regions can be part of either the old or new generation and do not need to be contiguous. The purpose of having regions in the old generation is to allow concurrent background threads to identify and target regions with a higher concentration of unreferenced objects. The trade-off of using concurrent threads is at the expense of slightly higher CPU utilization. G1GC is most effective when there is at least 20% unutilized CPU headroom.

Although collecting a region still necessitates pausing application threads, G1GC can prioritize regions with the most garbage, thereby minimizing the time spent on garbage collection. The result is that the pause times for full GC pauses is less compared to the throughput collector. Figure 2 illustrates how the G1GC is divided into discrete chunks and how memory is freed.

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -28,7 +28,7 @@ In JDK8, to observe how the JVM resizes an application, set the `-XX:+PrintAdapt

### Is your GC NUMA aware?

Non-Uniform Memory Architecture (NUMA) occurs when the memory performance varies depending on which core the application is running on and where the data is located in memory. This is a common occurrence if you are using a system with multiple sockets, where you need to ensure that the GC is aware of this to optimise memory access patterns. You can use the `numactl` command line tool to check if your system is of Non-Uniform Memory Architecture.
Non-Uniform Memory Architecture (NUMA) occurs when the memory performance varies depending on which core the application is running on and where the data is located in memory. This is a common occurrence if you are using a system with multiple sockets, where you need to ensure that the GC is aware of this to optimize memory access patterns. You can use the `numactl` command line tool to check if your system is of Non-Uniform Memory Architecture.

You can install `numactl` with your distribution's package manager. For example, on Ubuntu, you can run `sudo apt-get install numactl`.

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -23,7 +23,7 @@ OpenJDK Runtime Environment Corretto-21.0.4.7.1 (build 21.0.4+7-LTS)
OpenJDK 64-Bit Server VM Corretto-21.0.4.7.1 (build 21.0.4+7-LTS, mixed mode, sharing)
```

If the `java` command is not recognised, you can follow the [Arm Java install guide](/install-guides/java/) to install Java on your system.
If the `java` command is not recognized, you can follow the [Arm Java install guide](/install-guides/java/) to install Java on your system.

### Identify available Garbage Collectors

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -88,7 +88,7 @@ installPackages()
sudo apt-get update
sudo apt-get install -y $LIST_OF_APPS

# required to get optimised result from Snort3
# required to get optimized result from Snort3
downlaodPackages
mkdir -p ${ROOT_DIR}/snort3
tar -xzf 3.3.5.0.tar.gz --directory ${ROOT_DIR}/snort3 --strip-components=1
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -252,7 +252,7 @@ For testing, you can use `--daq dump` to analyze PCAP files.
## Spawn Snort3 process with multithreading
To run Snort3 with multithread start from the `Test` directory.
To run Snort3 with multithreading start from the `Test` directory.
```bash
cd $HOME/build/Test
Expand Down
2 changes: 1 addition & 1 deletion content/learning-paths/smartphones-and-mobile/_index.md
Original file line number Diff line number Diff line change
Expand Up @@ -47,6 +47,7 @@ tools_software_languages_filter:
- GoogleTest: 1
- Java: 4
- Kotlin: 4
- LiteRT: 1
- llvm-mca: 1
- MediaPipe: 1
- Memory Bug Report: 1
Expand All @@ -61,7 +62,6 @@ tools_software_languages_filter:
- Rust: 2
- SDDiskTool: 1
- SVE2: 1
- tflite: 1
- Total Compute: 1
- Trusted Firmware: 1
- Unity: 6
Expand Down

0 comments on commit ba70736

Please sign in to comment.