[RFC] Imposing minimum response latency via blk-throttle

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Hello everyone,

I have an idea of adding a blk-throttle tunable for cgroups to make it
impose a minimum response latency for an IO by extending the
blk-throttle mechanism to delay reporting to the request completion of
IOs that are completed sooner than a set target. I wanted to get
preliminary feedback if there are any objections against the idea and
what would be possible alternatives in case this extension of
blk-throttle is not suitable.

I did consider using/extending dm-delay or writing a new dm-target,
but that would limit applicability since the dm-layer doesn't
pass-through partitions and would require alteration of a system's
layout to accommodate the throttling.

The motivation for the proposal is the following. I lately started
experimenting with using blk-throttle mechanisms to simulate slower
drives. That simulation helps understanding the sensitivity of complex
heterogeneous workloads - which are infeasible to analyze analytically
- to the performance of the underlying storage hardware. I found that
blk-throttle is a low overhead mechanism to artificially reduce
throughput (though the lack of an ability to specify a combined
read+write limit is a hurdle, which I also want to address) and get
somewhat representative results. But throttling BW and IOPS can not
cover cases of small synchronous IOs done in critical sections - which
are latency sensitive. Thus I am on a lookout for a simple mechanism
to impose system wide latency throttling to simulate latency
degradation without the need to alter the storage layout of the
system.

I believe there are more possible use cases for the mechanism, alas I
can only speculate about those.

Looking forward to hearing your opinion on the matter!
Thanks,

-- Daniil Lunev




[Index of Archives]     [Linux RAID]     [Linux SCSI]     [Linux ATA RAID]     [IDE]     [Linux Wireless]     [Linux Kernel]     [ATH6KL]     [Linux Bluetooth]     [Linux Netdev]     [Kernel Newbies]     [Security]     [Git]     [Netfilter]     [Bugtraq]     [Yosemite News]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Device Mapper]

  Powered by Linux