Migrating from WLM to gWLM
18
Migration example: FSS-based workloads with stretch goals
In WLM, you can create a stretch goal for a workload by defining multiple SLOs, at distinct priorities,
for the workload.
The WLM configuration
In this example, we have another 8-core server split into two FSS-based workload groups sized by
CPU utilization. Each group has a CPU resource allocation at priority 1 and at priority 2. The priority
1 SLOs guarantee the workloads four cores each. The priority 2 SLOs (stretch goals) allow a
workload to borrow any resources that go unused after the priority 1 SLOs are satisfied. The
configuration also sets a minimum allocation of one core and a maximum allocation of seven cores
for both workloads. It also has several application records.
prm {
groups = apps_grp : 2,
db_grp : 3;
# place a custom binary and perl script into apps_grp,
# shell script and oracle instance into g3
apps = apps_grp : /opt/perl/bin/perl "myperlscript.pl",
apps_grp : /opt/myapp/bin/myapp,
db_grp : /bin/sh "myscript.sh",
db_grp : /oracle/u01/app/oracle/product/10.2.0/db_dev_1/bin/oracle
"ora*MYINST*";
}
slo apps_base_slo {
pri = 1;
goal = usage _CPU;
mincpu = 100;
maxcpu = 400;
entity = PRM group apps_grp;
}
slo db_base_slo {
pri = 1;
goal = usage _CPU;
mincpu = 100;
maxcpu = 400;
entity = PRM group db_grp;
}
slo apps_stretch_slo {
pri = 2; # NOTE lower priority
goal = usage _CPU;
mincpu = 100;
maxcpu = 700;
entity = PRM group apps_grp;
}
slo db_stretch_slo {
pri = 2; # NOTE lower priority
goal = usage _CPU;
mincpu = 100;
maxcpu = 700;
entity = PRM group db_grp;
}
tune {
absolute_cpu_units=1; # 100 units is 100% of 1 CPU, not the whole server
}