<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&#39;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&#39;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&#39;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">&lt;<a href="mailto:xhernandez@datalab.es" target="_blank">xhernandez@datalab.es</a>&gt;</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&#39;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&#39;t alter performance when one or more bricks are down. This means that you won&#39;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&#39;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&#39;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&#39;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&#39;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&#39;t seem a bottle-neck for gluster. Anyway there are plans to provide a systematic version, but it&#39;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>