Cluster Policies & Fair-Share
To ensure fair allocation and cluster reliability across hundreds of Berkeley Lab scientists, Berkelium enforces the following policies:
1. Interactive pods
Section titled “1. Interactive pods”Pods without controllers (e.g., kind: Pod without a Deployment, StatefulSet, or DaemonSet) are considered interactive and are automatically terminated after 6 hours. Use Deployments for persistent services and Jobs for batch processing.
2. Batch Jobs — No sleep infinity (Strictly Prohibited)
Section titled “2. Batch Jobs — No sleep infinity (Strictly Prohibited)”3. General GPU usage
Section titled “3. General GPU usage”Users should terminate their workloads, especially using GPUs, once those are not needed.
4. Container Resource Requests & Limits (Default LimitRange)
Section titled “4. Container Resource Requests & Limits (Default LimitRange)”Always Specify Resource Requests and Limits
Always explicitly specify both resources.requests and resources.limits for every container in your workload.
If resource requests or limits are omitted, Kubernetes automatically applies the namespace default LimitRange:
- Default CPU Limit:
1(1 core) - Default CPU Request:
100m(0.1 core) - Default Memory Limit & Request:
1Gi - Minimum Allowable:
1mCPU,5MiMemory - Maximum Pod Memory:
1Ti
Why this matters:
- Severe CPU Throttling: If your workload requires multi-core compute but lacks explicit CPU limits, Kubernetes caps the container at 1 CPU core, degrading performance.
- Out-Of-Memory (OOM) Kills: If your job consumes more than 1Gi RAM without an explicit memory limit, the Linux kernel OOM-killer terminates the container immediately (
OOMKilled/ Exit Code 137). - Guaranteed Scheduling: Declaring
requestsensures the Kubernetes scheduler reserves guaranteed node resources for your workload instead of placing it on an oversubscribed node.
Recommended Resource Specification
Section titled “Recommended Resource Specification”resources: requests: cpu: "4" # Minimum guaranteed CPU cores memory: "16Gi" # Minimum guaranteed RAM limits: cpu: "8" # Maximum CPU burst ceiling memory: "32Gi" # Memory limit before OOM kill nvidia.com/gpu: "1" # (Optional) Required when using GPUs