System Integration

Kernel Module

The ATOMiK Linux kernel module exposes delta-state operations via /dev/atomik and sysfs. DKMS-managed, supports kernels 5.15+.

Install & load

# Clone and install via DKMS
$ git clone https://github.com/MatthewHRockwell/ATOMiK
$ cd ATOMiK/software/atomik_kmod
$ sudo ./install.sh

# Verify it loaded
$ cat /sys/class/atomik/atomik0/version
0.4.0

sysfs interface

# Runtime status
$ cat /sys/class/atomik/atomik0/backend
software

# Operation counters
$ cat /sys/class/atomik/atomik0/ops_total
0

# Per-operation: ops_load, ops_accum,
# ops_read, ops_swap

What Pro Looks Like

Real output from the ATOMiK kernel module running on a Kubernetes cluster.

atomik-status

ATOMiK v0.5.0 [software backend]trial (87 days remaining)

Operations:     14,293 total (3,821 load, 6,104 accum, 3,891 read, 477 swap)
COW Detection:  23.4% redundancy (3,344 / 14,293 copies redundant)
Network:        8.7% redundancy (1,243 / 14,293 sends redundant)
Bytes Saved:    847 MB (COW: 612 MB, Network: 235 MB)

Top Waste by Container:
  api-server-7f8d4    612 MB  (43.2%)
  worker-pool-3a2c    189 MB  (13.4%)
  redis-cache-9e1b     46 MB   (3.3%)

atomik-report --brief

ATOMiK Efficiency Report
Generated: 2026-03-16 09:14:22 UTC
────────────────────────────────────

Cluster:        prod-us-east-1
Nodes:          12
Containers:     87
Uptime:         3d 14h 22m

Savings Summary
  COW copies avoided:   612 MB
  Network sends avoided: 235 MB
  Total saved:           847 MB
  Redundancy rate:       18.9%

Top Recommendation
  api-server: 43% of waste. Consider
  increasing shared memory pool or
  enabling delta-sync for replicas.

This is what Pro shows you. 90-day free trial, no credit card.

Pro

Ready to install?

Start your 90-day free trial to get the Linux kernel module with COW detection, network dedup, and real-time waste tracking.

Start Pro Trial

ioctl usage (C)

#include <uapi/atomik.h>

int fd = open("/dev/atomik", O_RDWR);

// Create a table with 256 contexts
struct atomik_create_table_args ct = { .num_contexts = 256 };
ioctl(fd, ATOMIK_IOC_CREATE_TABLE, &ct);

// Core operations via ioctl
struct atomik_load_args la = { .table_id = ct.table_id,
    .addr = 0, .initial_state = 0xDEADBEEF };
ioctl(fd, ATOMIK_IOC_LOAD, &la);