Server rental store

AI in the Nagorno-Karabakh Rainforest

# AI in the Nagorno-Karabakh Rainforest: Server Configuration

This article details the server configuration supporting the "AI in the Nagorno-Karabakh Rainforest" project. This initiative utilizes artificial intelligence to analyze biodiversity data collected from remote sensors deployed within the unique ecosystem of the Nagorno-Karabakh rainforest. This document is aimed at new server administrators joining the project and outlines the essential hardware and software components. It assumes a basic understanding of Linux server administration and network configuration.

Project Overview

The Nagorno-Karabakh rainforest, despite its limited area, harbors a significant level of endemic species. The project aims to monitor this biodiversity in real-time using a network of sensor nodes collecting data on soundscapes, temperature, humidity, and visual imagery. This data is transmitted to a central server cluster for processing using machine learning algorithms. The primary goal is early detection of species decline and potential threats to the ecosystem. Data analysis relies heavily on machine learning algorithms and deep learning frameworks.

Server Hardware

The server infrastructure consists of three primary servers: a data ingestion server, a processing server, and a database server. The following table details the hardware specifications for each server.

Server Role CPU RAM Storage Network Interface
Data Ingestion Server | Intel Xeon Gold 6248R (24 cores) | 128 GB DDR4 ECC | 4 TB NVMe SSD (RAID 1) | 10 Gbps Ethernet |
Processing Server | AMD EPYC 7763 (64 cores) | 256 GB DDR4 ECC | 8 TB NVMe SSD (RAID 1) + 16 TB HDD (RAID 5) | 10 Gbps Ethernet |
Database Server | Intel Xeon Silver 4210 (10 cores) | 64 GB DDR4 ECC | 2 TB NVMe SSD (RAID 1) | 1 Gbps Ethernet |

All servers are housed in a secure, climate-controlled data center. Power redundancy is provided by dual power supplies and an uninterruptible power supply (UPS).

Software Stack

The software stack is built around a Linux operating system. We utilize Ubuntu Server 22.04 LTS for its stability and extensive package availability. The following table outlines the core software components installed on each server.

Server Role Operating System Data Ingestion Software Processing Software Database Software Other
Data Ingestion Server | Ubuntu Server 22.04 LTS | MQTT Broker (Mosquitto), Node-RED, rsync | N/A | N/A | Firewall (ufw), SSH Server |
Processing Server | Ubuntu Server 22.04 LTS | N/A | Python 3.10, TensorFlow 2.12, PyTorch 2.0, CUDA 11.8, Jupyter Notebook | N/A | Firewall (ufw), SSH Server, NVIDIA Drivers |
Database Server | Ubuntu Server 22.04 LTS | N/A | N/A | PostgreSQL 15, pgAdmin 4 | Firewall (ufw), SSH Server, Backup Scripts |

The data ingestion server receives data from sensor nodes via MQTT. Node-RED is used for initial data filtering and routing. The processing server utilizes TensorFlow and PyTorch for model training and inference. PostgreSQL serves as the primary data store, providing a robust and scalable solution for managing the collected data. We also utilize Docker containers for application deployment and isolation.

Network Configuration

The server cluster is connected to the internal network via a dedicated VLAN. The following table summarizes the key network parameters.

Parameter Value
VLAN ID | 10
Subnet Mask | 255.255.255.0
Gateway | 192.168.10.1
DNS Servers | 8.8.8.8, 8.8.4.4
Data Ingestion Server IP | 192.168.10.10
Processing Server IP | 192.168.10.11
Database Server IP | 192.168.10.12

Firewall rules are configured on each server to restrict access to necessary ports only, enhancing network security. Access to the servers is primarily managed through SSH using key-based authentication. The servers are monitored using Nagios for uptime, resource utilization, and service status. We also employ log analysis tools to identify potential issues and security threats.

Data Flow

1. Sensor nodes transmit data to the Data Ingestion Server via MQTT. 2. Node-RED filters and routes the data to the appropriate topic. 3. rsync is used to transfer the data to the Processing Server for analysis. 4. Machine learning models on the Processing Server analyze the data and generate insights. 5. Insights are stored in the PostgreSQL database on the Database Server. 6. Data visualization tools can access the database to create reports and dashboards using data visualization techniques.

Future Considerations

Future enhancements to the server infrastructure may include:

⚠️ *Note: All benchmark scores are approximate and may vary based on configuration. Server availability subject to stock.* ⚠️