Is A Trace-Based Analysis Accurate?
We’re using a trace-gathering tool sourced from Intel to analyze the storage pattern of games. IPEAK is trace-based, which means it records the I/O commands issued at the operating system level.
But how accurate is using a trace? Actually, it's pretty damn good. Look at our results when we trace Iometer during a benchmark session with the following settings:
- # logical cores = workers
- 4 KB transfer size
- 4 KB align
- Fully random
IPEAK: Trace Accuracy
When we look at the trace captured from Iometer, we see that 100% of all accesses are eight sectors in size. This matches exactly the 4 KB setting we specified in Iometer (512 bytes per sector, yielding 4 KB).
Remember that sequential transfers incur zero seek distance. This graph confirms that IPEAK is correctly recording operations, as all the data is random.
This graph is interesting because all of the operations in our captured trace are queued 128-deep. That isn’t a mistake. We set Iometer to run with four workers on our Core i5-2500K, mimicking the workload you'd see from a threaded application issuing concurrent commands. Each worker runs independently, which means that queue depths stack up. That’s why our captured trace reflects the queue depth it's reflecting, despite the fact that we set Iometer to push a queue depth of 32.
We're happy to report that IPEAK-based measurements are extremely accurate, which is why it’s one of our favorite tools for storage evaluation.
Longer loading times are not crucial when all you want is to frag your enemies!
Doesn't this reduce the life of a SSD?
I'd like to see how the witcher stacks up with SSD. You are constantly having to load different areas the entire game so I made sure to have that on the SSD while playing it hoping to reduce the load times. Would like to see if that really paid off or not.
Does that mean if you had an infinitely fast disk, the level loading would take 56s? In which case, where is the bottleneck for level loading? Is it CPU bound? (if so, why isn't CPU usage at 100% when loading a level?) Memory? Graphics card?