[prev in list] [next in list] [prev in thread] [next in thread] 

List:       postgresql-general
Subject:    Re: [HACKERS] GSoC idea - Simulated annealing to search for query plans
From:       Grzegorz Parka <grzegorz.parka () gmail ! com>
Date:       2015-02-28 18:08:45
Message-ID: CAP1U9wGp1N=iKw9Rj=kmzU2Xa3KUEYgbKvk4uWc+FjRMqEEMsw () mail ! gmail ! com
[Download RAW message or body]

Thank you a lot for your feedback. I searched a lot about GEQO,
but I didn't find information about any earlier attempts.
I'm happy to know that this is important for Postgres.

I'm really interested in this project, so I just need to estimate if I can
handle it.
Now I will spend some time with SAIO and GEQO to find it out.

Best,
Grzegorz

2015-02-27 16:29 GMT+01:00 Jan Urba=C5=84ski <wulczer@wulczer.org>:

>
> Josh Berkus writes:
>
> > On 02/26/2015 05:50 PM, Fabr=C3=ADzio de Royes Mello wrote:
> >>
> >> On Thu, Feb 26, 2015 at 10:27 PM, Andres Freund <andres@2ndquadrant.co=
m
> >> <mailto:andres@2ndquadrant.com>> wrote:
> >>>
> >>> On 2015-02-26 20:23:33 -0500, Tom Lane wrote:
> >>> >
> >>> > I seem to recall somebody demo'ing a simulated-annealing GEQO
> >> replacement
> >>> > at PGCon a couple years back.  It never got to the point of being a
> >>> > submitted patch though.
> >>>
> >>> Yea, it was Jan Urba=C5=84ski (CCed).
> >>>
> >>
> >> And the project link: https://github.com/wulczer/saio
> >
> > So what w'ere saying, Grzegorz, is that we would love to see someone
> > pick this up and get it to the point of making it a feature as a GSOC
> > project.  I think if you can start from where Jan left off, you could
> > actually complete it.
>
> Sorry, late to the party.
>
> Yes, I wrote a GEQO replacement that used simulated annealing for my Mast=
er
> thesis. It got to a point where it was generating plans similar to what
> GEQO
> outputs for small queries and better plans for very large ones.
>
> The thesis itself is here: https://wulczer.org/saio.pdf and the linked
> GitHub
> repo contains source for the PGCon presentation, which gives a higher-lev=
el
> overview.
>
> The big problem turned out to be writing the step function that generates
> a new
> join order from a previous one. Look for the "Simulated Annealing
> challenges"
> and "Moves generator" chapters in my thesis, which are the only interesti=
ng
> ones :)
>
> If you'd like to pick up where I left, I'd be more than happy to help in
> any
> ways I can.
>
> Best,
> Jan
>

[Attachment #3 (text/html)]

<div dir="ltr"><div>Thank you a lot for your feedback. I searched a lot about \
GEQO,<br>but I didn&#39;t find information about any earlier attempts.<br>I&#39;m \
happy to know that this is important for Postgres.<br><br></div><div>I&#39;m really \
interested in this project, so I just need to estimate if I can handle \
it.<br></div><div>Now I will spend some time with SAIO and GEQO to find it \
out.<br><br></div><div>Best,<br></div><div>Grzegorz<br></div></div><div \
class="gmail_extra"><br><div class="gmail_quote">2015-02-27 16:29 GMT+01:00 Jan \
Urbański <span dir="ltr">&lt;<a href="mailto:wulczer@wulczer.org" \
target="_blank">wulczer@wulczer.org</a>&gt;</span>:<br><blockquote \
class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc \
solid;padding-left:1ex"><span class=""><br> Josh Berkus writes:<br>
<br>
&gt; On 02/26/2015 05:50 PM, Fabrízio de Royes Mello wrote:<br>
&gt;&gt;<br>
&gt;&gt; On Thu, Feb 26, 2015 at 10:27 PM, Andres Freund &lt;<a \
href="mailto:andres@2ndquadrant.com">andres@2ndquadrant.com</a><br> &gt;&gt; \
&lt;mailto:<a href="mailto:andres@2ndquadrant.com">andres@2ndquadrant.com</a>&gt;&gt; \
wrote:<br> &gt;&gt;&gt;<br>
&gt;&gt;&gt; On 2015-02-26 20:23:33 -0500, Tom Lane wrote:<br>
&gt;&gt;&gt; &gt;<br>
</span><span class="">&gt;&gt;&gt; &gt; I seem to recall somebody demo&#39;ing a \
simulated-annealing GEQO<br> &gt;&gt; replacement<br>
&gt;&gt;&gt; &gt; at PGCon a couple years back.   It never got to the point of being \
a<br> &gt;&gt;&gt; &gt; submitted patch though.<br>
&gt;&gt;&gt;<br>
&gt;&gt;&gt; Yea, it was Jan Urbański (CCed).<br>
&gt;&gt;&gt;<br>
&gt;&gt;<br>
&gt;&gt; And the project link: <a href="https://github.com/wulczer/saio" \
target="_blank">https://github.com/wulczer/saio</a><br> &gt;<br>
&gt; So what w&#39;ere saying, Grzegorz, is that we would love to see someone<br>
&gt; pick this up and get it to the point of making it a feature as a GSOC<br>
&gt; project.   I think if you can start from where Jan left off, you could<br>
&gt; actually complete it.<br>
<br>
</span>Sorry, late to the party.<br>
<br>
Yes, I wrote a GEQO replacement that used simulated annealing for my Master<br>
thesis. It got to a point where it was generating plans similar to what GEQO<br>
outputs for small queries and better plans for very large ones.<br>
<br>
The thesis itself is here: <a href="https://wulczer.org/saio.pdf" \
target="_blank">https://wulczer.org/saio.pdf</a> and the linked GitHub<br> repo \
contains source for the PGCon presentation, which gives a higher-level<br> \
overview.<br> <br>
The big problem turned out to be writing the step function that generates a new<br>
join order from a previous one. Look for the &quot;Simulated Annealing \
challenges&quot;<br> and &quot;Moves generator&quot; chapters in my thesis, which are \
the only interesting<br> ones :)<br>
<br>
If you&#39;d like to pick up where I left, I&#39;d be more than happy to help in \
any<br> ways I can.<br>
<br>
Best,<br>
Jan<br>
</blockquote></div><br></div>



[prev in list] [next in list] [prev in thread] [next in thread] 

Configure | About | News | Add a list | Sponsored by KoreLogic