Component Details
AIBooster consists of two components: Server and Agent.
- AIBooster Server
- Deployed on server nodes, providing telemetry data analytics database and visualization dashboard
- AIBooster Agent
- Deployed on compute nodes, performing telemetry data collection and autonomous optimization
This section introduces the constituent elements of each component and examines their impact on the system.
Server
Server containers are designed to run on a single Linux node connected to the same network as the compute nodes where Agents operate. They can be deployed on a dedicated management node or co-located on one of the compute nodes with Agents installed.
Server containers include:
- ClickHouse: Data storage
- Grafana: Visualization features
- Nginx: Reverse proxy
Additionally, the following ports need to be open on the node where Server containers run:
| Port | Expected Access Source | Purpose |
|---|---|---|
| 3000 | User PC | Access to performance observation dashboard |
| 8123 | Nodes running Agents | Metrics collection |
| 16697 | Nodes running Agents | Communication with Server node |
What the Server Installer Does
When you install the Server, the following actions are performed.
Required File Setup
The necessary files are placed in /opt/aibooster/server/.
Starting Docker Containers
Three Docker containers with names beginning with faib-server are deployed and started. These containers are configured to start automatically at system boot.
- About ports opened by Docker
- As shown in the table above, three ports are opened: 3000, 8123, and 16697.
- Since these ports are managed directly by Docker, they are not subject to ufw restrictions. If you want to control them with a firewall, you need to configure Docker's iptables rules directly.
- About Docker volumes for storing collected data
- Two Docker volumes with names beginning with
faib-serverare created in/var/lib/docker/volumes/. Since the collected metrics data grows over time, please pay attention to disk space.
- Two Docker volumes with names beginning with
- About networks created by Docker
- A bridge network with a name beginning with
faib-serveris created for internal communication.
- A bridge network with a name beginning with
Agent
Agent are designed to run continuously on all nodes that are observation targets. These services perform regular observations of node hardware and system states, collecting performance metrics of programs running on them.
They have the following features:
- Node Exporter: Collection of CPU and I/O related metrics
- DCGM Exporter: Collection of GPU metrics
- PCM Exporter: Collection of Intel CPU/Memory Subsystem-specific metrics
- eBPF Profiler: Collection of program execution status
What the Agent Installer Does
When you install the Agent, the following actions are performed.
Required File Setup
The necessary files are placed in /opt/aibooster/agent/. Additionally, a systemd target file /etc/systemd/system/aibooster-agent.target and some systemd service files /etc/systemd/system/aibooster-agent-*.service are created.
Enabling and Starting the systemd Service
The aibooster-agent target and some services is registered with systemd and configured to start automatically at system boot.