At 12:32 AM 11/16/2010, John wrote:
You're also missing the design limitations of the actual drives. Assuming IDE/SATA, the disks do not support disconnected writes, which is a significant performance bottleneck when you are writing to the disk...SAS/SCSI drives have 128 concurrent writes (tagged command queue depth).

I'm not sure what you mean by "also missing", since I have been spot-on about disk writes potentially causing performance problems, and what you're saying supports what I said before. This is something that I have studied extensively.

I am talking about the physical drive design. Not the OS's inability to stop causing huge amounts of latency because of x/y/z kernel issue/bug/feature/design.

You are misinformed about SATA drives. Many do support NCQ, which is the equivalent to TCQ on SAS/SCSI. The OS also maintains its cache and uses a scheduler to try to optimize writes, usually doing a decent job at maintaining a good rate of IOPs. Regardless of the NCQ/TCQ capability, the same performance problem would exist, given heavy enough disk access.

No. SATA drives don't seem to support disconnected writes. Writing to disk on SATA is a latency killer. (Read through the SATA spec, it's there, probably on wikipedia too). I didn't know NCQ allowed 32 commands to be store-and-executed, I thought it was 8 or 16.
I know how OS's work, btw.


My comment about log writes listed them as an example of something that can make a tick take longer than anticipated, along with plugins (and the game itself). This is a valid example, but even if it were not valid, the overall assertion stands.

> I have no idea what baseline performance is in the context of a game server.

The baseline performance in that case would be no background disk access.

mlock()? Memory backed filesystem that doesn't cause faults? different drives? sockets? null?

I think there might be a misunderstanding here. My example was that disk write delays due to logging during periods of heavy disk writes are one factor that I have seen lead to a performance problem and at the same time cause FPS dips. The baseline performance case for that particular scenario is very simple and as I described. I was not suggesting that there are no other reasons for FPS dips, or suggesting a baseline performance description for all scenarios. This is also a very small piece of what I said as a whole.

-John


If logging causes you performance.. problems, turn off logging? Stuff your logs into a socket? How about hack in a fix yourself with reverse engineering and .so's?

I guess they could have a separate thread with an IPI-like that is only used for disk writes.







_______________________________________________
To unsubscribe, edit your list preferences, or view the list archives, please 
visit:
http://list.valvesoftware.com/mailman/listinfo/hlds_linux

Reply via email to