ping

----- Original Message -----
From: "Hamza Bin Sohail" <[email protected]>
To: [email protected]
Sent: Thursday, June 26, 2014 9:10:06 PM
Subject: Questions regarding cloudsuite request-oriented benchmarks


Hi all,

I wanted to ask a few questions regarding request-oriented scaleout workloads 
in cloudsuite e.g memcached, websearch etc. I'm interested in downloading the 
simics images but before that, I had a few questions.

1) In the Wisconsin GEMS simulation infrastructure, there is a clear notion of 
transactions for commercial workloads and performance
is measured in terms of throughput i.e cycles per transaction , and not in 
terms of instructions executed. The reason obviously being that it is perfectly 
possible for multi-threaded workloads to be executing instructions while not 
doing any useful work e.g busy-waiting etc. Whenever a transaction is initiated 
or ended, the drivers inform the simulator (simics) through magic instructions. 
The magic instructions are event notification mechanisms. So the question is: 
Do the cloudsuite simics images for memcached,websearch and other 
request-oriented workloads have that mechanism in place to inform simflex about 
the completion of events ? For example, when the Faban driver gets a query 
response in websearch, or initiates one, does it tell Simflex about it through 
magic instructions ? If not, what mechanism does simflex use to report the 
number of requests completed in the final reported out ?

2) I am guessing these workloads setup as a distributed simics simulation, 
correct ? For example, for websearch, is the frontend server on a separate 
simulated machine, and the driver on a separate simulated machine, and the 
index nodes on a separate simulated machine ? If yes, and if the answer to my 
question in 1) is yes as well, then for websearch, are the magic instructions 
placed in the faban driver  to notify whether a request has ended or started ?

3) This question is only relevant if simflex does not know when a request was 
generated or completed. If the answer to 1) is no, how is performance measured 
? Is the benchmark run for fixed number of instructions in each sampling phase 
and then their execution times in each phase is aggregated / extrapolated to 
what the most likely execution time would've been if the entire benchmark were 
run to completion ?

Thanks alot

Hamza

Reply via email to