diff --git a/.wordlist.txt b/.wordlist.txt index 12f6888c8..10571ce17 100644 --- a/.wordlist.txt +++ b/.wordlist.txt @@ -3380,4 +3380,44 @@ wiseeye wlcsp xB xmodem -yolov \ No newline at end of file +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 \ No newline at end of file diff --git a/content/learning-paths/laptops-and-desktops/_index.md b/content/learning-paths/laptops-and-desktops/_index.md index 857b0f965..2053f4494 100644 --- a/content/learning-paths/laptops-and-desktops/_index.md +++ b/content/learning-paths/laptops-and-desktops/_index.md @@ -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: @@ -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 @@ -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 diff --git a/content/learning-paths/servers-and-cloud-computing/_index.md b/content/learning-paths/servers-and-cloud-computing/_index.md index 867377bee..bece087d1 100644 --- a/content/learning-paths/servers-and-cloud-computing/_index.md +++ b/content/learning-paths/servers-and-cloud-computing/_index.md @@ -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 @@ -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 @@ -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 @@ -69,7 +70,7 @@ tools_software_languages_filter: - Flink: 1 - Fortran: 1 - FVP: 3 -- GCC: 18 +- GCC: 19 - gdb: 1 - Geekbench: 1 - GenAI: 5 @@ -83,7 +84,7 @@ tools_software_languages_filter: - InnoDB: 1 - Intrinsics: 1 - JAVA: 1 -- Java: 1 +- Java: 2 - JAX: 1 - Kafka: 1 - Keras: 1 @@ -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 @@ -116,6 +117,7 @@ tools_software_languages_filter: - Rust: 2 - snappy: 1 - Snort: 1 +- Snort3: 1 - SQL: 7 - Streamline CLI: 1 - Supervisor: 1 @@ -130,6 +132,7 @@ tools_software_languages_filter: - TypeScript: 1 - Vectorscan: 1 - Visual Studio Code: 3 +- WindowsPerf: 1 - WordPress: 3 - x265: 1 - zlib: 1 diff --git a/content/learning-paths/servers-and-cloud-computing/java-gc-tuning/Tuning Parameters.md b/content/learning-paths/servers-and-cloud-computing/java-gc-tuning/Tuning Parameters.md index 9d5c8ad2e..f6900c185 100644 --- a/content/learning-paths/servers-and-cloud-computing/java-gc-tuning/Tuning Parameters.md +++ b/content/learning-paths/servers-and-cloud-computing/java-gc-tuning/Tuning Parameters.md @@ -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=` sets a target max GC pause time: diff --git a/content/learning-paths/servers-and-cloud-computing/java-gc-tuning/different_gcs.md b/content/learning-paths/servers-and-cloud-computing/java-gc-tuning/different_gcs.md index 35e9d7b67..39dab8656 100644 --- a/content/learning-paths/servers-and-cloud-computing/java-gc-tuning/different_gcs.md +++ b/content/learning-paths/servers-and-cloud-computing/java-gc-tuning/different_gcs.md @@ -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. diff --git a/content/learning-paths/servers-and-cloud-computing/java-gc-tuning/optional_tuning.md b/content/learning-paths/servers-and-cloud-computing/java-gc-tuning/optional_tuning.md index 4673068a2..f6a8e6aea 100644 --- a/content/learning-paths/servers-and-cloud-computing/java-gc-tuning/optional_tuning.md +++ b/content/learning-paths/servers-and-cloud-computing/java-gc-tuning/optional_tuning.md @@ -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`. diff --git a/content/learning-paths/servers-and-cloud-computing/java-gc-tuning/setup.md b/content/learning-paths/servers-and-cloud-computing/java-gc-tuning/setup.md index 61f9e531e..982693cde 100644 --- a/content/learning-paths/servers-and-cloud-computing/java-gc-tuning/setup.md +++ b/content/learning-paths/servers-and-cloud-computing/java-gc-tuning/setup.md @@ -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 diff --git a/content/learning-paths/servers-and-cloud-computing/snort3-multithreading/build-and-install.md b/content/learning-paths/servers-and-cloud-computing/snort3-multithreading/build-and-install.md index eb67a093f..502f43755 100644 --- a/content/learning-paths/servers-and-cloud-computing/snort3-multithreading/build-and-install.md +++ b/content/learning-paths/servers-and-cloud-computing/snort3-multithreading/build-and-install.md @@ -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 diff --git a/content/learning-paths/servers-and-cloud-computing/snort3-multithreading/usecase.md b/content/learning-paths/servers-and-cloud-computing/snort3-multithreading/usecase.md index a9578446c..8d7507138 100644 --- a/content/learning-paths/servers-and-cloud-computing/snort3-multithreading/usecase.md +++ b/content/learning-paths/servers-and-cloud-computing/snort3-multithreading/usecase.md @@ -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 diff --git a/content/learning-paths/smartphones-and-mobile/_index.md b/content/learning-paths/smartphones-and-mobile/_index.md index 3184b831e..ace5d6e30 100644 --- a/content/learning-paths/smartphones-and-mobile/_index.md +++ b/content/learning-paths/smartphones-and-mobile/_index.md @@ -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 @@ -61,7 +62,6 @@ tools_software_languages_filter: - Rust: 2 - SDDiskTool: 1 - SVE2: 1 -- tflite: 1 - Total Compute: 1 - Trusted Firmware: 1 - Unity: 6