Aarkam / Aarkam Wiki / Installation / System Prerequisites & Hardware Sizing
Prerequisites Installation

System Prerequisites & Hardware Sizing

Hardware prerequisites, CPU SIMD flags, RAM calculation, storage media, and networking matrices.

Last updated: Sep 23, 2026

Aarkam is architected for bare-metal, virtualized, and air-gapped high-assurance environments. To ensure maximum throughput for Cauchy Reed-Solomon erasure coding and unbuffered Direct I/O, physical infrastructure must meet the following baseline specifications.


1. Hardware Requirements Matrix

Resource Minimum (Evaluation / Lab) Recommended (Production Cluster) High-Performance Defense / AI Tier
CPU Architecture x86-64 with AVX2 support (4 Cores) Intel Xeon Scalable / AMD EPYC (16+ Cores with AVX-512) Dual AMD EPYC 9004 / Intel Xeon Gen 4 (32+ Cores)
System Memory 16 GB ECC DDR4 64 GB – 128 GB ECC DDR4/DDR5 256 GB+ ECC DDR5 (Registered)
Storage (OS/WAL) 128 GB Enterprise SATA SSD 500 GB NVMe PCIe Gen 4 (Enterprise TBW) Dual M.2 NVMe RAID-1 (Power-Loss Protected)
Storage (Data) 2x 1 TB SATA SSD / HDD 4x – 24x NVMe U.2 / U.3 or SAS-3 12Gbps Direct-attached NVMe PCIe Gen 5
Networking 1 GbE Dedicated Interface Dual 10 GbE / 25 GbE Bonded (LACP) Dual 100 GbE RoCEv2 / InfiniBand

2. Memory Sizing Formula

Aarkam minimizes memory consumption through zero-allocation pooled spans and direct disk streaming. Sizing memory scales linearly with raw storage capacity:

\(\text{RAM (GB)} = 16\text{ GB (Base OS/Runtime)} + (1.2\text{ GB} \times \text{Usable Capacity in TB})\)

  • 100 TB Usable Capacity: Requires approximately \(16 + 120 = 136\text{ GB}\) distributed across cluster nodes.
  • 1 PB Usable Capacity: In an 8-node cluster, each node requires 128 GB to 256 GB ECC RAM.

3. Storage Media & Direct I/O Preparation

Kdouja operates through unbuffered Direct I/O (FILE_FLAG_NO_BUFFERING on Windows, O_DIRECT on Linux), requiring raw block access without intermediate translation layers:

Linux Kernel Preparation

# Verify 4096-byte logical sector size on storage NVMe drives
sudo blockdev --getss /dev/nvme0n1
# Output must be 4096 or 512

# Format partitions with 4K block alignment
sudo mkfs.ext4 -b 4096 /dev/nvme0n1p1

# Kernel parameters in /etc/sysctl.d/99-aarkam.conf
fs.file-max = 2097152
fs.aio-max-nr = 1048576
vm.dirty_ratio = 10
vm.dirty_background_ratio = 5
vm.swappiness = 1

4. Network Ports & Firewall Matrix

Every Aarkam host must have the required ports opened on the internal backplane network:

Module Port (HTTP) Port (HTTPS) Protocol Direction Description
Aarkam.IO 7771 57771 REST / gRPC Inbound Client S3 Gateway & Web Management Portal
Rokka.Coordinator 7774 57774 gRPC / HTTP2 Inbound/Internal Raft MON Consensus & Cluster Coordination
Rokka.StorageNode 7775 57775 gRPC / HTTP2 Internal Kdouja Chunk Streaming & Replication
Abodi.Agent 7776 57776 gRPC / REST Internal S.M.A.R.T. Health Telemetry Sidecar
Abodi.Server 7777 57777 gRPC / REST Internal Central Correlation Engine