SlaveList.waitForSlaveWorkCompletion()

After elapsed=nn seconds, Vdbench tells its slaves to terminate the current run, and waits for them to do so. If that takes more than 30 seconds Vdbench displays this message: "SlaveList.waitForSlaveWorkCompletion()".

Why could it take more than 30 seconds? At the end of a run no new i/o is generated by Vdbench, but it still has to wait for i/o that is already outstanding to complete. But why can that take more than 30 seconds? There can be multiple reasons for that.

  • One reason can be that the storage device is dead or dying, something I hope you won't see out there in the real user world.
  • An other reason is that we specified such a huge amount of Vdbench thread count that the amount of i/o outstanding at run termination time is so overwhelming that indeed it can't finish within 30 seconds.
  • One more reason: you are running against a file system (or a cached volume, e.g. /dev/dsk instead of /dev/rdsk) and flushing all the remaining dirty blocks from cache takes very long.
Comments:

Post a Comment:
  • HTML Syntax: NOT allowed
About

Blog for Henk Vandenbergh, author of Vdbench, and Sun StorageTek Workload Analysis Tool (Swat). This blog is used to keep you up to date about anything revolving around Swat and Vdbench.

Search

Categories
Archives
« April 2014
SunMonTueWedThuFriSat
  
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
   
       
Today