Skip to content

Commit f35e373

Browse files
updates for tinkerblox
1 parent 64826a1 commit f35e373

17 files changed

Lines changed: 637 additions & 599 deletions

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

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -23,7 +23,7 @@ prerequisites:
2323
- Understanding of **container runtimes** (containerd) and **CNI
2424
networking**.
2525
- Basic knowledge of **communication protocols** (MQTT, HTTP, etc.).
26-
- (Optional but helpful) dFamiliarity with **edge-cloud
26+
- (Optional but helpful) Familiarity with **edge-cloud
2727
architectures** and **data-flow orchestration**.
2828

2929
author: Tinkerblox

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

Lines changed: 84 additions & 40 deletions
Original file line numberDiff line numberDiff line change
@@ -6,50 +6,94 @@ weight: 2
66
layout: "learningpathall"
77
---
88

9-
{{% notice Note %}}
10-
REMOVE ME: Need to review content for Intro/background...
11-
{{% /notice %}}
12-
13-
### Overview
14-
15-
UltraEdge was built with the vision of orchestrating the edge-native
16-
execution fabric for high-performance compute infrastructure
17-
18-
- UltraEdge is a ‘built-for-edge’ adaptive **AI & Mixed Workloads**
19-
execution stack built on the ethos of high performance, high
20-
fungibility & ultra-low footprint
21-
- Developed through strategic alliances with world-renowned technology
22-
powerhouses
23-
- Clear dual focus on Mixed workloads and new-age AI workloads
24-
- Full stack enablement through MicroStack & NeuroStack systems
25-
- Curated for AI@Edge with preferred edge deployment approach by Edge
26-
AI Foundation
27-
- Managed cluster” orchestration through integration with Kube-stack
28-
and/or Slurm
29-
- Observability for control plane, diagnostics & telemetry
30-
- Demonstrable value to customer through lower TCO of CPU-GPU clusters
9+
### Introduction
10+
11+
UltraEdge is an edge-native, high-performance execution fabric designed to run AI and mixed workloads without the overhead of traditional container platforms. While technologies like Docker and Kubernetes were created for general-purpose cloud environments, they introduce latency, resource bloat, and non-deterministic behavior that are poorly suited for edge deployments.
12+
13+
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.
14+
15+
At the core of UltraEdge are two specialized execution systems:
16+
17+
· **MicroStack**, optimized for enterprise and mixed workloads
18+
19+
· **NeuroStack**, purpose-built for AI inference and accelerated compute
20+
21+
Together, these systems deliver up to **30× faster startup times** and **3.8× smaller package sizes** compared to conventional container-based approaches. By removing unnecessary abstraction layers, UltraEdge ensures compute cycles are spent on execution—not on managing the runtime itself.
22+
23+
This learning path introduces the architecture, principles, and components that make UltraEdge a high-performance execution fabric for modern edge infrastructure.
24+
25+
### Ultraedge Overview
26+
27+
UltraEdge was built with the vision of **orchestrating the edge-native execution fabric for high-performance compute infrastructure**
28+
29+
Key design principles and capabilities include:
30+
31+
· **Built-for-edge execution stack**
32+
33+
A lightweight, adaptive platform for **AI and mixed workloads** optimized for low latency, high determinism, and minimal footprint.
34+
35+
· **Dual workload focus**
36+
37+
Native support for both traditional enterprise workloads and next-generation AI workloads, without compromising performance.
38+
39+
· **Full-stack enablement**
40+
41+
Delivered through the **MicroStack** and **NeuroStack** execution systems, each optimized for its workload domain.
42+
43+
· **High fungibility and efficiency**
44+
45+
Maximizes utilization of CPU and GPU resources while reducing operational and infrastructure overhead.
46+
47+
· **Ecosystem-aligned development**
48+
49+
Developed through strategic alliances with leading technology partners and curated for **AI@Edge**, including alignment with Edge AI Foundation deployment approaches.
50+
51+
· **Cluster-aware orchestration**
52+
53+
Integrates with Kubernetes-based stacks and Slurm for managed cluster orchestration.
54+
55+
· **Built-in observability**
56+
57+
Provides control-plane visibility, diagnostics, and telemetry for operational insight.
58+
59+
· **Lower total cost of ownership (TCO)**
60+
61+
Demonstrable reduction in CPU/GPU cluster costs through faster startup, higher utilization, and reduced runtime overhead.
3162

3263
### UltraEdge High-Level Architecture
3364

34-
{{% notice Note %}}
35-
REMOVE ME: It would be good to put a high-level picture of the architecture here. Then text below can detail the high points.
36-
{{% /notice %}}
65+
UltraEdge is composed of layered systems, each responsible for a distinct aspect of execution and orchestration:
66+
67+
![High-level Architecture diagram](https://raw.githubusercontent.com/Tinkerbloxsupport/arm-learning-path-support/main/static/images/High-level%20architecture%20diagram.png)
68+
69+
---
70+
71+
#### 1. UltraEdge Core Layer
72+
*Manages the foundational execution fabric, including:*
73+
* Compute infrastructure management
74+
* Service orchestration and lifecycle management
75+
* Rule-engine orchestration
76+
* Data-flow management across workloads
77+
78+
#### 2. UltraEdge Boost Layer
79+
*Provides performance-critical acceleration, including:*
80+
* Low-level optimized routines
81+
* FFI (Foreign Function Interface) integrations
82+
* Dynamic connectors and southbound protocol adapters
3783

38-
**UltraEdge ‘Core’ Layer
**
39-
Handles compute infrastructure management including service
40-
orchestration, lifecycle management, rule engine orchestration, and
41-
data-flow management .
84+
#### 3. UltraEdge Prime Layer
85+
*Implements workload intelligence and orchestration logic, including:*
86+
* Business logic execution
87+
* Trigger and activation sequences
88+
* AI and mixed workload coordination
4289

43-
**UltraEdge ‘Boost’ Layer
**
44-
Implements performance-critical routines and FFI (Foreign Function
45-
Interface) calls; Contains dynamic connectors, and southbound protocol
46-
adapters
90+
#### 4. UltraEdge Dock
91+
*Provides workload and cluster orchestration through:*
92+
* Kubernetes-based stacks
93+
* Slurm-based scheduling environments
4794

48-
**UltraEdge ‘Prime’ Layer
**
49-
Contains business logic, trigger & activation sequences, and AI & mixed
50-
workload orchestration .
95+
#### 5. UltraEdge Edge-Cloud Connect Layer
96+
*Enables data movement and observability, including:*
97+
* Data streaming to databases (e.g., InfluxDB, SQLite)
98+
* Diagnostics, logging, and telemetry outputs
5199

52-
**UltraEdge Edge-Cloud ‘Connect’ Layer
**
53-
Supports data streaming to databases (InfluxDB, SQLite) and provides
54-
diagnostic/logging outputs . **UltraEdge Dock** Supports workload orchestration
55-
management through kube-stack or slurm.

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

Lines changed: 100 additions & 40 deletions
Original file line numberDiff line numberDiff line change
@@ -1,73 +1,101 @@
11
---
2-
title: DEBIAN Installation - UltraEdge
2+
title: Debian/Ubuntu installation - UltraEdge
33

4-
weight: 4
4+
weight: 5
55

66
layout: "learningpathall"
77
---
88

9-
#### Installation Process
9+
### Installation Process for UltraEdge on Ubuntu/Debian
10+
11+
Follow these steps to initialize and register your device within the **Uncloud** ecosystem:
1012

11-
{{% notice Note %}}
12-
REMOVE ME: Need link information to "Uncloud" below...
13-
{{% /notice %}}
13+
1. **Access the Platform:**
1414

15-
- Copy device installation details from **Uncloud**.
16-
- Device Initialization
15+
Navigate to the [Uncloud Dashboard](https://dev.tinkerblox.io/) and log in with your credentials.
1716

18-
1. Copy the command below into the clipboard.
19-
2. Open terminal on your device.
20-
3. Paste the copied command into terminal to initialize the device.
17+
2. **Provision a New Device:**
18+
* Go to **Device Management** > **New Device**.
2119

20+
![Device Management](https://raw.githubusercontent.com/Tinkerbloxsupport/arm-learning-path-support/main/static/images/Device_managment.png)
2221

23-
{{% notice Note %}}
24-
REMOVE ME: Not sure what "example code" means below... is this what the user needs to execute or is it just an example?
25-
{{% /notice %}}
22+
![Creating New Device](https://raw.githubusercontent.com/Tinkerbloxsupport/arm-learning-path-support/main/static/images/creating_new_device.png)
2623

27-
Just an example code. You will find the exact to execute for your device in unclound
28-
```bash
29-
sudo apt update && sudo apt install curl && sudo apt install jq -y && sudo DEVICE_ID="5b3ff290-0c88-4cd9-8ef7-08de0bded9df" KEY="TB.ApiKey-mlBZgDFc7qyM6ztPjILBCbFEqnVlbvjUpM1Q1IqNP6tA7wNdi97AQ==" sh -c "$(curl "https://tinkerbloxdev.blob.core.windows.net:443/tinkerbloxdev/binaries/installer.sh?sv=2025-01-05&st=2025-11-03T06%3A31%3A55Z&se=2025-11-03T06%3A56%3A55Z&sr=b&sp=r&sig=HNS70HgJyHlhCVQrqvpGdCcaf8%2FtVjdW4RNiiiIPCSUA%3D")"
30-
```
24+
* Click the **three dots (options menu)** next to your device entry and select **Initialize**.
3125

32-
- Paste the copied content in the target terminal and execute.
26+
![Initialize Device](https://raw.githubusercontent.com/Tinkerbloxsupport/arm-learning-path-support/main/static/images/Initialize%20.png)
3327

34-
#### Activation of Agent
28+
3. **Install some prerequsiites:**
29+
30+
* First install some prerequisites:
31+
32+
```bash
33+
sudo apt update
34+
sudo apt install -y curl jq
35+
```
36+
37+
38+
4. **Retrieve Installation Command Details:**
39+
40+
* Copy the generated device installation command or details from the **Uncloud** portal to your clipboard.
41+
42+
![Installation Command](https://raw.githubusercontent.com/Tinkerbloxsupport/arm-learning-path-support/main/static/images/Initialize%20_command.png)
43+
44+
You should be able to locate and copy the specific installation command appropriate for your account. Here is an example:
45+
46+
```bash
47+
sudo DEVICE_ID="5b3ff290-0c88-4cd9-8ef7-08de0bded9df" KEY="TB.ApiKey-mlBZgDFc7qyM6ztPjILBCbFEqnVlbvjUpM1Q1IqNP6tA7wNdi97AQ==" sh -c "$(curl "https://tinkerbloxdev.blob.core.windows.net:443/tinkerbloxdev/binaries/installer.sh?sv=2025-01-05&st=2025-11-03T06%3A31%3A55Z&se=2025-11-03T06%3A56%3A55Z&sr=b&sp=r&sig=HNS70HgJyHlhCVQrqvpGdCcaf8%2FtVjdW4RNiiiIPCSUA%3D")"
48+
```
49+
50+
Run your specific installer command in your Ubuntu/Debian SSH shell and initialize the agent to install UltraEdge.
51+
52+
### Activation of the UltraEdge Agent
3553

3654
On the first boot, the agent will automatically generate a file named
37-
`activation_key.json` at the path:
55+
`activation_key.json` at the path:
3856

39-
/opt/tinkerblox/activation_key.json
57+
`/opt/tinkerblox/activation_key.json`
4058

4159
Share this `activation_key.json` file with the TinkerBlox team to
4260
receive license key (which includes license metadata).
4361

4462
1. Stop the agent using the following command:
4563

46-
sudo systemctl stop ultraedge.service
64+
```bash
65+
sudo systemctl stop tbx-agent.service
66+
```
4767

4868
2. Replace the existing `activation_key.json` file in
4969
`/opt/tinkerblox/` with the licensed one provided by TinkerBlox.
5070

5171
3. Start the agent:
5272

53-
sudo systemctl start ultraedge.service
73+
```bash
74+
sudo systemctl start tbx-agent.service
75+
```
5476

55-
#### Manual Running
77+
### Manual Running
5678

57-
- Binary path: `/usr/bin/EdgeBloXagent`
79+
- Binary path: `/bin/tbx-agent`
5880

5981
- To start:
6082

61-
EdgeBloXagent
83+
```bash
84+
tbx-agent
85+
```
6286

6387
- To stop, press <span class="kbd">Ctrl</span> +
6488
<span class="kbd">C</span> once.
6589

6690
## MicroPac Installation
6791

68-
{{% notice Note %}}
69-
REMOVE ME: Is MicroPac only for Debian installations? Not for YOCTO ones?
70-
{{% /notice %}}
92+
MicroPac is the core tooling used to build and manage **MicroStack** (general microservices) and **NeuroStack** (AI-native services).
93+
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.
95+
96+
* **Build System:** To create a service, the system utilizes a **MicroPacFile** (the declarative configuration) and the **MicroPac Builder** (the high-performance packaging engine).
97+
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.
7199

72100
#### System Requirements
73101

@@ -78,34 +106,57 @@ REMOVE ME: Is MicroPac only for Debian installations? Not for YOCTO ones?
78106

79107
#### Required Packages
80108

109+
```bash
81110
sudo apt-get update
82111
sudo apt-get install -y tar curl qemu-user-static binfmt-support
112+
```
83113

84114
### Cross-Architecture Support
85115

86-
{{% notice Note %}}
87-
REMOVE ME: Might need a bit more detail on why this needs to be executed (below):
88-
{{% /notice %}}
116+
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.
117+
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.
119+
120+
* **Unified Workloads:** It bridges the gap between complex ML models and resource-constrained embedded software, ensuring consistent execution across diverse hardware.
121+
89122

90123
To build MicroPac for different architectures:
91124
# Enable binfmt for armv7
125+
126+
```bash
92127
sudo update-binfmts --enable qemu-armv7
128+
```
93129

94130
### Installation
95131

96132
- The package is provided as a `.deb` file.
97133

98134
- Install it on your host machine:
99135

136+
```bash
100137
sudo apt install ./<package_name>.deb
138+
```
101139

102140
### MicroPac File Schema file creation/setup
103141

104-
{{% notice Note %}}
105-
REMOVE ME: Need more information on how to setup your project directory/where its located
106-
{{% /notice %}}
142+
#### File Placement
143+
For the MicroPac Builder to function correctly, the **MicroPacFile** must be placed in the root directory alongside your source code and dependency files.
107144

108-
Place a `MicroPacFile` in your project directory.
145+
146+
**Example Directory Structure (video_cv Project):**
147+
148+
```text
149+
video_cv/
150+
├── hooks/ # Lifecycle scripts
151+
├── models/ # ML model weights
152+
├── static/ # Static assets (CSS/JS)
153+
├── templates/ # HTML templates
154+
├── app.py # Main application entry
155+
├── MicroPacFile # REQUIRED: Configuration file
156+
└── requirements.txt # Python dependencies
157+
```
158+
159+
Place a `MicroPacFile` in your project directory as mentioned in above example.
109160

110161
```console
111162
name: nginx
@@ -171,10 +222,19 @@ Place a `MicroPacFile` in your project directory.
171222

172223
Navigate to your project directory and execute:
173224

225+
```bash
174226
sudo micropac-builder build
227+
```
175228

176229
This generates a file named `<project_name>.mpac`.
177230

178-
{{% notice Note %}}
179-
REMOVE ME: Is there a way to confirm that Micropac is properly setup now?
180-
{{% /notice %}}
231+
### Verifying the Micropac Setup
232+
233+
To confirm that the Micropac has been generated properly, follow these steps:
234+
235+
1. **Locate the Package:** Find the generated file with the `.mpac` extension.
236+
2. **Extract the Contents:** Extract the `.mpac` file using a standard extraction tool (or rename it to `.zip`/`.tar.gz` if necessary to open it).
237+
3. **Verify Contents:** The extracted folder must contain exactly three files:
238+
* **`manifest.yaml`**: Contains the metadata and configuration for the package.
239+
* **RootFS tarball**: The base file system layer (in `.tar` format).
240+
* **Application layer tarball**: The specific application logic/binaries (in `.tar` format).
134 KB
Loading
103 KB
Loading
50.9 KB
Loading
22.3 KB
Loading
12.5 KB
Loading
81.6 KB
Loading
46.4 KB
Loading

0 commit comments

Comments
 (0)