Hi,
In the load phase you need to use the "threadcount" parameter to specify the number of threads that should be used to load the data. This value should be decided such that it satisfies the following condition:
friendcountperuser < (usercount/threadcount)
This is because BG fragments the users into t clusters where t is the value specified for threadcount. And then it tries to generate friendships within each cluster. For example if we want to construct a social graph with 10 members where each member has 6 friends with threadcount=2, each thread will load 5 members and will then try to generate 6 friends for each member in the 5 member cluster of its own which doesn't make sense.
When running the benchmark using the "-t" option the parameter "threadcount" is used to specify the number of threads issuing requests against the data store. At this stage BG also needs to be aware of the data loaded into the data store in order to issue meaningful results. For example it should issue a thawFriendship for two users that are already friends with one another. For this purpose BG should be aware of the social graph loaded into the data store. This is done using the following parameters:
initapproach=deterministic
numloadthreads
friendcountperuser
resourcecountperuser
useroffset=0
usercount
Where the numloadthreads should be set to the value t specified in the load phase.
To cut a long story short, if you set threadcount=t in the load phase, in the benchmarking phase you should set numloadthreads=t.and the use threadcount=s to emulate s threads issuing actions against the data store.
Sumita