1.1.0 released, new user UI and modified system architecture to improve performance
VisioGrid
Table of Contents
Project Introduction
VisioGrid is a heterogeneous distributed computing platform developed in Rust, focusing on image recognition. The project aims to establish an efficient distributed system for large-scale image recognition processing. By parallel processing tasks in a multi-agent environment, VisioGrid enhances the efficiency and speed of image recognition.
Main Features
- High Efficiency: Thanks to Tokio's asynchronous runtime and efficient I/O processing, VisioGrid can quickly handle large amounts of image data.
- Stability: Through real-time monitoring of agents and proactive error handling, the system runs stably, avoiding program crashes.
- Image Recognition: Supports multiple image recognition models, flexibly adapting to different application scenarios.
Tech Stack
- Rust: Fully utilizes Rust's high performance and safety features to ensure efficient system operation.
- Actix Web: Provides a user-friendly web management interface for easy system management and monitoring.
- Tokio: Uses Tokio's asynchronous runtime for performance optimization, improving I/O processing efficiency.
- GStreamer: Used for handling media streams and content, supporting efficient processing of multimedia data.
- Ultralytics: Integrates Ultralytics for image recognition, supporting multiple advanced image recognition models.
Installation and Running
Compile from Source Code
- Clone the Repository
git clone https://github.com/DaLaw2/VisioGrid cd VisioGrid - Compile the Project
- Compile the Management Node:
bash Build/ManagementDepend.sh cargo build --release --package Management - Compile the Agent Node:
bash Build/AgentDepend.sh cargo build --release --package Agent
- Run the Nodes
- Run the Management Node:
cargo run --package Management --release - Run the Agent Node:
cargo run --package Agent --release
Using Docker
VisioGrid provides Docker containers that include all necessary dependencies, eliminating the need for manual installation.
- Build the Management Node Container
docker build -t management-image Docker/Management - Run the Management Node Container
docker run -d --name management management-image - Build the Agent Container
docker build -t agent-image Docker/Agent - Run the Agent Container
docker run -d --name agent agent-image
Usage
Access http://localhost:8080 via a web browser to view the management interface. The management interface provides system monitoring and management functions, allowing users to view system status, add agent nodes, check task progress, etc.
-
The Home page provides an overview of the system, including system information, system load, and system logs.
-
The Agents page displays all connected agent nodes. Clicking on an agent reveals more detailed information.
-
The Inference page allows you to create a new inference task. After selecting a model and image, you can submit it.
-
The Tasks page lists all tasks that are in progress, successful, or failed. You can view the execution status of each subtask.
-
The Configuration page provides system configuration options, allowing users to modify system settings.






