aws / aws/aws-nitro-enclaves-cli

Support finer-grained control over hugepages allocations

Open
#602 2 comments 5 reactions 0 assignees View on GitHub
enhancement
Dominant language
Rust
Stars
156
Forks
99
PR merge metrics
No merged PRs in 30d

Description

The current behavior of the `nitro-enclaves-allocator` script is to allocate the largest possible page first, then move on to smaller pages as necessary. While this generally makes sense, it can result in over-allocation of memory when you want to run multiple enclaves on a single node.

For example, if I want to allocate 2GB of memory for huge pages, the allocator will allocate 2 1GB pages. However, now if I'm using Kubernetes and want to schedule one pod that uses 1.5GB of memory and another of 500MB, I am unable to unless I request more memory than needed.

It would be wonderful if the max page size could be controlled via the `allocator.yaml` config. Even better would be fine-grained control over how many of each page size to allocate.

Contributor guide

Open the contributing guide

Research direction

Start by reading the nitro-enclaves-allocator script and the allocator.yaml configuration described in the issue. Determine how allocation order and page sizes are configured; done means the configuration can cap the maximum page size and, ideally, specify counts for each page size while supporting the stated Kubernetes allocation example.

Written by the indexing model from the issue text.

Assessment

Tech stack
rust
Domain
cli, infrastructure
Issue type
Feature
Difficulty
5/5
Estimated time
Over a week
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
35/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.