Runtime Parameters

BG consists of a rich set of parameters to enable an evaluator to model a target application accurately. These parameters are categorized into two groups based on their use.

The first category is used as -p keyname=value and detailed in the first table that specifies the keyname, its possible values, and its description. The second category is used as -keyname [value] where [value] is optional for some of the commands.

keyname
value
Description
AcceptFrdReqSession A value between 0 to 1

Identifies the portion of requests performing the session containing the following actions in the specified order: VP, VTR, LF, VFR, AFR, LF, VFR.

AcceptFriendReqAction A value between 0 to 1

Identifies the portion of requests performing the AFR action.

ViewFrdProfileSession A value between 0 to 1

Identifies the portion of requests performing the session containing the following actions in the specified order: VP, VTR, LF, VP.

ViewSelfProfileSession A value between 0 to 1

Identifies the portion of requests performing the session containing the following actions in the specified order: VP, VTR, VCR.

DeleteCmtOnResSession A value between 0 to 1

Identifies the portion of requests performing the session containing the following actions in the specified order: VP, VTR, VP, VTR ,VCR, DCR, VCR.

DeleteCommentOnResourceAction A value between 0 to 1

Identifies the portion of requests performing the DCR action.

PostCmtOnResSession A value between 0 to 1

Identifies the portion of requests performing the session containing the following actions in the specified order: VP, VTR, VP, VTR ,VCR, PCR, VCR.

confperc A value between 0 to 1

The percentage of confirmed friendships among all the friendship relationships created for members.

expectedlatency A value greater than or equal to 0

The BG client uses the defined expected latency to compute the confidence for the various operations it performs in the benchmarking phase.

exportfile  

The name of the output file. If the output file is not specified the output will be written to the console.

friendcountperuser An even integer number greater than or equal to zero

The number of friendship relationships per member (This can be confirmed friendships, generated friendships or pending friendships).

InviteFrdSession A value between 0 to 1

Identifies the portion of requests performing the session containing the following actions in the specified order: VP, VTR, LF, IF, VFR

ViewCommentsOnResourceAction A value between 0 to 1

Identifies the portion of requests performing the VCR action

ListFriendsAction A value between 0 to 1

Identifies the portion of requests performing the LF action

ViewFriendReqAction A value between 0 to 1

Identifies the portion of requests performing the VFR action

ViewProfileAction A value between 0 to 1

Identifies the portion of requests performing the VP action

ViewTopKResourcesAction A value between 0 to 1

Identifies the portion of requests performing the VTR action

imagesize An integer number greater than 0

Identifies the image size in KB to be inserted for members in the load phase. BG will insert a random set of bytes corresponding to the image size specified for each member as an image. BG always inserts 2KB random bytes as the thumbnail image for the members.

initapproach querydata/deterministic

"querydata" instructs BG to query the initial state of the data store before running benchmark.
"deterministic" instructs BG to construct the intial state of the data store using information about the load phase. This parameter should be accompanied with resourcecountperuser, friendcountperuser, confper, numloadthreads and useroffset.

insertimage True/False

Identifies if images will be inserted/retrieved for members or not. These images will be used as thumbnails as well as member profile images.

interarrivaltime An integer greater than or equal to zero

the time between the various user sessions. 0 will be considered if not specified.

InviteFriendAction A value between 0 to 1

Identifies the portion of requests performing the IF action

logdir  

Specifies the directory for the log records. In the benchmarking phase the log files will be created in this directory and will be used in the validation phase.

machineid An integer greater than or equal to 0

The machineid is the BG Client identifier and should start from 0.

maxexecutiontime An integer greater than 0

Identifies the maximum benchmarking execution time in seconds.

monitor An integer value greater than or equal to 0

The duration at which the observed throughput is reported to the coordinator. This is used when the BG Client is in the rating mode.

numclients An integer greater than 0

The number of BG Clients in the system. If not specified numclients=1 will be assumed.

numloadthreads An integer greater than 0

The number of threads used in the load phase per BG client. This parameter should be accompanied with the initapproach=deterministic parameter.

operationcount An integer greater than 0

Number of social operations(actions/sessions) to be performed.

port A valid port

The port number on which the BG clients starts communicating with the BG listener.

PostCommentOnResourceAction A value between 0 to 1

Identifies the portion of requests performing the PCR action.

probs A string containing the various BG client rates separated by “@” and accompanied by a terminating “@”. i.e. If there are 3 clients we will have something similar to 0.3@0.6@0.1@

This is used for multi-node benchmarking. It specifies the rate at which all BG Clients issue request and is used in the generation of fragments for the dzipfian distribution.

ratingmode True/false

If the BG Client is used for rating and needs to coordinate with a coordinator this parameter needs to be set to true.

RejectFrdReqSession A value between 0 to 1

Identifies the portion of requests performing the session containing the following actions in the specified order: VP, VTR, LF, VFR, RFR, LF, VFR.

RejectFriendReqAction A value between 0 to 1

Identifies the portion of requests performing the RFR action.

requestdistribution uniform/dzipfian/latest

Identifies the distribution of the members generating requests.

resourcecountperuser An integer greater than or equal to zero

The number of resources created by each member.

thinktime An integer greater than or equal to zero

The think time between emulated member clicks. 0 will be considered if not specified.

threadcount An integer greater than 0

The simultaneous socialites emulating members issuing requests.

ThawFrdshipSession A value between 0 to 1

Identifies the portion of requests performing the session containing the following actions in the specified order: VP, VTR, LF, TF, LF.

ThawFriendshipAction A value between 0 to 1

Identifies the portion of requests performing the TF action.

usercount An integer greater than 0

Number of members in the data store. The members are assigned memberids in a sequential manner.

useroffset An integer greater than or equal to zero

The smallest memberid in the data store. Can be used when using multiple BG Clients to populate the data store. It will be considered as 0 if not specified

validation.driver  

Used when validation using the RDBMS. Identifies the database driver.

validation.passwd  

Used when validation using the RDBMS. Identifies the database password.

validation.url  

Used when validation using the RDBMS. Identifies the database URL.

validation.user  

Used when validation using the RDBMS. Identifies the database username.

validationapproach RDBMS/interval

Identifies the validation approach to be used. The interval option uses the interval tree approach to validate the log records.

validationblock An integer greater than zero

The number of log records validated by each validation thread.

validationthreads An integer greater than zero

Number of simultaneous threads used to validate log records.

warmup An integer greater than or equal to zero

The number of warmup operations issued to the data store. These operations are issued before the actual benchmarking phase starts and are not considered in the measurements. The default value for this is 0 operations.

warmupthreads An integer greater than zero

Identifies the number of threads to issue the warmup operations.

zipfianmean A value between 0 to 1, defining the skewness of the dzipfian distribution.

If the dzipfian distribution is specified the mean specified by this parameter will be used. The default value is 0.27.

enablelogging true/false, enables generation of log records.

If the enablelogging is set to true, log files will be generated for actions which can then be used to compute the amount of stale/unpredictable data.

The parameters in this table should be specified in the workload file or using the command line as follows: -p keyname=value. There are also some other data store client specific parameters. If both operationcount and maxexecution time are specified for the benchmark, the benchmark will stop executing once one of them is completed. The total sum of the proportions assigned for the sessions and the actions in a workload should not exceed 1. There are some other BG parameters which are not specified as -p key=value but are specified as keyname value. They are listed in the table below:

keyname
value
Description
-db The name of the data store client class

Identifies the data store interface layer which is going to be benchmarked.

-load None

Instructs BG to populate the data store.

-loadindex None

Instructs BG to populate the data store and create the appropriate index structures.

-P Name of the workload file

The name of the workload file containing the runtime workload parameters.

-s None

If specified, BG will report throughput and the observed average response time for the operations performed for 10 second windows throughout the benchmark execution.

-schema None

Instructs BG to create the data store schema.

-testdb None

Instructs BG to test the connection to the data store.

-stats None

Instructs BG to query the status of the data store.