You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@pegasus.apache.org by GitBox <gi...@apache.org> on 2021/08/13 11:21:31 UTC
[GitHub] [incubator-pegasus] Shuo-Jia opened a new issue #802: perf: seperate copy checkpoint from `learn` flow
Shuo-Jia opened a new issue #802:
URL: https://github.com/apache/incubator-pegasus/issues/802
Copy large checkpoint when learn has huge impact, In the past, we only think it because of the increase of `io write load`. However, I did two comparative tests and find the design of `nfs copy checkpoint` may be unreasonable.
### Test One: `restore` vs `learn` with same rate
In theroy, if io write rate is same, `restore` should has same impact with `learn`, but the test show different result:
| Rate(MB/s) | case | io util | P99 |
| -------- | ----- | -----: | :----: |
| 400 | restore | 20% | 50ms |
| 400 | learn | 80% | 1000ms |
From above, I found same io rate has different IO util and cause different latency. But if you think if only IO utill casue the result, please see the next test
### Test Two: `learn` vs `no learn` but with same write rate and same io utils:
In this test, I let the util keep same, the only difference is another test has no `learn` flow, we get the result:
| Rate(MB/s) | case | io util | P99 |
| -------- | ----- | -----: | :----: |
| 400 | no learn | 80% | 200ms |
| 400 | learn | 80% | 1000ms |
From above, I found that the latency of `io util load`caused only account for a small part
## Conclusion
Write latency increase reason has two part:
- io load increase: 200ms
- learn thread task queue: 800ms
So if we re-implement `learn checkpoint`, surpose current latency is 1000ms, and then:
1. if seprate copy checkpoint from `learn` flow in `write thread pool` so as to it won't competing thread resources, latency can decrease 1000ms to 200ms
2. if improve copy checkpoint has same io utils impact with `restore`, latecny can decrease from 200ms to 50ms
Actually, `copy checkpoint` should be a independent task like `restore`download file from
remote filesystem and only cause small io utils and little latency impact
--
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
To unsubscribe, e-mail: dev-unsubscribe@pegasus.apache.org
For queries about this service, please contact Infrastructure at:
users@infra.apache.org
---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@pegasus.apache.org
For additional commands, e-mail: dev-help@pegasus.apache.org