aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorClark Williams <williams@redhat.com>2015-11-19 14:06:05 -0600
committerClark Williams <williams@redhat.com>2015-11-19 15:19:04 -0600
commitb377dcd27d58c7809cf6cd1501f138f23f487f60 (patch)
tree5bfad7b8d21a71faa9b12dc497529ea61d5a5a42
parent9c904407e50d320dc09d2749ef0d8e4fb66b9f50 (diff)
downloadrteval-b377dcd27d58c7809cf6cd1501f138f23f487f60.tar.gz
hackbench: increase default parameters
setup groups to be 3 times number of cpus per node and increase both loops and datasize from 100 to 1000 Signed-off-by: Clark Williams <williams@redhat.com>
-rw-r--r--rteval/modules/loads/hackbench.py42
1 files changed, 25 insertions, 17 deletions
diff --git a/rteval/modules/loads/hackbench.py b/rteval/modules/loads/hackbench.py
index efbfdc8..c44b126 100644
--- a/rteval/modules/loads/hackbench.py
+++ b/rteval/modules/loads/hackbench.py
@@ -67,7 +67,7 @@ class Hackbench(CommandLineLoad):
biggest = len(self.cpus[n])
# setup jobs based on the number of cores available per node
- self.jobs = biggest
+ self.jobs = biggest * 3
# figure out if we can use numactl or have to use taskset
self.__usenumactl = False
@@ -81,12 +81,11 @@ class Hackbench(CommandLineLoad):
self.args = ['hackbench', '-P',
'-g', str(self.jobs),
- '-l', str(self._cfg.setdefault('loops', '100')),
- '-s', str(self._cfg.setdefault('datasize', '100'))
+ '-l', str(self._cfg.setdefault('loops', '1000')),
+ '-s', str(self._cfg.setdefault('datasize', '1000'))
]
self.__err_sleep = 5.0
-
def _WorkloadBuild(self):
# Nothing to build, so we're basically ready
self._setReady()
@@ -104,6 +103,7 @@ class Hackbench(CommandLineLoad):
self._log(Log.DEBUG, "starting loop (jobs: %d)" % self.jobs)
+ self.started = False
def __starton(self, node):
if self.__multinodes:
@@ -125,21 +125,29 @@ class Hackbench(CommandLineLoad):
if self.shouldStop():
return
+ # just do this once
+ if not self.started:
+ for n in self.nodes:
+ self.tasks[n] = self.__starton(n)
+ self.started = True
+ return
+
for n in self.nodes:
- if not self.tasks.has_key(n) or self.tasks[n].poll() is not None:
- try:
+ try:
+ if self.tasks[n].poll() is not None:
+ self.tasks[n].wait()
self.tasks[n] = self.__starton(n)
- except OSError, e:
- if e.errno != errno.ENOMEM:
- raise e
- # Catch out-of-memory errors and wait a bit to (hopefully)
- # ease memory pressure
- self._log(Log.DEBUG, "ERROR: %s, sleeping for %f seconds" % (e.strerror, self.__err_sleep))
- time.sleep(self.__err_sleep)
- if self.__err_sleep < 60.0:
- self.__err_sleep *= 2.0
- if self.__err_sleep > 60.0:
- self.__err_sleep = 60.0
+ except OSError, e:
+ if e.errno != errno.ENOMEM:
+ raise e
+ # Catch out-of-memory errors and wait a bit to (hopefully)
+ # ease memory pressure
+ self._log(Log.DEBUG, "ERROR: %s, sleeping for %f seconds" % (e.strerror, self.__err_sleep))
+ time.sleep(self.__err_sleep)
+ if self.__err_sleep < 60.0:
+ self.__err_sleep *= 2.0
+ if self.__err_sleep > 60.0:
+ self.__err_sleep = 60.0
def WorkloadAlive(self):