Skip to content

Commit

Permalink
wb | 16M LMDB profile with tight heap and cgroup limit
Browse files Browse the repository at this point in the history
  • Loading branch information
fmaste committed Apr 30, 2024
1 parent eaae3dc commit e876bc1
Show file tree
Hide file tree
Showing 3 changed files with 42 additions and 1 deletion.
2 changes: 1 addition & 1 deletion Makefile
Original file line number Diff line number Diff line change
Expand Up @@ -100,7 +100,7 @@ PROFILES_NOMAD_PERF := default-nomadperf ci-test-nomadperf ci-bench-nomadp
PROFILES_NOMAD_PERF += plutus-nomadperf fast-nomadperf latency-nomadperf
PROFILES_NOMAD_PERF_NOP2P := default-nomadperf-nop2p oldtracing-nomadperf-nop2p ci-test-nomadperf-nop2p ci-bench-nomadperf-nop2p
PROFILES_NOMAD_PERF_NOP2P += value-nomadperf-nop2p value-oldtracing-nomadperf-nop2p plutus-nomadperf-nop2p fast-nomadperf-nop2p
PROFILES_NOMAD_PERFSSD := value-nomadperfssd fast-nomadperfssd latency-nomadperfssd value-16M32G-lmdb-nomadperfssd value-32M32G-lmdb-nomadperfssd
PROFILES_NOMAD_PERFSSD := value-nomadperfssd fast-nomadperfssd latency-nomadperfssd value-16M32G-lmdb-nomadperfssd value-32M32G-lmdb-nomadperfssd value-16M-tight-lmdb-nomadperfssd
# single node profiles on the NomadSSD cluster on AWS
PROFILES_UTXOSCALE_SOLO := utxoscale-solo-24M64G-nomadperfssd utxoscale-solo-12M64G-nomadperfssd utxoscale-solo-12M16G-nomadperfssd

Expand Down
14 changes: 14 additions & 0 deletions nix/workbench/backend/nomad-job.nix
Original file line number Diff line number Diff line change
Expand Up @@ -1375,19 +1375,27 @@ let
# Replaces the addresses and ports occurrences with Nomad templates variables.
startScriptToGoTemplate = nodeSpec: servicePortName: startScript:
builtins.replaceStrings
(
[
# Address string from
''--host-addr 127.0.0.1''
# Port string from
''--port ${toString nodeSpec.port}''
]
++
(if nodeSpec.name == "explorer"
then ["-M15600m"]
else []
)
)
# On cloud deployments to SRE-managed / dedicated P&T Nomad cluster, that
# uses AWS, the hosts at Linux level may not be aware of the EIP public
# address they have so we can't bind to the public IP (that we can resolve
# to using templates). The only options available are to bind to the
# "all-weather" 0.0.0.0 or use the private IP provided by AWS. We use the
# latter in case the Nomad Client was not started with the correct
# `-network-interface XX` parameter.
(
[
# Address string to
(
Expand All @@ -1407,6 +1415,12 @@ let
#''--port {{ env "NOMAD_HOST_PORT_${servicePortName}" }}''
#''--port {{ env "NOMAD_ALLOC_PORT_${name}" }}''
]
++
(if nodeSpec.name == "explorer"
then [" "]
else []
)
)
startScript
;

Expand Down
27 changes: 27 additions & 0 deletions nix/workbench/profile/prof1-variants.jq
Original file line number Diff line number Diff line change
Expand Up @@ -1052,6 +1052,33 @@ def all_profile_variants:
{ ssd_directory: "/ssd1"
}
}
, $nomad_perfssd_base * $nomad_perfssd_dense * $p2p * $costmodel_v8_preview *
{ name: "value-16M-tight-lmdb-nomadperfssd"
, genesis:
{ utxo: (16 * $M)
}
, node:
{ # run 2024-04-22-13-25-282ba-891-value-16M32G-lmdb-nomadperfssd-bage-nom
# Heap of node-0:
# 2024-04-22 13:46:54.871878713 UTC; 18048090112 (17212)
# 2024-04-22 13:47:08.277467792 UTC; 20589838336 (19636)
# 2024-04-22 15:45:36.828095457 UTC; 13135511552 (12527)
heap_limit: 15600 # Assuming RTS 0.8 * limit
, utxo_lmdb: true
}
, cluster:
{ # run 2024-04-22-13-25-282ba-891-value-16M32G-lmdb-nomadperfssd-bage-nom
# RSS of node-0:
# 2024-04-22 13:46:54.871878713 UTC; 18099585024 (17261)
# ... goes up to (probably loading genesis file)
# 2024-04-22 15:42:57.535351141 UTC; 22917529600 (21856)
# 2024-04-22 15:45:36.828095457 UTC; 15463256064 (14747)
# ... slowly goes up through the run
# 2024-04-23 07:32:16.258172645 UTC; 16898580480 (16116)
nomad: {resources: {producer: {cores: 16, memory: 15600, memory_max: 15600}}}
, ssd_directory: "/ssd1"
}
}
, $nomad_perfssd_base * $nomad_perfssd_dense * $p2p * $costmodel_v8_preview *
{ name: "value-32M32G-lmdb-nomadperfssd"
, genesis:
Expand Down

0 comments on commit e876bc1

Please sign in to comment.