Il giorno 20/feb/2016, alle ore 11:23, Paolo Valente <paolo.valente@xxxxxxxxxx> ha scritto: > Hi > > > If both processes reach ~100MB/s during their service slot, then, with > both a budget- and time-based policy, we can meet the above bandwidth > requirements by just assigning 9 and 1 as weights to A and B, > respectively (the weight sum equals 10, thus A gets (9/10)*100 MB/s > and B gets (1/10)*100 MB/s). Things change considerably if, e.g., the > already penalized process B may get a lower throughput while it is > served. This may happen to B systematically, as a function of the > locality of its I/O pattern and of the characteristics of the > rotational or non-rotational device. To mention a very simple yet > still realistic scenario, it is enough that the storage resource is an > HDD, and that B alternatively reads a large file from the inner zones > and a large file from the outer zones of the HDD. For example, suppose > that, regardless of whether the policy is budget- or time-based, B > reaches a throughput equal to ~70MB/s during some budget/time slots, > and to ~100MB/s during other budget/time slots. On the other hand, A > always reaches ~100MB/s while it is served. > Just one note, in case it is not clear, about how the bandwidth provided to a process depends on the weights and the scheduler. With a budget-based scheduler, the bandwidth provided to a process with weight w is equal to: ( w/(sum of the weights of the processes doing I/O) ) * (total bandwidth) With a time-based scheduler, it is equal to: ( fraction of the time during which the process is in service ) * (bandwidth reached by the process while in service) = ( w/(sum of the weights of the processes doing I/O) ) * (bandwidth reached by the process while in service) Thanks, Paolo-- To unsubscribe from this list: send the line "unsubscribe linux-block" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html