<div dir="ltr"><div>Hi Paul,</div><div><br></div><div>Thanks for your reply, and hope you have had good holidays. I will wait for the feedback.</div><div><br></div><div><span style="color:rgb(0,0,0);font-family:黑体;font-size:12px">Best,</span></div><div dir="ltr"><div dir="ltr" class="gmail_signature" data-smartmail="gmail_signature"><div dir="ltr"><div dir="ltr"><div dir="ltr"><div dir="ltr"><div style="font-size:12px"><div><font face="黑体" color="#000000">Haoyu Li</font></div></div></div></div></div></div></div></div><br><div class="gmail_quote"><div dir="ltr">Paul Su <<a href="mailto:paul.su@oracle.com">paul.su@oracle.com</a>> 于2019年1月7日周一 上午11:04写道:<br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><div dir="auto"><div></div><div>Hi Haoyu,</div><div><br></div><div>Thanks for your contribution. The past two weeks were holidays for most of the US and European regions. We are also in the middle of a critical phase of our release process. We are aware of your proposal and will consider it and provide feedback as soon as possible.</div><div><br></div><div>Thanks,</div><div>Paul</div><div><br>On Jan 6, 2019, at 5:41 PM, Haoyu Li <<a href="mailto:leihouyju@gmail.com" target="_blank">leihouyju@gmail.com</a>> wrote:<br><br></div><blockquote type="cite"><div><div dir="ltr">Hi all,<div><br></div><div>I submitted a patch about two weeks ago in the previous mail, however, I have not received any response so far. Did I miss something? I just follow the instructions in the webpage about <i>How to Contribute</i>. Can someone sponsor this patch? Any reviews are well appreciated!</div><div><br clear="all"><div><div dir="ltr" class="gmail-m_-1003931683339330636m_3603626238782477700gmail_signature"><div dir="ltr"><div><div dir="ltr"><div><div dir="ltr"><div><div dir="ltr"><div style="font-size:12px"><div><font face="黑体" color="#000000">Best Regrads,</font></div><div><font face="黑体" color="#000000">Haoyu Li,</font></div><div><font face="黑体" color="#000000">Institute of Parallel and Distributed Systems(IPADS),</font></div><div><font face="黑体" color="#000000">School of Software,</font></div><div><font face="黑体" color="#000000">Shanghai Jiao Tong University</font></div></div></div></div></div></div></div></div></div></div></div><br></div><br><div class="gmail_quote"><div dir="ltr">Haoyu Li <<a href="mailto:leihouyju@gmail.com" target="_blank">leihouyju@gmail.com</a>> 于2018年12月24日周一 上午1:38写道:<br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><div dir="ltr"><span style="color:rgb(0,0,0);font-family:-apple-system,BlinkMacSystemFont,sans-serif;font-size:14px">Hi all, </span><br style="color:rgb(0,0,0);font-family:-apple-system,BlinkMacSystemFont,sans-serif;font-size:14px"><div style="color:rgb(0,0,0);font-family:-apple-system,BlinkMacSystemFont,sans-serif;font-size:14px">I have developed a patch to enhance the full GC performance of Parallel Scavenge on OpenJDK 11, may I have some reviews? The patch is described as follows and attached in this mail.</div><br style="color:rgb(0,0,0);font-family:-apple-system,BlinkMacSystemFont,sans-serif;font-size:14px"><div style="color:rgb(0,0,0);font-family:-apple-system,BlinkMacSystemFont,sans-serif;font-size:14px"><b>Problem</b></div><div style="color:rgb(0,0,0);font-family:-apple-system,BlinkMacSystemFont,sans-serif;font-size:14px">Parallel Scavenge(PS) implements a compacting algorithm to do the full GC, and we find that this algorithm leads in terrible GC thread utilization (like only 8% on Derby benchmark in SPECjvm2008 suite) since there are serious dependencies between heap regions, i.e., a region is available to receive live objects from its source regions only after it has been collected. The work stealing does not solve this problem, idle GC threads cannot steal anything because most regions are unavailable to collect.<br></div><br style="color:rgb(0,0,0);font-family:-apple-system,BlinkMacSystemFont,sans-serif;font-size:14px"><div style="color:rgb(0,0,0);font-family:-apple-system,BlinkMacSystemFont,sans-serif;font-size:14px"><b>Optimization</b></div><div style="color:rgb(0,0,0);font-family:-apple-system,BlinkMacSystemFont,sans-serif;font-size:14px">We propose <i>shadow region</i> to solve the above problem. The basic idea is to let GC threads collect unavailable regions in advance by copying their live data into newly allocated empty regions, i.e., shadow regions, to resolve the region dependencies. The contents of shadow regions will be copied back to the corresponding regions later. With our approach, GC threads can keep working at most of the time without suffering from any work stealing failure (except the work stealing failure happened in the end of a full GC). And we notice that the to space in young gen is always empty, so we exploit the empty regions in to space to play the role of shadow regoins (if the ScavengeBeforeFullGC option is on, regions in eden space may be used, too) and avoid allocating shadow regions from off heap memory.</div><div style="color:rgb(0,0,0);font-family:-apple-system,BlinkMacSystemFont,sans-serif;font-size:14px"><br></div><div style="color:rgb(0,0,0);font-family:-apple-system,BlinkMacSystemFont,sans-serif;font-size:14px"><b>Evaluation</b></div><div style="color:rgb(0,0,0);font-family:-apple-system,BlinkMacSystemFont,sans-serif;font-size:14px">We evaluate the full GC performance with our patch on DaCapo, SPECjvm2008, JOlden benchmark suits, and the results shows that shadow region optimization could improve full GC throughput by 2.1X on average, up to 3.2X.</div><div style="color:rgb(0,0,0);font-family:-apple-system,BlinkMacSystemFont,sans-serif;font-size:14px"><br></div><div style="color:rgb(0,0,0);font-family:-apple-system,BlinkMacSystemFont,sans-serif;font-size:14px">The patch and evaluation result are attached.</div><div style="color:rgb(0,0,0);font-family:-apple-system,BlinkMacSystemFont,sans-serif;font-size:14px"><br></div><div><div dir="ltr" class="gmail-m_-1003931683339330636m_3603626238782477700gmail-m_235391303120149998m_-4705710665955192704gmail_signature"><div dir="ltr"><div><div dir="ltr"><div><div dir="ltr"><div><div dir="ltr"><div><div><font face="黑体" color="#000000">Best Regrads,</font></div><div><font face="黑体" color="#000000">Haoyu Li,</font></div><div><font face="黑体" color="#000000">Institute of Parallel and Distributed Systems(IPADS),</font></div><div><font face="黑体" color="#000000">School of Software,</font></div><div><font face="黑体" color="#000000">Shanghai Jiao Tong University</font></div></div></div></div></div></div></div></div></div></div></div></div>
</blockquote></div></div>
</div></blockquote></div></blockquote></div></div>