Author Topic: Control.config file  (Read 12363 times)

tdeneau

  • Jr. Member
  • **
  • Posts: 51
  • Karma: +1/-1
Control.config file
« on: December 16, 2016, 09:23:50 PM »
I would like to view the Control.config files that were used for each submission.  I did not see it in the Supporting Documentation .tgz file.  Where can this be viewed?

-- Tom

ChrisFloyd

  • Moderator
  • Jr. Member
  • *****
  • Posts: 52
  • Karma: +2/-0
Re: Control.config file
« Reply #1 on: December 20, 2016, 05:00:39 PM »
Tom,

The Control.config is not included in the supporting .tgz file in it's original form.  However, all of the values are contained in the .raw file which is available next to each result on the SPEC results website.  Unfortunately, they are somewhat buried in the middle of that file, and arranged in alphabetical order, so you'll have to perform text searches to find the example values you are looking for. 

I'm attaching an example Control.config that my particular company has used, however, all of the comments sections are stripped out, so it may be a bit difficult to follow... I'll ask subcommittee members if they have a cleaner example Control.config tomorrow.

Thanks,
-Chris
« Last Edit: December 20, 2016, 05:03:00 PM by ChrisFloyd »

lroderic

  • Moderator
  • Full Member
  • *****
  • Posts: 167
  • Karma: +6/-0
Re: Control.config file
« Reply #2 on: January 04, 2017, 03:30:39 PM »
## This Control.config file runs four tiles with all four workloads for 900 sec with a 300 sec ramp up and
##   600 sec warm up (non-compliant)
## This run does not measure power
## Each tile has a dedicated webserver virtual client (vclientNw) and a virtual client for all remaining
##   workloads (vclientN) under PRIME_HOST and WORKLOAD_CLIENTS
## Prime controller vclient1 is combined with virtual client for tile 1
## Uses customized PRIME_HOST_INIT_SCRIPT for each workload (emulator/app/dbserver shuts down,
##   restores DB, restarts db/appserver/emulator; web server restarts; mailserver restarts)
## DEBUG run (set to 3) prints out additional harness info
## Call an exit script SPECVIRT_EXIT_SCRIPT miscCollect.sh to collect host and VM info

########################################################################
#
# Control.config
#
# SPECvirt_sc2013 properties file.
#
# Copyright (c) 2008-2013 Standard Performance Evaluation Corporation (SPEC)
# All rights reserved.
#
########################################################################

RAMP_SECONDS = 300

WARMUP_SECONDS= 600
#WARMUP_SECONDS = 1200

POLL_INTERVAL_SEC = 900
#POLL_INTERVAL_SEC = 7200

NUM_TILES = 4

SPECVIRT_HOST = vclient1
SPECVIRT_RMI_PORT = 9990

RMI_TIMEOUT = 30

PRIME_HOST[0][0] = "vclient1:1098"
PRIME_HOST[0][1] = "vclient1w:1096"
PRIME_HOST[0][2] = "vclient1:1094"
PRIME_HOST[0][3] = "vclient1:1092"
PRIME_HOST[1][0] = "vclient2:1098"
PRIME_HOST[1][1] = "vclient2w:1096"
PRIME_HOST[1][2] = "vclient2:1094"
PRIME_HOST[1][3] = "vclient2:1092"
PRIME_HOST[2][0] = "vclient3:1098"
PRIME_HOST[2][1] = "vclient3w:1096"
PRIME_HOST[2][2] = "vclient3:1094"
PRIME_HOST[2][3] = "vclient3:1092"
PRIME_HOST[3][0] = "vclient4:1098"
PRIME_HOST[3][1] = "vclient4w:1096"
PRIME_HOST[3][2] = "vclient4:1094"
PRIME_HOST[3][3] = "vclient4:1092"

SPECVIRT_EXIT_SCRIPT = "miscCollect.sh"

PRIME_HOST_INIT_SCRIPT[0] = "jappInitRstr.sh"
PRIME_HOST_INIT_SCRIPT[1] = "webInit.sh"
PRIME_HOST_INIT_SCRIPT[2] = "mailInit.sh"
#PRIME_HOST_INIT_SCRIPT[3] = "batchInit.sh"

PRIME_PATH[0] = "/opt/SPECjAppServer2004/classes"
PRIME_PATH[1] = "/opt/SPECweb2005"
PRIME_PATH[2] = "/opt/SPECimap"
PRIME_PATH[3] = "/opt/SPECbatch"

POLL_PRIME_PATH = "/opt/SPECpoll"

CLIENT_PATH[0] = "/opt/SPECjAppServer2004/classes"
CLIENT_PATH[1] = "/opt/SPECweb2005"
CLIENT_PATH[2] = "/opt/SPECimap"
CLIENT_PATH[3] = "/opt/SPECbatch"

POLL_CLIENT_PATH = "/opt/SPECpoll"

MAX_POLL_DELAY_MSEC = 2000

# FILE_SEPARATOR = "/"

CLIENT_APP[0] = "-jar specjappclient.jar"
CLIENT_APP[1] = "-jar specwebclient.jar"
CLIENT_APP[2] = "-jar specimapclient.jar"
CLIENT_APP[3] = "-jar specbatchclient.jar"

POLL_CLIENT_APP = "-jar specpollclient.jar"

# PRIME_START_DELAY is the number of seconds to wait after starting the
# clients before starting the prime clients. Increase this value if you
# find that prime clients fail to start because the clients have not
# finished preparing to listen for prime client commands before these
# commands are sent.

PRIME_START_DELAY = 20

# WORKLOAD_START_DELAY can be used to stagger the time at which clients
# begin to ramp up their client load by delaying client thread ramp-up by
# the specified number of seconds. Seconds specified is *total* time from
# the beginning of the client ramp-up phase. Therefore, if you have
# delays of 1, 5, and 3, repectively for three different clients,
# the order of of the start of workload client ramp-up would be first,
# third, and then second.
# Format examples:
# Default format: all tiles/all workloads use this non-indexed delay value
#                 unless otherwise specified.
# WORKLOAD_START_DELAY = 1
# Tile delay format: all workloads on Tile "x" use this value
# WORKLOAD_START_DELAY
  • = 1

# Tile/workload delay format: Workload "y" on Tile "x" uses this value
# WORKLOAD_START_DELAY
  • [y] = 1


WORKLOAD_START_DELAY = 1
# WORKLOAD_START_DELAY[0] = 1
# WORKLOAD_START_DELAY[0][0] = 1

PRIME_HOST_RMI_PORT[0] = 9900
PRIME_HOST_RMI_PORT[1] = 9901
PRIME_HOST_RMI_PORT[2] = 9902
PRIME_HOST_RMI_PORT[3] = 9903

PRIME_APP[0] = "-jar specjapp.jar"
PRIME_APP[1] = "-jar specweb.jar"
PRIME_APP[2] = "-jar specimap.jar -calibrate"
PRIME_APP[3] = "-jar specbatch.jar"

POLL_PRIME_APP = "-jar specpoll.jar"

ECHO_POLL = 1

DEBUG_LEVEL = 3
#DEBUG_LEVEL = 1

CLIENT_LISTENER_PORT = "1088"
POLLING_RMI_PORT = "8001"

WORKLOAD_CLIENTS[0][0] = "vclient1:1091"
WORKLOAD_CLIENTS[0][1] = "vclient1w:1010"
WORKLOAD_CLIENTS[0][2] = "vclient1:1200"
WORKLOAD_CLIENTS[0][3] = "vclient1:1902"
WORKLOAD_CLIENTS[1][0] = "vclient2:1091"
WORKLOAD_CLIENTS[1][1] = "vclient2w:1010"
WORKLOAD_CLIENTS[1][2] = "vclient2:1200"
WORKLOAD_CLIENTS[1][3] = "vclient2:1902"
WORKLOAD_CLIENTS[2][0] = "vclient3:1091"
WORKLOAD_CLIENTS[2][1] = "vclient3w:1010"
WORKLOAD_CLIENTS[2][2] = "vclient3:1200"
WORKLOAD_CLIENTS[2][3] = "vclient3:1902"
WORKLOAD_CLIENTS[3][0] = "vclient4:1091"
WORKLOAD_CLIENTS[3][1] = "vclient4w:1010"
WORKLOAD_CLIENTS[3][2] = "vclient4:1200"
WORKLOAD_CLIENTS[3][3] = "vclient4:1902"

PRIME_CONFIG_FILE[0] = "run.properties,default.env"
PRIME_CONFIG_FILE[1] = "Test.config,Testbed.config,SPECweb_Support.config"
PRIME_CONFIG_FILE[2] = "IMAP_config.rc,IMAP_fixed.rc,IMAP_sysinfo.rc"
PRIME_CONFIG_FILE[3] = "Test.config"
POLL_CONFIG_FILE = "Test.config"

LOCAL_CONFIG_DIR[0] = "/opt/SPECjAppServer2004/config"
LOCAL_CONFIG_DIR[1] = "/opt/SPECweb2005"
LOCAL_CONFIG_DIR[2] = "/opt/SPECimap"
LOCAL_CONFIG_DIR[3] = "/opt/SPECbatch"

POLL_LOCAL_CFG_DIR = "/opt/SPECpoll"

PRIME_CONFIG_DIR[0] = "/opt/SPECjAppServer2004/config"
PRIME_CONFIG_DIR[1] = "/opt/SPECweb2005"
PRIME_CONFIG_DIR[2] = "/opt/SPECimap"
PRIME_CONFIG_DIR[3] = "/opt/SPECbatch"

POLL_PRIME_CFG_DIR = "/opt/SPECpoll"

USE_RESULT_SUBDIRS = 1

RESULT_TYPE = 1
IGNORE_CLOCK_SKEW = 0
CLOCK_SKEW_ALLOWED = 2
DATA_COLLECT_MAX_WAIT_SEC = "300"

########################################################################
# FIXED WORKLOAD PROPERTIES
# Changing any of the property values, below, will result in a
# non-compliant benchmark run
########################################################################

VMS_PER_TILE = 5

NUM_WORKLOADS = 4

WORKLOAD_LABEL[0] = "Application Server"
WORKLOAD_LABEL[1] = "Web Server"
WORKLOAD_LABEL[2] = "Mail Server"
WORKLOAD_LABEL[3] = "Batch Server"

BACKEND_VM_LABEL[0] = "Database Server"
BACKEND_VM_LABEL[1] = "Infrastructure Server"

POLL_MASTERS = 1

IDLE_START_DELAY = 0
IDLE_RAMP_SEC = 10
IDLE_WARMUP_SEC = 10
IDLE_POLL_SEC = 600

INTERVAL_POLL_VALUES = 0
POLL_DELAY_SEC = 0
BEAT_INTERVAL = 10
IGNORE_POLL_ERROR = 0
RESULT_FILE_NAMES[0] = "Atomicity.html, Audit.report, Dealer.detail, Dealer.summary, Mfg.detail, Mfg.summary, result.props, SPECjAppServer.summary"
RESULT_FILE_NAMES[1] = "SPECweb_Support.raw"
RESULT_FILE_NAMES[2] = "output.raw, specimap.rsl"
RESULT_FILE_NAMES[3] = "SPECbatch.raw, CINT2006.train.rsf, CPU2006.log"
POLL_RES_FILE_NAMES = "SPECpoll.raw"
USE_WEIGHTED_QOS = 0

LOAD_SCALE_FACTORS = "1.0,0"
QUIESCE_SECONDS = 300

WORKLOAD_SCORE_TMAX_VALUE[0] = 174.30
WORKLOAD_SCORE_TMAX_VALUE[1] = 179.98
WORKLOAD_SCORE_TMAX_VALUE[2] = 143.60
WORKLOAD_SCORE_TMAX_VALUE[3] = 0

WORKLOAD_LOAD_LEVEL[0] = 100
WORKLOAD_LOAD_LEVEL[1] = 2500
WORKLOAD_LOAD_LEVEL[2] = 500
WORKLOAD_LOAD_LEVEL[3] = 0

WORKLOAD_NUM_SHARED[0] = 4
WORKLOAD_AGG_AUDIT[0] = org.spec.virt.JAppAudit

tdeneau

  • Jr. Member
  • **
  • Posts: 51
  • Karma: +1/-1
Re: Control.config file
« Reply #3 on: January 04, 2017, 04:22:56 PM »
Lisa --

When I had used this INIT_SCRIPT configuration earlier with multiple tiles, I thought I saw that multiple appservers were concurrently running jappInitRstr.sh against a single DB, which looked wrong.

-- Tom


PRIME_HOST_INIT_SCRIPT[0] = "jappInitRstr.sh"
PRIME_HOST_INIT_SCRIPT[1] = "webInit.sh"
PRIME_HOST_INIT_SCRIPT[2] = "mailInit.sh"
#PRIME_HOST_INIT_SCRIPT[3] = "batchInit.sh"



lroderic

  • Moderator
  • Full Member
  • *****
  • Posts: 167
  • Karma: +6/-0
Re: Control.config file
« Reply #4 on: January 04, 2017, 04:27:51 PM »
You're right. There are a few ways around this, but perhaps this is the cleanest:

PRIME_HOST_INIT_SCRIPT[0][0] = "jappInitRstr.sh"
PRIME_HOST_INIT_SCRIPT[1][0] = "jappInit.sh"
PRIME_HOST_INIT_SCRIPT[2][0] = "jappInit.sh"
PRIME_HOST_INIT_SCRIPT[3][0] = "jappInit.sh"
PRIME_HOST_INIT_SCRIPT[4][0] = "jappInitRstr.sh"
PRIME_HOST_INIT_SCRIPT[5][0] = "jappInit.sh"
PRIME_HOST_INIT_SCRIPT[6][0] = "jappInit.sh"
PRIME_HOST_INIT_SCRIPT[7][0] = "jappInit.sh"
.
.
.



tdeneau

  • Jr. Member
  • **
  • Posts: 51
  • Karma: +1/-1
Re: Control.config file
« Reply #5 on: January 11, 2017, 05:14:38 PM »
General question on which of the Control.config time periods can be shortened without causing error side effects.  I noticed that when POLL_INTERVAL_SEC was shortened to even 3600, there were errors from batchserver.

Would like to shorten things for quicker testing.

-- Tom


AnoopGupta

  • Jr. Member
  • **
  • Posts: 60
  • Karma: +0/-0
Re: Control.config file
« Reply #6 on: January 18, 2017, 01:49:45 PM »
Batchserver runs workload once per hour. With POLL_INTERVAL_SEC reduced to 3600, batchserver can complete only 1 of the 2 rounds. As it violates run rules you will get validation errors. However, for your experiments it should be OK to run shortened run with 3600 sec.

tdeneau

  • Jr. Member
  • **
  • Posts: 51
  • Karma: +1/-1
Re: Control.config file
« Reply #7 on: January 18, 2017, 03:42:27 PM »
In a related question,
I tried speeding things up by changing to
   RAMP_SECONDS = 60
   WARMUP_SECONDS = 60

and saw errors such as:
2017-01-18 14:35:31:738 [ERROR] client1:1098 (PRIME_HOST[0][0]) failed to enter run phase before start of polling interval!
2017-01-18 14:35:31:744 [ERROR] client1:1096 (PRIME_HOST[0][1]) failed to enter run phase before start of polling interval!
2017-01-18 14:35:31:745 [ERROR] client1:1094 (PRIME_HOST[0][2]) failed to enter run phase before start of polling interval!
2017-01-18 14:35:31:747 [ERROR] client2:1098 (PRIME_HOST[1][0]) failed to enter run phase before start of polling interval!
2017-01-18 14:35:31:749 PrimeControl: dumping polling start response times...
2017-01-18 14:35:31:751 [ERROR] client1:1098 (PRIME_HOST[0][0]) msec after pollStart: 9223372036854775807
2017-01-18 14:35:31:752 [ERROR] client1:1096 (PRIME_HOST[0][1]) msec after pollStart: 9223372036854775807
2017-01-18 14:35:31:753 [ERROR] client1:1094 (PRIME_HOST[0][2]) msec after pollStart: 9223372036854775807
2017-01-18 14:35:31:754 client1:1092 (PRIME_HOST[0][3]) msec after pollStart: 1708
2017-01-18 14:35:31:755 [ERROR] client2:1098 (PRIME_HOST[1][0]) msec after pollStart: 9223372036854775807
2017-01-18 14:35:31:755 client2:1096 (PRIME_HOST[1][1]) msec after pollStart: 1731
2017-01-18 14:35:31:756 client2:1094 (PRIME_HOST[1][2]) msec after pollStart: 70
2017-01-18 14:35:31:756 client2:1092 (PRIME_HOST[1][3]) msec after pollStart: 67
2017-01-18 14:35:31:756 PrimeControl: [ERROR] one or more workloads failed to start runtime before start of polling interval. Aborting.

Does this mean RAMP_SECONDS and WARMUP_SECONDS have to be at their compliant values?

AnoopGupta

  • Jr. Member
  • **
  • Posts: 60
  • Karma: +0/-0
Re: Control.config file
« Reply #8 on: January 18, 2017, 03:47:56 PM »
60 sec is way too low. It depends on your setup and configuration, but anything below 300 would surely get you into errors. The minimum required values are there for a reason. If you reduce them, please do so at your own risk.

ChrisFloyd

  • Moderator
  • Jr. Member
  • *****
  • Posts: 52
  • Karma: +2/-0
Re: Control.config file
« Reply #9 on: January 18, 2017, 04:00:25 PM »
Tom,

Ramp and WarmUp settings of 60 seconds is almost certainly too low.  For test environments with low tile counts and low overall host CPU utilization, I recall having success with  RAMP_SECONDS = 180  and WARMUP_SECONDS = 300. 

Those are probably close to absolute minimum values, and will not work for many environments. Your mileage may vary.