BG is a benchmark to evaluate performance of a data store for interactive social networking actions and sessions.These actions and sessions either read or update a very small amount of the entire data set.

One may use BG to compute either a Social Action Rating (SoAR) or a Socialites rating of a data store.These ratings compute the number of concurrent actions performed by a system when a fixed percentage of requests (say 95%) observe a latency equal to or lower than a pre-specifid threshold (say 100 msec) with the amount of unpredictable data less than a fixed threshold (say 0.01%) for some fixed duration of time (say 10 minutes). The values in the parantheses are inputs to BG. BG's output is the SoAR and Socialites rating of its target data store.

  • Database Parameters
    MNumber of members in the database
    ΦNumber of friends per member
    ρNumber of resources per member
  • Workload Parameters
    OTotal number of sessions emulated by the benchmark
    εThink time between social actions constituting a session
    θInter-arrival time between users emulated by a thread
  • Rating Parameters
    αPercentage of requests with response time ≤ Β
    ΒMaximum response time observed by α requests
    ΤMax % of requests that observe unpredictable data
    δDuration of experiment to rate a system
    NNumber of BGClients

BG consists of the following 3 software components:

  1. A coordinator, BGCoord, computes SoAR and Socialites rating of a data store by implementing both an exhaustive and a heuristic search technique. Its input are the characteristics of an experiment, see Table above. It computes the fraction of workload that should be issued by each worker process, named BGClient, and communicates it with that BGClient. BGCoord monitors the progress of each BGClient periodically, aggregates their current response time and throughput, and reports these metrics to BG's visualization deck for display, see Item 3.

  2. A BGClient is slave to BGCoord and performs three key tasks. First, it populates the data store with BG database. Second, it generates its BGCoord specified workload by issuing requests to the data store. Third, it computes the amount of unpredictable data produced by the data store. It transmits key metrics to BGCoord both periodically and at the end of the experiment.

  3. BG Visualization Deck enables a user to specify parameter settings for BGCoord, start, and monitor an experiment.

One may use BGClient as a stand alone component to measure the throughput and average response time of a data store with a fixed number of threads, i.e., Socialites. In this case, BGClient must be provided with the necessary runtime parameters.