System Architecture

The NIST Test and Evaluation team provides a shared testbed to evaluate trojan detection solutions against a sequestered dataset.

Test Servers

NIST maintains two test servers.

Both ‘servers’ operate on the same physical hardware, with identical software setups. The only difference between the two ‘servers’ is which processing queue the job is submitted to, what compute time limits there are, and how much data will be evaluated.

Currently there are 1 slots (concurrent executions) on the Smoke Test Server (STS), and 3 slots on the Evaluation Server (ES).

Evaluation Server

  • Dataset: the sequestered evaluation dataset

  • Compute time limit: 36 hours

  • Purpose: official evaluation of your container against the sequestered dataset

Smoke Test Server

  • Dataset: a small publicly available dataset

  • Compute time limit: 30 minutes

  • Purpose: testing, debugging.

Job Timeout

Job time limits are enforced using the linux command timeout -s SIGKILL which can generate an exit status code of -9 for your job.

[vm-executor.py:197] Execute status = -9
[vm-executor.py:199] VM "gpu-vm-db" Execute submission "container.simg" timed out

Compute Resources

Your solution will have access to the following server resources allocated for the duration of the compute time limit to evaluate the relevant dataset.

  • OS: Ubuntu 20.04 LTS

  • CPU: 15 physical cores (30 logical) from an AMD EPYC 7702P

  • Memory: 112 GiB

  • GPU: NVidia A100 (40GB GPU memory)

  • Disk: 1.5TB SATA SSDs for scratch space