{"action":"created","issue":{"url":"https://api.github.com/repos/ceph/ceph/issues/18280","repository_url":"https://api.github.com/repos/ceph/ceph","labels_url":"https://api.github.com/repos/ceph/ceph/issues/18280/labels{/name}","comments_url":"https://api.github.com/repos/ceph/ceph/issues/18280/comments","events_url":"https://api.github.com/repos/ceph/ceph/issues/18280/events","html_url":"https://github.com/ceph/ceph/pull/18280","id":265152718,"number":18280,"title":"osd: add an external operation queue","user":{"login":"bspark8","id":18387854,"avatar_url":"https://avatars0.githubusercontent.com/u/18387854?v=4","gravatar_id":"","url":"https://api.github.com/users/bspark8","html_url":"https://github.com/bspark8","followers_url":"https://api.github.com/users/bspark8/followers","following_url":"https://api.github.com/users/bspark8/following{/other_user}","gists_url":"https://api.github.com/users/bspark8/gists{/gist_id}","starred_url":"https://api.github.com/users/bspark8/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/bspark8/subscriptions","organizations_url":"https://api.github.com/users/bspark8/orgs","repos_url":"https://api.github.com/users/bspark8/repos","events_url":"https://api.github.com/users/bspark8/events{/privacy}","received_events_url":"https://api.github.com/users/bspark8/received_events","type":"User","site_admin":false},"labels":[{"id":144329561,"url":"https://api.github.com/repos/ceph/ceph/labels/core","name":"core","color":"0041a2","default":false},{"id":134774006,"url":"https://api.github.com/repos/ceph/ceph/labels/feature","name":"feature","color":"00ff24","default":false}],"state":"open","locked":false,"assignee":null,"assignees":[],"milestone":null,"comments":5,"created_at":"2017-10-13T02:44:30Z","updated_at":"2017-10-18T13:55:39Z","closed_at":null,"author_association":"CONTRIBUTOR","pull_request":{"url":"https://api.github.com/repos/ceph/ceph/pulls/18280","html_url":"https://github.com/ceph/ceph/pull/18280","diff_url":"https://github.com/ceph/ceph/pull/18280.diff","patch_url":"https://github.com/ceph/ceph/pull/18280.patch"},"body":"As in the number of shards in Op Queue (https://github.com/ceph/ceph/pull/16369), \r\nan external operation queue was introduced to solve deepening of the dmClock queue depth problem due to multiple sharded op queue. (https://www.slideshare.net/ssusercee823/implementing-distributed-mclock-in-ceph#13)\r\n\r\nAs a result of measuring the performance of the external operation queue, there was no significant difference in performance from when the external operation queue was not used.\r\n\r\n1. FIO 4KB Random Write without external operation queue, bluestore (original)\r\n137352 IOPs\r\n\r\n2. FIO 4KB Random Write with external operation queue, bluestore (external opqueue: WPQ, internal sharded opqueue: WPQ)\r\n136914 IOPs"},"comment":{"url":"https://api.github.com/repos/ceph/ceph/issues/comments/337599141","html_url":"https://github.com/ceph/ceph/pull/18280#issuecomment-337599141","issue_url":"https://api.github.com/repos/ceph/ceph/issues/18280","id":337599141,"user":{"login":"bspark8","id":18387854,"avatar_url":"https://avatars0.githubusercontent.com/u/18387854?v=4","gravatar_id":"","url":"https://api.github.com/users/bspark8","html_url":"https://github.com/bspark8","followers_url":"https://api.github.com/users/bspark8/followers","following_url":"https://api.github.com/users/bspark8/following{/other_user}","gists_url":"https://api.github.com/users/bspark8/gists{/gist_id}","starred_url":"https://api.github.com/users/bspark8/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/bspark8/subscriptions","organizations_url":"https://api.github.com/users/bspark8/orgs","repos_url":"https://api.github.com/users/bspark8/repos","events_url":"https://api.github.com/users/bspark8/events{/privacy}","received_events_url":"https://api.github.com/users/bspark8/received_events","type":"User","site_admin":false},"created_at":"2017-10-18T13:55:39Z","updated_at":"2017-10-18T13:55:39Z","author_association":"CONTRIBUTOR","body":"(https://www.slideshare.net/ssusercee823/implementing-distributed-mclock-in-ceph#12)\r\nAs mentioned in the URL above, when applying per-client QoS in Ceph, we have to handle Client I/O and Background I/O in one queue at the same time in current OP queue structure.\r\n\r\nIn case of Client I/O, Delta/Rho are required to calculate tagging value. Therefore, Background I/O also needs Delta/Rho to perform fairly QoS between Client I/O and Background I/O.\r\n\r\nHowever, in the case of Background I/O, the location of dmClock ServiceTracker for calculating Delta/Rho is somewhat ambiguous, and direct comparison with Delta/Rho of Client I/O is also difficult.\r\n\r\nTherefore, the using the normalized (e.g. unit time average value) Delta/Rho value occurring in the current OSD could be the way.\r\n"}}
{"actor":{"display_login":"bspark8"}}