Re: Optimization Analysis Tool

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

 



On Tue, Jul 4, 2017 at 1:20 AM, Spandan Kumar Sahu
<spandankumarsahu@xxxxxxxxx> wrote:
> Hi everyone.
>
> As a part of GSoC, I will be implementing a tool, to analyse the need
> of reweighting devices in the crushmap, and assign a score to the
> reweight-by-utilisation algorithm. Please correct me where I am wrong,
> and any other suggestions are more than welcome.
>
> The tool shall be a python module, in /src/pybind/mgr and it will use
> Ceph's current python mgr module to get "pg_summary".
>
> The parameters that I plan to use are:
> * The devices utilisation
>   The number of over-filled devices along with the the amount of
> over-filled%, will generate a score, using t-distribution. The reason,
> I shall consider only over-filled devices is because one 10%
> underfilled with 5 2% overfilled devices, is arguably a better
> situation than one 10% overfilled with 5 2% underfilled devices. The
> data for expected distribution after optimization can be obtained from
> python-crush module.

i assume the utilization is the ending status of the reweight.

>
> * Expected amount of data flow over the network
>   A score for it can be predicted, using the number of PGs that will
> be swapped during optimization, which can be found in python-crush[1].
> However, the number of PGs, might not give a better idea about the
> amount of data flow, over the network. Hence, using python mgr-module,
> and obtaining pgmap before and after each optimization step, will give
> the amount of data flow in the network.
>
> * Time for optimization process
>  This will simply keep a note of the time taken to produce an
> optimized crushmap from the existing one.

please note, in practice, administrator might want to reweight the cluster in a
iterative manner, say, change the weight with a smaller step size and multiple
steps, instead of setting the new weights in a single shot, to
minimize the impact
to the production.

>
> I would be using data from python-crush[2] and from pg_map (in json
> format) obtained by sending commands to python mgr module, to gather
> the values for the required parameters. A weighted combination of this
> shall determine the score for the optimization algorithm in place.
>
> My initial target is to output the results into a file. I would try to
> merge it with the dashboard plugin in mgr module, after the
> implementing the tool at first.
>
> [1]: http://libcrush.org/main/python-crush/blob/master/tests/test_optimize.py#L460
> [2]:http://libcrush.org/main/python-crush/blob/master/
>
> --
> Spandan Kumar Sahu
> IIT Kharagpur



-- 
Regards
Kefu Chai
--
To unsubscribe from this list: send the line "unsubscribe ceph-devel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html



[Index of Archives]     [CEPH Users]     [Ceph Large]     [Information on CEPH]     [Linux BTRFS]     [Linux USB Devel]     [Video for Linux]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]
  Powered by Linux