AI in the Puerto Rican Rainforest
AI in the Puerto Rican Rainforest: Server Configuration
This article details the server configuration used to support the "AI in the Puerto Rican Rainforest" project. This project utilizes machine learning to analyze audio and visual data collected from sensors deployed within the El Yunque National Forest in Puerto Rico. The goal is to identify and track species, monitor ecosystem health, and detect illegal activity. This document is intended for other server engineers and those new to managing infrastructure for data-intensive scientific applications on our MediaWiki platform. Please see MediaWiki Installation for basic site management information.
Project Overview
The "AI in the Puerto Rican Rainforest" project involves collecting data from a network of edge devices (described in Edge Device Specifications) and transmitting it to a central server for processing. This processing includes real-time analysis using trained machine learning models, as well as long-term data storage and analysis. The server infrastructure is designed for high availability, scalability, and data security. See Data Security Protocols for details on our security measures.
Server Hardware
The core server infrastructure consists of three primary servers: a data ingestion server, a processing server, and a database server. All servers are housed in a secure, climate-controlled data center in Miami, Florida, to minimize latency and ensure reliable operation. Each server utilizes redundant power supplies and network connections.
Server Role | CPU | RAM | Storage | Network Interface |
---|---|---|---|---|
Intel Xeon Gold 6248R (24 cores) | 128 GB DDR4 ECC | 8 TB RAID 10 SSD | 10 Gbps Ethernet | | ||||
2 x AMD EPYC 7763 (64 cores each) | 256 GB DDR4 ECC | 16 TB RAID 10 NVMe SSD | 100 Gbps Infiniband | | ||||
Intel Xeon Platinum 8280 (28 cores) | 256 GB DDR4 ECC | 32 TB RAID 6 HDD | 10 Gbps Ethernet | |
Software Stack
The software stack is built upon a Linux foundation and utilizes a combination of open-source and proprietary tools.
- Operating System: Ubuntu Server 22.04 LTS – chosen for its stability, security updates, and wide package availability. See Ubuntu Server Documentation for more information.
- Data Ingestion: Nginx as a reverse proxy and load balancer, along with custom Python scripts for data validation and queuing. See Nginx Configuration Guide.
- Processing: Python 3.9 with TensorFlow and PyTorch for machine learning model execution. We use NVIDIA CUDA for GPU acceleration. Refer to TensorFlow Installation and PyTorch Installation.
- Database: PostgreSQL 14 with the PostGIS extension for geospatial data management. See PostgreSQL Administration.
- Monitoring: Prometheus and Grafana for system monitoring and alerting. Detailed instructions available at Prometheus Monitoring Setup.
- Version Control: Git, with repositories hosted on GitLab. See Git Workflow.
Network Configuration
The servers are connected via a dedicated VLAN with restricted access. The data ingestion server receives data from the edge devices over a secure VPN connection. The processing server communicates with the database server over a private network. All external access is firewalled and monitored. The network topology is outlined in Network Diagram.
Server | IP Address | Subnet Mask | Gateway | VLAN |
---|---|---|---|---|
192.168.1.10 | 255.255.255.0 | 192.168.1.1 | 10 | | ||||
192.168.1.20 | 255.255.255.0 | 192.168.1.1 | 10 | | ||||
192.168.1.30 | 255.255.255.0 | 192.168.1.1 | 10 | |
Data Flow
1. Edge devices collect audio and visual data. 2. Data is transmitted to the Data Ingestion Server over a secure VPN. 3. The Data Ingestion Server validates the data and queues it for processing. 4. The Processing Server retrieves data from the queue, runs machine learning models, and extracts features. 5. Extracted features and metadata are stored in the Database Server. 6. Data analysis and visualization are performed using custom web applications. See Web Application Development.
Scalability & Future Considerations
The current infrastructure is designed to handle the current data volume, but scalability is a key consideration. We plan to implement the following:
- Kubernetes: Containerization using Kubernetes for easier deployment and scaling of the processing components. Refer to Kubernetes Deployment Guide.
- Kafka: Utilize Apache Kafka as a distributed streaming platform to handle high-volume data ingestion. See Kafka Integration.
- Automated Scaling: Implement automated scaling based on resource utilization metrics.
Security Measures
A multi-layered security approach is employed. This includes:
- Firewall rules restricting access to only necessary ports and services.
- Regular security audits and vulnerability scans.
- Data encryption at rest and in transit.
- Strong authentication and authorization mechanisms.
- Intrusion detection and prevention systems. See Security Best Practices.
Security Component | Description | Status | |
---|---|---|---|
Restricts network access | Active | | Monitors for malicious activity | Active | | Protects data confidentiality | Active | | Identifies vulnerabilities | Scheduled | |
Related Documentation
- Edge Device Specifications
- Data Security Protocols
- MediaWiki Installation
- Ubuntu Server Documentation
- Nginx Configuration Guide
- TensorFlow Installation
- PyTorch Installation
- PostgreSQL Administration
- Prometheus Monitoring Setup
- Git Workflow
- Network Diagram
- Web Application Development
- Kubernetes Deployment Guide
- Kafka Integration
- Security Best Practices
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.* ⚠️