In the Interactive Workload of SNB there are two types of short queries:
- message view
- user profile view
In the current implementation of Interactive Workload by OGL, the following procedure is used:
For every long query (Q1-14 that is run, we perform a "random-walk" based procedure from its output. For example, if a query returns a set of messages, for each one of them we run the message view query with probability InitP (say, 60%). For all the messages viewed we also view their authors with the user profile view short query, now with the probability InitP - StepP (e.g., 60% - 10% = 50%). For all of those users, we perform the message view query on their recent posts with probability InitP - StepP - StepP (40% in our example). This random walk is finite since the probability at some point reaches 0.
Our proposal: Since the structure of the random walk (i.e., number of short queries and their type) does not depend on the actual values returned by long reads, but merely on InitP and StepP, we can generate the random walk sequences before hand (before starting the workload). During the run we only need to place parameters for the queries (i.e., what messages and users to view). Parameters can be drawn from the common buffer that is being populated by previous read queries. Size of the buffer controls temporal locality of read queries: the bigger the buffer is, the less "local" short read requests are.