AI in the Åland Islands Rainforest
- AI in the Åland Islands Rainforest: Server Configuration
This article details the server configuration powering the "AI in the Åland Islands Rainforest" project, a research initiative utilizing machine learning to monitor and analyze the unique ecosystem of the Åland Islands rainforest. This guide is intended for new contributors and system administrators involved in maintaining this infrastructure. Understanding these configurations is crucial for efficient operation, troubleshooting, and future scaling of the project. This project relies heavily on data collected from Sensor Networks and processed using Distributed Computing.
Overview
The server infrastructure consists of three primary tiers: Data Acquisition, Processing, and Presentation. Each tier utilizes a distinct set of hardware and software optimized for its specific role. Data is initially gathered from the rainforest via a network of Environmental Sensors, transmitted to the Data Acquisition servers, processed by the Processing servers, and finally presented to researchers through the Presentation tier. This separation allows for scalability and fault tolerance. All servers are running a hardened version of Linux, specifically Ubuntu Server. Remote access is managed through SSH Keys and restricted to authorized personnel only.
Data Acquisition Tier
This tier is responsible for receiving and initially storing data from the sensor network. These servers must be highly reliable and have sufficient storage capacity. The servers are geographically redundant, with one located in Mariehamn and a backup in Jomala.
Hardware Specifications
Component | Specification |
---|---|
Server Model | Dell PowerEdge R750 |
CPU | 2 x Intel Xeon Gold 6338 (32 cores per CPU) |
RAM | 256 GB DDR4 ECC Registered |
Storage | 6 x 16TB SAS 7.2K RPM HDD (RAID 6) |
Network Interface | Dual 10 GbE |
Power Supply | Redundant 1100W Platinum |
Software Configuration
- Operating System: Ubuntu Server 22.04 LTS
- Database: PostgreSQL 14 with WAL archiving enabled for point-in-time recovery.
- Message Queue: RabbitMQ for asynchronous data handling.
- Data Ingestion: Custom Python scripts leveraging the `pyserial` library for direct sensor communication. These scripts log data to PostgreSQL via a dedicated user with limited privileges.
- Monitoring: Nagios for system health monitoring and alerting. Alerts are sent to a dedicated Slack channel.
Processing Tier
This tier performs the computationally intensive tasks of data analysis, model training, and prediction. It utilizes a cluster of servers with powerful GPUs for accelerated processing. The processing tier relies on Containerization using Docker and orchestration with Kubernetes.
Hardware Specifications
Component | Specification |
---|---|
Server Model | Supermicro SYS-220M-CT |
CPU | 2 x AMD EPYC 7763 (64 cores per CPU) |
RAM | 512 GB DDR4 ECC Registered |
GPU | 4 x NVIDIA A100 80GB |
Storage | 2 x 2TB NVMe SSD (RAID 1) – for OS and Kubernetes |
Network Interface | Dual 25 GbE |
Software Configuration
- Operating System: Ubuntu Server 22.04 LTS
- Containerization: Docker 20.10
- Orchestration: Kubernetes 1.24
- Machine Learning Framework: TensorFlow 2.9 and PyTorch 1.12
- Data Storage: Hadoop Distributed File System (HDFS) for large-scale data storage.
- Model Registry: MLflow for tracking model versions and experiments.
- Monitoring: Prometheus and Grafana for monitoring resource utilization and application performance.
Presentation Tier
This tier provides a user-friendly interface for researchers to access and visualize the processed data. It consists of web servers hosting a custom-built web application. Security is paramount, with all communication encrypted using HTTPS.
Hardware Specifications
Component | Specification |
---|---|
Server Model | Dell PowerEdge R650 |
CPU | 2 x Intel Xeon Silver 4310 (12 cores per CPU) |
RAM | 64 GB DDR4 ECC Registered |
Storage | 2 x 1TB NVMe SSD (RAID 1) |
Network Interface | Dual 1 GbE |
Software Configuration
- Operating System: Ubuntu Server 22.04 LTS
- Web Server: Apache 2.4
- Database: PostgreSQL 14 (Read-Only Replica)
- Web Application: Python/Flask application with a React frontend.
- Security: Let's Encrypt for SSL/TLS certificates.
- Load Balancing: HAProxy for distributing traffic across multiple web servers.
Network Topology
The servers are interconnected via a dedicated VLAN. Firewall rules are configured using iptables to restrict access based on source IP and port. The network is monitored using Wireshark for troubleshooting. A detailed network diagram can be found on the Internal Wiki.
Future Considerations
Future plans include migrating to a Cloud Provider for increased scalability and resilience. We are also investigating the use of Serverless Computing for certain data processing tasks. Regular security audits and vulnerability scans are essential to maintaining the integrity of the system. Further documentation is available on the Project Documentation Page.
Intel-Based Server Configurations
Configuration | Specifications | Benchmark |
---|---|---|
Core i7-6700K/7700 Server | 64 GB DDR4, NVMe SSD 2 x 512 GB | CPU Benchmark: 8046 |
Core i7-8700 Server | 64 GB DDR4, NVMe SSD 2x1 TB | CPU Benchmark: 13124 |
Core i9-9900K Server | 128 GB DDR4, NVMe SSD 2 x 1 TB | CPU Benchmark: 49969 |
Core i9-13900 Server (64GB) | 64 GB RAM, 2x2 TB NVMe SSD | |
Core i9-13900 Server (128GB) | 128 GB RAM, 2x2 TB NVMe SSD | |
Core i5-13500 Server (64GB) | 64 GB RAM, 2x500 GB NVMe SSD | |
Core i5-13500 Server (128GB) | 128 GB RAM, 2x500 GB NVMe SSD | |
Core i5-13500 Workstation | 64 GB DDR5 RAM, 2 NVMe SSD, NVIDIA RTX 4000 |
AMD-Based Server Configurations
Configuration | Specifications | Benchmark |
---|---|---|
Ryzen 5 3600 Server | 64 GB RAM, 2x480 GB NVMe | CPU Benchmark: 17849 |
Ryzen 7 7700 Server | 64 GB DDR5 RAM, 2x1 TB NVMe | CPU Benchmark: 35224 |
Ryzen 9 5950X Server | 128 GB RAM, 2x4 TB NVMe | CPU Benchmark: 46045 |
Ryzen 9 7950X Server | 128 GB DDR5 ECC, 2x2 TB NVMe | CPU Benchmark: 63561 |
EPYC 7502P Server (128GB/1TB) | 128 GB RAM, 1 TB NVMe | CPU Benchmark: 48021 |
EPYC 7502P Server (128GB/2TB) | 128 GB RAM, 2 TB NVMe | CPU Benchmark: 48021 |
EPYC 7502P Server (128GB/4TB) | 128 GB RAM, 2x2 TB NVMe | CPU Benchmark: 48021 |
EPYC 7502P Server (256GB/1TB) | 256 GB RAM, 1 TB NVMe | CPU Benchmark: 48021 |
EPYC 7502P Server (256GB/4TB) | 256 GB RAM, 2x2 TB NVMe | CPU Benchmark: 48021 |
EPYC 9454P Server | 256 GB RAM, 2x2 TB NVMe |
Order Your Dedicated Server
Configure and order your ideal server configuration
Need Assistance?
- Telegram: @powervps Servers at a discounted price
⚠️ *Note: All benchmark scores are approximate and may vary based on configuration. Server availability subject to stock.* ⚠️