<div dir="ltr"><span style="font-family:arial,helvetica,sans-serif">Hi,<br></span><div><span style="font-family:arial,helvetica,sans-serif"><br>Thank you so much for the speedy reply, but I have some more questions.<br><br>1) I understand Non-systematic encoding/decoding doesn't alter performance when one or more bricks are down. but why systematic approach has service degradation?<br></span></div><div><span style="font-family:arial,helvetica,sans-serif">I think when parity part is down there's no performance degradation, and when not-parity part is down it needs to be encoded. but It is same with Non-systeamtic case.<br><br>2) In systematic approach, what kind of metatdata need to be checked? Can't we just try to read not-parity part?<br><br><br></span><span style="font-family:arial,helvetica,sans-serif">Best regards,<br></span><span style="font-family:arial,helvetica,sans-serif">Han</span><div><div class="gmail_extra"><br><div class="gmail_quote">2016-11-24 17:26 GMT+09:00 Xavier Hernandez <span dir="ltr"><<a href="mailto:xhernandez@datalab.es" target="_blank">xhernandez@datalab.es</a>></span>:<br><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">Hi Han,<br>
<br>
On 11/24/2016 04:25 AM, 한우형 wrote:<br>
<blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">
Hi,<br>
<br>
I'm working on dispersed volume(ec) and I found ec encode/decode<br>
algorithm is using non-systematic vandermonde matrix.<br>
<br>
My question is this: why non-systematic algorithm is used?<br>
</blockquote>
<br>
Non-systematic encoding/decoding doesn't alter performance when one or more bricks are down. This means that you won't have service degradation when you are having troubles with one brick or you are doing maintenance.<br>
<br>
>From the implementation perspective, a systematic approach would need to talk to all bricks anyway to check for critical metadata (gluster doesn't have a centralized metadata server). This means that the theoretical benefit of a systematic decoding for reads would be masked by the overhead needed for metadata operations (involving additional network round-trips).<br>
<br>
That said, it's true that a systematic approach would have some benefits, like a little less CPU overhead. Not sure if the performance would benefit significantly though.<br>
<br>
<blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">
If we use<br>
systematic algorithm(not systematic vandermonde, It's not MDS)<br>
</blockquote>
<br>
A non-systematic Vandermonde matrix *IS* MDS. In fact, pure Vandermonde matrices are non-systematic by definition. Some alterations need to be done to make them systematic, and these transformations can lead to a non MDS matrix if not made with care.<br>
<br>
<blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">
we can<br>
boost read performance. (no need to decode step in read)<br>
</blockquote>
<br>
Though it would probably have some benefits, I'm not so sure that performance would improve significantly.<br>
<br>
Current implementation of ec decoding can process 1GB/s of data per CPU core on low end processors (Intel Atoms with SSE2) using block sizes of 128KB and a 4+2 configuration. Currently this is much faster than what a pure distributed volume on same hardware can read for a single client/single thread.<br>
<br>
So, for now, the non-systematic approach doesn't seem a bottle-neck for gluster. Anyway there are plans to provide a systematic version, but it's not a priority as of now.<br>
<br>
Best regards,<br>
<br>
Xavi<br>
<br>
<blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">
<br>
Best regards,<br>
Han<br>
<br>
<br>
<br>
______________________________<wbr>_________________<br>
Gluster-devel mailing list<br>
<a href="mailto:Gluster-devel@gluster.org" target="_blank">Gluster-devel@gluster.org</a><br>
<a href="http://www.gluster.org/mailman/listinfo/gluster-devel" rel="noreferrer" target="_blank">http://www.gluster.org/mailman<wbr>/listinfo/gluster-devel</a><br>
<br>
</blockquote>
<br>
</blockquote></div><br></div></div></div></div>