ServerlessX is a research umbrella for four complementary systems:
- Wiseswap: a kernel-space programmable RDMA network substrate built around pre-created QP pools, virtual QPs, and NIC-side work-request chains.
- ServerlessPD (SPD): RDMA Fork-based cross-node GPU-context cloning for disaggregated prefill/decode execution.
- ServerlessRec (SRec): application-aware, demand-paged RDMA Map for remote embedding memory in serverless recommendation inference.
- ServerlessLSM (SLSM): disaggregated LSM-tree storage using RDMA mmap, independently scalable flush/compaction, and lock-free metadata coordination.
The executable code in this private development snapshot currently centers on ServerlessPD. It makes the SPD contract inspectable and runnable on an ordinary CPU host and includes owned C/C++ native GDR and remote-fork userspace boundaries plus hardware-free tests. Wiseswap, ServerlessRec, and ServerlessLSM are documented research lineage and roadmap boundaries; no runnable implementation or profile for them is included in this snapshot.
See current status for the exact release and reproducibility boundary.
You need Python 3.9 or newer. The bootstrap CPU path has no third-party Python dependency and makes no privileged system change.
git clone https://github.com/LiuMicheal/ServerlessX.git
cd ServerlessX
./sx doctor
./sx plan --profile cpu
./sx run spd --profile cpu
./sx verify --latest
make testThe run writes a machine-readable result under runs/. The directory is local
evidence and is intentionally ignored by Git. See QUICKSTART.md
for the expected flow and troubleshooting steps.
| Path | Included | Executable in this bootstrap | What it establishes |
|---|---|---|---|
| SPD CPU contract simulation | Yes | Yes | Metadata validation, ordered acknowledgements, ownership transitions, and fail-closed protocol behavior |
| TinyLlama CUDA/TCP workload | Yes | Not declared hardware-ready | Real prefill/decode implementation plus tests that use fakes and local sockets without CUDA hardware |
| Native RDMA DMA-BUF | C++ source and build | Build only | CUDA VMM/DMA-BUF/native RC implementation; no hardware success claim |
| Remote-fork userspace boundary | C source and tests | Tests only | Role token, ioctl, FD ownership, and fail-closed audit behavior; no kernel module |
| PhoenixOS lab backend | Reference only | No | Historical experiment context only; no PhoenixOS, Remoting, KRCore, or Mitosis code is bundled |
| Wiseswap | Research status page | No | Published research lineage; no implementation, kernel module, or profile is bundled |
| ServerlessRec | Research status page | No | RDMA Map recommendation-system roadmap; no implementation or profile is bundled |
| ServerlessLSM | Research status page | No | RDMA mmap LSM-tree roadmap; no implementation or profile is bundled |
The CPU path is a protocol simulation. It does not transfer a real KV cache, load TinyLlama, exercise CUDA, measure network performance, prove GPU Direct RDMA, or reproduce a PhoenixOS remote-fork experiment.
- New user: read the quickstart.
- GPU/RDMA operator: read hardware profiles before running anything.
- Systems reader: start with the architecture and the native GDR boundary.
- Research reader: start with system lineage, included-code provenance, and upstream provenance.
- Release-scope reviewer: read current status.
- Contributor: read CONTRIBUTING.md.
- Coding agent: follow AGENTS.md.
- Release reviewer: read the licensing boundary.
src/serverlessx/ Executable Python package
native/spd-gdr/ C++ CUDA DMA-BUF/RDMA data plane and probes
runtime/rfork/ C remote-fork userspace ABI, runtime, and tests
backends/ External Mitosis and PhOS identity records
systems/ Wiseswap, ServerlessPD, ServerlessRec, and ServerlessLSM
profiles/ Capability and deployment declarations
deploy/ Deployment entry-point documentation
tests/ Standard-library unit and contract tests
testkit/ Result schemas and verification support
evidence/ Policy for publishable evidence
provenance/ Upstream identity and licensing observations
docs/ Concepts, operations, references, and research notes
.agents/skills/ Repository-local workflow for coding agents
Profiles are declarations, not promises. ./sx doctor observes the host,
./sx plan explains a proposed path, and only ./sx run creates a run result.
The repository never installs a driver, loads a kernel module, changes a
network interface, starts a VM, or invokes sudo by itself.
A user may give an agent this repository URL and ask it to prepare a run. The repository provides both operator rules and a local deployment skill so the agent can inspect the host, choose an executable compatible profile, present a plan, and verify the result. Humans remain in control of privileged actions: no agent is authorized by this repository to change the kernel, drivers, RDMA configuration, networking, VMs, or shared services.
This repository currently has no project-wide LICENSE. Copyright ownership,
institutional rights, and third-party lineage are being audited before a public
release. Until a license is committed, do not assume permission to use, modify,
or redistribute this repository beyond access explicitly granted by its
rights holders.
The files under native/spd-gdr/ retain individual Apache-2.0 SPDX identifiers.
The remaining repository, including the C rfork runtime, is still covered by
the project-wide ownership and licensing review. External projects are
identified for research provenance only. Their source,
patches, binaries, models, and build products are not bundled here. In
particular, PhoenixOS-Remoting and KRCore had no repository-root license at the
revisions observed during this audit; they must not be copied into a release
without separate rights clearance. See provenance/licensing.md.