AI in the Greenland Rainforest
- AI in the Greenland Rainforest: Server Configuration
This article details the server configuration supporting the "AI in the Greenland Rainforest" project. This project utilizes artificial intelligence to analyze data collected from remote sensors deployed within the unique ecosystem of Greenland's surprisingly lush, albeit small, rainforest areas. This document is geared towards new system administrators and developers contributing to the project.
Project Overview
The “AI in the Greenland Rainforest” project aims to monitor and predict changes in this fragile ecosystem using a combination of sensor data (temperature, humidity, soil composition, acoustic monitoring for animal life), satellite imagery, and machine learning models. The server infrastructure is responsible for data ingestion, processing, model training, and serving predictions to researchers. We utilize a distributed system to handle the high volume and velocity of incoming data. See Data Acquisition for details on sensor setup.
Server Architecture
The core infrastructure consists of three main tiers:
- **Ingestion Tier:** Responsible for receiving data from sensors and initial validation.
- **Processing Tier:** Handles data cleaning, transformation, and feature engineering. This tier also runs the machine learning model training jobs.
- **Serving Tier:** Provides an API for researchers to access model predictions and historical data.
These tiers are logically separated across a cluster of servers, using Kubernetes for orchestration and Docker for containerization. Network Configuration is crucial for communication between tiers.
Ingestion Tier Configuration
The ingestion tier comprises three servers dedicated to receiving and validating data streams. These servers are built with redundancy in mind.
Server Name | Role | Operating System | CPU | RAM | Storage |
---|---|---|---|---|---|
gr-ingest-01 | Primary Ingestion Server | Ubuntu 22.04 LTS | Intel Xeon Silver 4310 (12 cores) | 64 GB | 2 TB SSD (RAID 1) |
gr-ingest-02 | Secondary Ingestion Server (failover) | Ubuntu 22.04 LTS | Intel Xeon Silver 4310 (12 cores) | 64 GB | 2 TB SSD (RAID 1) |
gr-ingest-03 | Backup Ingestion Server (load balancing) | Ubuntu 22.04 LTS | Intel Xeon Silver 4310 (12 cores) | 64 GB | 2 TB SSD (RAID 1) |
Software on these servers includes: Nginx as a reverse proxy, Kafka for message queuing, and custom Python scripts for data validation. Refer to Ingestion Pipeline Documentation for script details.
Processing Tier Configuration
The processing tier is the most resource-intensive part of the infrastructure. It's responsible for training and evaluating machine learning models. We use a cluster of servers with GPUs for accelerated computation.
Server Name | Role | Operating System | CPU | RAM | GPU | Storage |
---|---|---|---|---|---|---|
gr-process-01 | Primary Processing Server | CentOS Stream 9 | AMD EPYC 7763 (64 cores) | 256 GB | NVIDIA A100 (80GB) | 8 TB NVMe SSD |
gr-process-02 | Secondary Processing Server | CentOS Stream 9 | AMD EPYC 7763 (64 cores) | 256 GB | NVIDIA A100 (80GB) | 8 TB NVMe SSD |
gr-process-03 | Backup Processing Server | CentOS Stream 9 | AMD EPYC 7763 (64 cores) | 256 GB | NVIDIA A100 (40GB) | 8 TB NVMe SSD |
Key software components include: Python 3.9, TensorFlow 2.x, PyTorch 1.12, and Kubeflow for managing the machine learning pipelines. Model Training Procedures provides detailed instructions on running training jobs.
Serving Tier Configuration
The serving tier provides a REST API for accessing model predictions and historical data. It's designed for high availability and low latency.
Server Name | Role | Operating System | CPU | RAM | Storage |
---|---|---|---|---|---|
gr-serve-01 | Primary Serving Server | Debian 11 | Intel Xeon Gold 6248R (24 cores) | 128 GB | 1 TB SSD |
gr-serve-02 | Secondary Serving Server (failover) | Debian 11 | Intel Xeon Gold 6248R (24 cores) | 128 GB | 1 TB SSD |
This tier utilizes Flask and Gunicorn to serve the API. Data is stored in a PostgreSQL database. See API Documentation for details on available endpoints. Database Schema describes the database structure.
Network Considerations
A secure and reliable network is vital. We utilize a Virtual Private Cloud (VPC) with appropriate security groups and network access control lists (NACLs). All communication between servers is encrypted using TLS. Firewall Rules details the specific firewall configuration.
Monitoring and Logging
We utilize Prometheus and Grafana for monitoring server metrics and application performance. Logs are aggregated using Elasticsearch, Logstash, and Kibana (the ELK stack). Alerting System Configuration outlines the alerting rules in place.
Future Expansion
Planned expansion includes adding more GPU servers to the processing tier to support more complex models and increasing the storage capacity of the ingestion tier to handle growing data volumes. Capacity Planning documents these future needs.
Security Protocols are regularly reviewed and updated.
Backup and Recovery Procedures are in place to ensure data integrity.
Server Maintenance Schedule details regular maintenance tasks.
Contact Information for the system administration team.
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.* ⚠️