Skip to content

Commit 8793615

Browse files
Merge pull request #2827 from DougAnsonAustinTX/tinkerblox-techreview-3
Tinkerblox techreview 2 plus Copilot Updates
2 parents 61bfd69 + 8600ee5 commit 8793615

7 files changed

Lines changed: 88 additions & 91 deletions

File tree

content/learning-paths/automotive/tinkerblox_ultraedge/_index.md

Lines changed: 4 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -5,17 +5,15 @@ draft: true
55
cascade:
66
draft: true
77

8-
minutes_to_complete: 60
8+
minutes_to_complete: 60
99

1010
who_is_this_for: Business teams targeting lower TCO of computing infrastructure through higher utilization of CPU and/or CPU-GPU install bases. R&D and Engineering teams looking for most efficient use of CPU/CPU-GPU infrastructure. Innovation teams looking to maximize edge resources to host new-age AI on constrained environments. Development teams looking at alternative packaging tech – run-time environments to build next generation workloads.
1111

1212
learning_objectives:
13-
- Understand the layered architecture of UltraEdge **core**, **boost**, and **prime**.
13+
- Understand the layered architecture of UltraEdge **core**, **boost**, and **prime**
1414
- Build applications using the **UltraEdge MicroStack**
15-
- Deploy the MicroPacs on **Linux-based compute systems** and scale to
16-
cloud or data-centre environments.
17-
- Optimize performance for **edge-cloud scenarios**, enabling near
18-
real-time data flows.
15+
- Deploy the MicroPacs on **Linux-based compute systems** and scale to cloud or data-center environments
16+
- Optimize performance for **edge-cloud scenarios**, enabling near real-time data flows
1917

2018

2119
prerequisites:

content/learning-paths/automotive/tinkerblox_ultraedge/_next-steps.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,5 +4,5 @@
44
# ================================================================================
55
weight: 21 # Set to always be larger than the content in this path to be at the end of the navigation.
66
title: "Next Steps" # Always the same, html page title.
7-
layout: "learningpathall" # All files under learning paths have this same wrapper for Hugo processing.
7+
layout: "learningpathall" # All files under learning paths have this same wrapper for Hugo processing.
88
---

content/learning-paths/automotive/tinkerblox_ultraedge/background.md

Lines changed: 9 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,7 @@ UltraEdge is an edge-native, high-performance execution fabric designed to run A
1212

1313
UltraEdge takes a fundamentally different approach. It replaces heavyweight container runtimes with a lean, deterministic execution stack purpose-built for performance-oriented compute. This enables millisecond-level startup times, predictable performance, and a dramatically smaller resource footprint—allowing workloads to start faster, run closer to the hardware, and make full use of available CPU and GPU resources.
1414

15-
At the core of UltraEdge are two specialized execution systems:
15+
At the core of UltraEdge are two specialized execution systems:
1616

1717
· **MicroStack**, optimized for enterprise and mixed workloads
1818

@@ -22,7 +22,7 @@ Together, these systems deliver up to **30× faster startup times** and **3.8×
2222

2323
This learning path introduces the architecture, principles, and components that make UltraEdge a high-performance execution fabric for modern edge infrastructure.
2424

25-
### Ultraedge Overview
25+
### Ultraedge overview
2626

2727
UltraEdge was built with the vision of **orchestrating the edge-native execution fabric for high-performance compute infrastructure**
2828

@@ -60,40 +60,40 @@ Provides control-plane visibility, diagnostics, and telemetry for operational in
6060

6161
Demonstrable reduction in CPU/GPU cluster costs through faster startup, higher utilization, and reduced runtime overhead.
6262

63-
### UltraEdge High-Level Architecture
63+
### UltraEdge high-level architecture
6464

6565
UltraEdge is composed of layered systems, each responsible for a distinct aspect of execution and orchestration:
6666

6767
![High-level Architecture diagram](https://raw.githubusercontent.com/Tinkerbloxsupport/arm-learning-path-support/main/static/images/High-level%20architecture%20diagram.png)
6868

6969
---
7070

71-
#### 1. UltraEdge Core Layer
71+
#### UltraEdge Core Layer
7272
*Manages the foundational execution fabric, including:*
7373
* Compute infrastructure management
7474
* Service orchestration and lifecycle management
7575
* Rule-engine orchestration
7676
* Data-flow management across workloads
7777

78-
#### 2. UltraEdge Boost Layer
78+
#### UltraEdge Boost Layer
7979
*Provides performance-critical acceleration, including:*
8080
* Low-level optimized routines
8181
* FFI (Foreign Function Interface) integrations
8282
* Dynamic connectors and southbound protocol adapters
8383

84-
#### 3. UltraEdge Prime Layer
84+
#### UltraEdge Prime Layer
8585
*Implements workload intelligence and orchestration logic, including:*
8686
* Business logic execution
8787
* Trigger and activation sequences
8888
* AI and mixed workload coordination
8989

90-
#### 4. UltraEdge Dock
90+
#### UltraEdge Dock
9191
*Provides workload and cluster orchestration through:*
9292
* Kubernetes-based stacks
9393
* Slurm-based scheduling environments
9494

95-
#### 5. UltraEdge Edge-Cloud Connect Layer
95+
#### UltraEdge Edge-Cloud Connect Layer
9696
*Enables data movement and observability, including:*
97-
* Data streaming to databases (e.g., InfluxDB, SQLite)
97+
* Data streaming to databases (for example, InfluxDB, SQLite)
9898
* Diagnostics, logging, and telemetry outputs
9999

content/learning-paths/automotive/tinkerblox_ultraedge/debian_installation.md

Lines changed: 24 additions & 24 deletions
Original file line numberDiff line numberDiff line change
@@ -6,13 +6,13 @@ weight: 5
66
layout: "learningpathall"
77
---
88

9-
### Installation Process for UltraEdge on Ubuntu/Debian
9+
### Installation process for UltraEdge on Ubuntu/Debian
1010

1111
Follow these steps to initialize and register your device within the **Uncloud** ecosystem:
1212

1313
1. **Access the Platform:**
1414

15-
Navigate to the [Uncloud Dashboard](https://dev.tinkerblox.io/) and log in with your credentials.
15+
Navigate to the [Uncloud Dashboard](https://dev.tinkerblox.io/) and log in with your credentials.
1616

1717
2. **Provision a New Device:**
1818
* Go to **Device Management** > **New Device**.
@@ -25,17 +25,17 @@ Follow these steps to initialize and register your device within the **Uncloud**
2525

2626
![Initialize Device](https://raw.githubusercontent.com/Tinkerbloxsupport/arm-learning-path-support/main/static/images/Initialize%20.png)
2727

28-
3. **Install some prerequsiites:**
28+
3. **Install prerequisites:**
2929

30-
* First install some prerequisites:
30+
Install the required prerequisites:
3131

3232
```bash
3333
sudo apt update
3434
sudo apt install -y curl jq
3535
```
3636

3737

38-
4. **Retrieve Installation Command Details:**
38+
4. **Retrieve installation command details:**
3939

4040
* Copy the generated device installation command or details from the **Uncloud** portal to your clipboard.
4141

@@ -49,7 +49,7 @@ sudo DEVICE_ID="5b3ff290-0c88-4cd9-8ef7-08de0bded9df" KEY="TB.ApiKey-mlBZgDFc7qy
4949

5050
Run your specific installer command in your Ubuntu/Debian SSH shell and initialize the agent to install UltraEdge.
5151

52-
### Activation of the UltraEdge Agent
52+
### Activation of the UltraEdge agent
5353

5454
On the first boot, the agent will automatically generate a file named
5555
`activation_key.json` at the path:
@@ -74,7 +74,7 @@ receive license key (which includes license metadata).
7474
sudo systemctl start tbx-agent.service
7575
```
7676

77-
### Manual Running
77+
### Manual running
7878

7979
- Binary path: `/bin/tbx-agent`
8080

@@ -87,37 +87,37 @@ receive license key (which includes license metadata).
8787
- To stop, press <span class="kbd">Ctrl</span> +
8888
<span class="kbd">C</span> once.
8989

90-
## MicroPac Installation
90+
## MicroPac installation
9191

9292
MicroPac is the core tooling used to build and manage **MicroStack** (general microservices) and **NeuroStack** (AI-native services).
9393

94-
* **Platform Agnostic:** MicroPac is not restricted to a specific operating system; it is fully compatible with both **Debian** and **Yocto** environments, providing a consistent execution layer across different Linux distributions.
94+
* Platform agnostic: MicroPac is not restricted to a specific operating system; it is fully compatible with both **Debian** and **Yocto** environments, providing a consistent execution layer across different Linux distributions.
9595

96-
* **Build System:** To create a service, the system utilizes a **MicroPacFile** (the declarative configuration) and the **MicroPac Builder** (the high-performance packaging engine).
96+
* Build system: To create a service, the system utilizes a **MicroPacFile** (the declarative configuration) and the **MicroPac Builder** (the high-performance packaging engine).
9797

98-
* **Validation:** The ecosystem includes a **MicroPac Validator**, which verifies the integrity and security of the package created by the builder to ensure it is ready for edge deployment.
98+
* Validation: The ecosystem includes a **MicroPac Validator**, which verifies the integrity and security of the package created by the builder to ensure it is ready for edge deployment.
9999

100-
#### System Requirements
100+
#### System requirements
101101

102102
- Linux host (aarch64)
103103
- Sudo permissions
104104
- Overlay filesystem support
105105
- Internet connection
106106

107-
#### Required Packages
107+
#### Required packages
108108

109109
```bash
110110
sudo apt-get update
111111
sudo apt-get install -y tar curl qemu-user-static binfmt-support
112112
```
113113

114-
### Cross-Architecture Support
114+
### Cross-architecture support
115115

116116
The **MicroPacFile** is the central declarative configuration used by the builder to define the environment and behavior of your service. This configuration is essential for orchestrating both **MicroStack** (general microservices) and **NeuroStack** (AI/ML) services.
117117

118-
* **Multi-Language Support:** You can configure MicroPacFiles for applications written in **Python, C, and C++**, making it highly versatile for both high-level AI workloads and low-level embedded system tasks.
118+
* Multi-language support: You can configure MicroPacFiles for applications written in **Python, C, and C++**, making it highly versatile for both high-level AI workloads and low-level embedded system tasks.
119119

120-
* **Unified Workloads:** It bridges the gap between complex ML models and resource-constrained embedded software, ensuring consistent execution across diverse hardware.
120+
* Unified workloads: It bridges the gap between complex ML models and resource-constrained embedded software, ensuring consistent execution across diverse hardware.
121121

122122

123123
To build MicroPac for different architectures:
@@ -137,9 +137,9 @@ To build MicroPac for different architectures:
137137
sudo apt install ./<package_name>.deb
138138
```
139139

140-
### MicroPac File Schema file creation/setup
140+
### MicroPac file schema file creation/setup
141141

142-
#### File Placement
142+
#### File placement
143143
For the MicroPac Builder to function correctly, the **MicroPacFile** must be placed in the root directory alongside your source code and dependency files.
144144

145145

@@ -158,7 +158,7 @@ video_cv/
158158

159159
Place a `MicroPacFile` in your project directory as mentioned in above example.
160160

161-
```console
161+
```yaml
162162
name: nginx
163163
version: 1.0.0.0
164164
target: aarch64
@@ -196,9 +196,9 @@ Place a `MicroPacFile` in your project directory as mentioned in above example.
196196
mode: host
197197
name: nginx-net
198198
```
199-
### Configuration Fields
199+
### Configuration fields
200200
201-
#### Required Fields
201+
#### Required fields
202202
203203
- **name**: Application name (≤ 10 characters)
204204
- **version**: Application version
@@ -208,7 +208,7 @@ Place a `MicroPacFile` in your project directory as mentioned in above example.
208208
- **entry**: Entry point command
209209
- **mode**: single-run
210210
211-
#### Optional Fields
211+
#### Optional fields
212212
213213
- **env**: Environment variable
214214
- **buildSteps**: Array of build instructions
@@ -218,7 +218,7 @@ Place a `MicroPacFile` in your project directory as mentioned in above example.
218218
- **createdBy**: maintainer of the application
219219
- **description**: description of the application
220220
221-
### Building the MicroPac
221+
### Build the MicroPac
222222
223223
Navigate to your project directory and execute:
224224
@@ -228,7 +228,7 @@ Navigate to your project directory and execute:
228228

229229
This generates a file named `<project_name>.mpac`.
230230

231-
### Verifying the Micropac Setup
231+
### Verify the Micropac setup
232232

233233
To confirm that the Micropac has been generated properly, follow these steps:
234234

content/learning-paths/automotive/tinkerblox_ultraedge/instance.md

Lines changed: 8 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -8,10 +8,10 @@ layout: learningpathall
88

99
## Overview
1010

11-
In this section, you provision a Google Axion C4A virtual machine on Google Cloud Platform (GCP) using the `c4a-standard-32` machine type, which provides 16 vCPUs and 128 GB of memory. This size image will be used in the next steps to build our YOCTO based image.
11+
In this section, you provision a Google Axion C4A virtual machine on Google Cloud Platform (GCP) using the `c4a-standard-32` machine type, which provides 16 vCPUs and 128 GB of memory. This VM size is required for building a Yocto-based image in the next steps.
1212

1313
{{% notice Note %}}
14-
For general guidance on setting up a Google Cloud account and project, see the Learning Path [Getting started with Google Cloud Platform](/learning-paths/servers-and-cloud-computing/csp/google/).
14+
For general guidance on setting up a Google Cloud account and project, see the Learning Path [Getting started with Google Cloud Platform](/learning-paths/servers-and-cloud-computing/csp/google/).
1515
{{% /notice %}}
1616

1717
## Provision a Google Axion C4A VM in the Google Cloud Console
@@ -25,30 +25,30 @@ To create a virtual machine using the C4A instance type:
2525
- Set **Series** to **C4A**.
2626
- Select **c4a-standard-32** as the machine type.
2727

28-
![Google Cloud Console VM creation page with the C4A machine series selected and the c4a-standard-32 machine type highlighted alt-text#center](images/gcp-vm.png "Creating a Google Axion C4A virtual machine in the Google Cloud Console")
28+
![Google Cloud Console VM creation page with the C4A machine series selected and the c4a-standard-32 machine type highlighted#center](images/gcp-vm.png "Creating a Google Axion C4A virtual machine in the Google Cloud Console")
2929

3030
- Under **OS and storage**, select **Change**, and then choose an Arm64-based operating system image.
3131
- For this Learning Path, select **Ubuntu 22.04 LTS**.
3232
- Increase **Size (GB)** from **10** to **100** to allocate sufficient disk space.
3333
- Select **Choose** to apply the changes.
3434

35-
![Selecting Ubuntu LTS 22.04 with 100GB disk space highlighted alt-text#center](images/gcp-ubuntu.png "Selecting Ubuntu 22.04 LTS with 100GB disk space")
35+
![Selecting Ubuntu LTS 22.04 with 100GB disk space highlighted#center](images/gcp-ubuntu.png "Selecting Ubuntu 22.04 LTS with 100GB disk space")
3636

3737
- Under **Networking**, enable **Allow HTTP traffic** and **Allow HTTPS traffic** to simplify access for later Kubernetes testing.
3838
- Select **Create** to launch the virtual machine.
3939

40-
![Configuring the required networking settings alt-text#center](images/gcp-network.png "Configuring the VM network")
40+
![Configuring the required networking settings#center](images/gcp-network.png "Configuring the VM network")
4141

4242
After the instance starts, click **SSH** next to the VM in the instance list to open a browser-based terminal session.
4343

44-
![Google Cloud Console VM instances list with the SSH button highlighted for a running C4A instance alt-text#center](images/gcp-ssh.png "Connecting to a running C4A virtual machine using SSH")
44+
![Google Cloud Console VM instances list with the SSH button highlighted for a running C4A instance#center](images/gcp-ssh.png "Connecting to a running C4A virtual machine using SSH")
4545

4646
A new browser window opens with a terminal connected to your virtual machine.
4747

48-
![Browser-based terminal window showing a command prompt on a SUSE Linux VM running on Google Axion C4A alt-text#center](images/gcp-shell.png "Terminal session connected to the virtual machine")
48+
![Browser-based terminal window showing a command prompt on an Ubuntu Linux VM running on Google Axion C4A#center](images/gcp-shell.png "Terminal session connected to the virtual machine")
4949

5050
{{% notice Note %}}
5151
This is a rather expensive VM given its vCPU and memory usage. It is highly recommended to delete this VM once you have completed this learning path!
5252
{{% /notice %}}
5353

54-
Next, lets build our Yocto image on this VM instance.
54+
Next, build the Yocto image on this VM instance.

content/learning-paths/automotive/tinkerblox_ultraedge/running.md

Lines changed: 10 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,7 @@ To practice the commands below, install and run a sample microservice on your de
1313

1414
https://github.com/Tinkerbloxsupport/arm-learning-path-support/blob/main/static/Sample_ms/dte_nn.mpac
1515

16-
### Tinkerblox CLI Usage Guide
16+
### Tinkerblox CLI usage guide
1717

1818
Tinkerblox Command Line Interface for managing the Edge Agent and
1919
microservices.
@@ -35,23 +35,23 @@ microservices.
3535

3636
### Usage
3737

38-
#### Check CLI Connection Status
38+
#### Check CLI connection status
3939

4040
```bash
4141
sudo tinkerblox-cli status
4242
```
4343

4444
*Displays whether the CLI is connected to the Edge Agent.*
4545

46-
#### Microservice Management
46+
#### Microservice management
4747

48-
Manage microservices running on the Edge platform.
48+
Manage microservices running on the Edge platform.
4949

5050
**Syntax:**
5151

5252
sudo tinkerblox-cli microboost <command> [options]
5353

54-
##### Available Commands
54+
##### Available commands
5555

5656
* **install**
5757
Installs a microservice. You must provide the path to the MPAC file as an argument.
@@ -83,7 +83,7 @@ Manage microservices running on the Edge platform.
8383

8484
sudo tinkerblox-cli microboost uninstall <id>
8585

86-
#### Diagnostics Management
86+
#### Diagnostics management
8787

8888
Run diagnostics on the Edge platform.
8989

@@ -115,21 +115,21 @@ Run diagnostics on the Edge platform.
115115

116116
The following sections describe common errors you may encounter while running CLI commands or deploying microservices, along with guidance on how to resolve them. These are general errors and are not limited to any specific scenario; they may occur while executing commands or managing the system.
117117

118-
**Permission Denied**
118+
Permission denied
119119

120120
- Ensure `sudo` privileges.
121121
- Check directory ownership and permissions.
122122
- Verify overlay filesystem support.
123123

124-
**Directory Creation Failed**
124+
Directory creation failed
125125

126126
- Check disk space.
127127
- Verify parent directory permissions.
128128
- Ensure the path is valid.
129129

130-
**Cross-Architecture Build Issues**
130+
Cross-architecture build issues
131131

132-
Cross-architecture issues typically occur when binaries are built for a different CPU architecture than the host system.They are not related to yocto build issue.
132+
Cross-architecture issues typically occur when binaries are built for a different CPU architecture than the host system. They are not related to yocto build issues.
133133

134134
- Verify QEMU installation:
135135

0 commit comments

Comments
 (0)