fix: actually use banded strategy when requested
This commit is contained in:
@@ -17,6 +17,7 @@
|
|||||||
package recreationaltech.plugin
|
package recreationaltech.plugin
|
||||||
|
|
||||||
import groovy.transform.CompileDynamic
|
import groovy.transform.CompileDynamic
|
||||||
|
import recreationaltech.plugin.strategies.K8sDVFSFrequencyBandsSchedulingStrategy
|
||||||
import recreationaltech.plugin.strategies.K8sDVFSSchedulingStrategy
|
import recreationaltech.plugin.strategies.K8sDVFSSchedulingStrategy
|
||||||
import recreationaltech.plugin.strategies.K8sHashSchedulingStrategy
|
import recreationaltech.plugin.strategies.K8sHashSchedulingStrategy
|
||||||
|
|
||||||
@@ -137,12 +138,11 @@ class K8sExecutor extends Executor implements ExtensionPoint {
|
|||||||
ips[i] = client.getNodeExternalIp(nodes[i])
|
ips[i] = client.getNodeExternalIp(nodes[i])
|
||||||
log.info "[K8s] node ${nodes[i]} -> ${ips[i]}"
|
log.info "[K8s] node ${nodes[i]} -> ${ips[i]}"
|
||||||
}
|
}
|
||||||
strategy = new K8sDVFSSchedulingStrategy(this.runtimeEstimator,
|
strategy = new K8sDVFSFrequencyBandsSchedulingStrategy(this.runtimeEstimator,
|
||||||
new K8sDVFSClient(nodes, ips),
|
new K8sDVFSClient(nodes, ips),
|
||||||
() -> getClient(),
|
() -> getClient(),
|
||||||
k8sConfig.runtimeComparisonEpsilon,
|
k8sConfig.runtimeComparisonEpsilon,
|
||||||
k8sConfig.dvfsSchedulingNumTopRuntimes)
|
k8sConfig.dvfsSchedulingNumTopRuntimes)
|
||||||
strategy.fullSpeedMode = false
|
|
||||||
} else {
|
} else {
|
||||||
log.error "[K8s] invalid scheduling strategy $k8sConfig.schedulingStrategy, falling back on \"Hash\""
|
log.error "[K8s] invalid scheduling strategy $k8sConfig.schedulingStrategy, falling back on \"Hash\""
|
||||||
strategy = new K8sHashSchedulingStrategy()
|
strategy = new K8sHashSchedulingStrategy()
|
||||||
|
|||||||
1
sarek-1/.gitignore
vendored
Normal file
1
sarek-1/.gitignore
vendored
Normal file
@@ -0,0 +1 @@
|
|||||||
|
*.fastq.gz
|
||||||
3
sarek-1/clean.sh
Normal file
3
sarek-1/clean.sh
Normal file
@@ -0,0 +1,3 @@
|
|||||||
|
#!/bin/sh
|
||||||
|
|
||||||
|
rm -rf out work .nextflow .nextflow.log .nextflow.log.* measurements
|
||||||
41
sarek-1/nextflow.config
Normal file
41
sarek-1/nextflow.config
Normal file
@@ -0,0 +1,41 @@
|
|||||||
|
plugins {
|
||||||
|
id 'k8s-dvfs@0.1.0'
|
||||||
|
}
|
||||||
|
|
||||||
|
workDir = '/workspace'
|
||||||
|
|
||||||
|
process {
|
||||||
|
executor = 'k8s-dvfs'
|
||||||
|
//container = 'ubuntu:22.04'
|
||||||
|
|
||||||
|
pod = [
|
||||||
|
imagePullPolicy: 'IfNotPresent'
|
||||||
|
]
|
||||||
|
}
|
||||||
|
|
||||||
|
k8s {
|
||||||
|
namespace = 'trogantk'
|
||||||
|
|
||||||
|
storageClaimName = 'cephfs-trogantk'
|
||||||
|
storageMountPath = '/workspace'
|
||||||
|
launchDir = '/workspace/launch'
|
||||||
|
projectDir = '/workspace/projects'
|
||||||
|
cleanup = true
|
||||||
|
|
||||||
|
imagePullPolicy = 'IfNotPresent'
|
||||||
|
schedulerInterval = '1m'
|
||||||
|
recordTaskRuntimes = false
|
||||||
|
schedulingStrategy = 'DVFS'
|
||||||
|
runtimeComparisonEpsilon = '10s'
|
||||||
|
dvfsSchedulingNumTopRuntimes = 3
|
||||||
|
nodeLabel = 'usedby=trogantk'
|
||||||
|
|
||||||
|
nodeInit {
|
||||||
|
enabled = true
|
||||||
|
image = 'gitea.kleine.eulenhexe.de/kevin/ma/dvfs-agent:0.2.0'
|
||||||
|
command = ['/usr/local/bin/agent']
|
||||||
|
wait = 'Running'
|
||||||
|
cleanup = true
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
5
sarek-1/run.sh
Normal file
5
sarek-1/run.sh
Normal file
@@ -0,0 +1,5 @@
|
|||||||
|
#!/bin/sh
|
||||||
|
|
||||||
|
cp samplesheet.csv /workspace/launch/samplesheet.csv
|
||||||
|
cp *.fastq.gz /workspace/launch/.
|
||||||
|
time nextflow run -c nextflow.config nf-core/sarek -r 3.9.0 -profile docker --genome GRCm38 --input samplesheet.csv --outdir out --skip-tools multiqc
|
||||||
2
sarek-1/samplesheet.csv
Normal file
2
sarek-1/samplesheet.csv
Normal file
@@ -0,0 +1,2 @@
|
|||||||
|
patient,sample,lane,fastq_1,fastq_2
|
||||||
|
ID1,S1,L001,SRR27016609_1.fastq.gz,SRR27016609_2.fastq.gz
|
||||||
|
Reference in New Issue
Block a user