← Back to team overview

maria-developers team mailing list archive

Re: [GSoC] Introduction Mail

 

Hi,

a1, a2, ..., a130 are coefficients. t1, t2, .., t130 are unknowns. We need
130 linearly independent equations to solve for these variables. We can
never get 130 linearly independent equations as some of the coefficients
would be 0 every time. Hence, we get an approximate solution by forming an
overdetermined system (http://en.wikipedia.org/wiki/Overdetermined_system).
Let me know if you have any further doubts.

Regards
Anshu Avinash


On Wed, Jul 9, 2014 at 12:18 AM, Roberto Spadim <roberto@xxxxxxxxxxxxx>
wrote:

> ops, linear equation
>
> 2014-07-08 15:47 GMT-03:00 Roberto Spadim <roberto@xxxxxxxxxxxxx>:
> > going back...
> > a1t1 + a2t2 + … + a130t130= ttotal
> >
> > a1, t1...
> >
> > a1 is something you don't know
> > t1 is the coefficients[i]?
> >
> > it's a first order equation, right?
> >
> >
> >
> > 2014-07-08 15:20 GMT-03:00 Anshu Avinash <anshu.avinash35@xxxxxxxxx>:
> >> Hi,
> >>
> >> The idea is we know the total time the query took, and how many times an
> >> operation was performed. For example, consider the case of 'read_time'.
> We
> >> know how many times an index read took place, but don't know how much
> time
> >> does it take to do an index read. By solving these equations, we are
> trying
> >> to find out time for individual operations. coefficients[i].value is
> `how
> >> many time the operation i took place in a single query.`
> >>
> >> Hope this clears things up.
> >>
> >> Regards
> >> Anshu Avinash
> >>
> >>
> >> On Tue, Jul 8, 2014 at 10:57 PM, Roberto Spadim <roberto@xxxxxxxxxxxxx>
> >> wrote:
> >>>
> >>> just to understand...
> >>> --- the solve_equation part, today only used to save information:
> >>>   std::ofstream datafile;
> >>>   char file_name[100];
> >>>   my_snprintf(file_name, 100,
> >>> "/tmp/mariadb_cost_coefficients_%lu.txt", thread_id);
> >>>   datafile.open(file_name, std::ios::app);
> >>>   for(int i=0; i < MAX_CONSTANTS; i++)
> >>>     datafile << coefficients[i].value << " ";
> >>>   datafile << total_time << "\n";
> >>>   datafile.close();
> >>> ----
> >>>
> >>> the idea is: given a query and some coefficients[i].value, you got
> >>> total_time need to execute the query
> >>> you want to "train" something to tell you how many time the same query
> >>> should execute?
> >>> or, what's the "x[i]" variables from your system (hardware/hard
> >>> disk/etc), and extend this to others queries?
> >>>
> >>>
> >>> 2014-07-08 14:20 GMT-03:00 Roberto Spadim <roberto@xxxxxxxxxxxxx>:
> >>> > =] nice
> >>> >
> >>> > 2014-07-08 14:18 GMT-03:00 Anshu Avinash <anshu.avinash35@xxxxxxxxx
> >:
> >>> >> Hi all,
> >>> >>
> >>> >> You can download it here
> >>> >>
> >>> >> (
> https://drive.google.com/file/d/0B7NiQb4EbbUVNVJFZ2xkRVR3Ylk/edit?usp=sharing
> ).
> >>> >> It is around 26M. I have added the link on blog too.
> >>> >>
> >>> >> Regards
> >>> >> Anshu
> >>> >>
> >>> >>
> >>> >> On Tue, Jul 8, 2014 at 10:38 PM, Roberto Spadim <
> roberto@xxxxxxxxxxxxx>
> >>> >> wrote:
> >>> >>>
> >>> >>> could you 'display' the dataset you used with octave?
> >>> >>>
> >>> >>> 2014-07-08 13:55 GMT-03:00 Anshu Avinash <
> anshu.avinash35@xxxxxxxxx>:
> >>> >>> > Hi all,
> >>> >>> >
> >>> >>> > This week's blog post is at:
> >>> >>> > http://igniting.in/gsoc2014/2014/07/08/solving-linear-equations/
> .
> >>> >>> > Sorry
> >>> >>> > for
> >>> >>> > the delay.
> >>> >>> > Suggestions for an approach to solve the system of linear
> equations
> >>> >>> > are
> >>> >>> > welcome.
> >>> >>> >
> >>> >>> > Regards
> >>> >>> > Anshu Avinash
> >>> >>> >
> >>> >>> >
> >>> >>> > On Mon, Jun 23, 2014 at 7:39 PM, Roberto Spadim
> >>> >>> > <roberto@xxxxxxxxxxxxx>
> >>> >>> > wrote:
> >>> >>> >>
> >>> >>> >> " MDEV. "
> >>> >>> >> it's nice to put full name (MDEV-350), since google and others
> >>> >>> >> search
> >>> >>> >> engines help when someone try to find information about mdev 350
> >>> >>> >>
> >>> >>> >> text is ok :)
> >>> >>> >>
> >>> >>> >> 2014-06-23 11:04 GMT-03:00 Anshu Avinash
> >>> >>> >> <anshu.avinash35@xxxxxxxxx>:
> >>> >>> >> > Hi,
> >>> >>> >> >
> >>> >>> >> > Sorry for the confusion, this is the new link:
> >>> >>> >> > http://igniting.in/gsoc2014/2014/06/23/work-before-mid-term/
> >>> >>> >> > Thanks for pointing out.
> >>> >>> >> >
> >>> >>> >> > Regards
> >>> >>> >> > Anshu
> >>> >>> >> >
> >>> >>> >> >
> >>> >>> >> > On Mon, Jun 23, 2014 at 7:32 PM, Roberto Spadim
> >>> >>> >> > <roberto@xxxxxxxxxxxxx>
> >>> >>> >> > wrote:
> >>> >>> >> >>
> >>> >>> >> >> "Sorry this page does not exist =("
> >>> >>> >> >>
> >>> >>> >> >> 2014-06-23 8:07 GMT-03:00 Anshu Avinash
> >>> >>> >> >> <anshu.avinash35@xxxxxxxxx>:
> >>> >>> >> >> > Hi all,
> >>> >>> >> >> >
> >>> >>> >> >> > You can find this week's blog entry at:
> >>> >>> >> >> > http://igniting.in/2014/06/23/work-before-mid-term/
> >>> >>> >> >> > Suggestions/reviews are welcome.
> >>> >>> >> >> >
> >>> >>> >> >> > Regards
> >>> >>> >> >> > Anshu Avinash
> >>> >>> >> >> >
> >>> >>> >> >> >
> >>> >>> >> >> > On Mon, Jun 9, 2014 at 7:30 PM, Roberto Spadim
> >>> >>> >> >> > <roberto@xxxxxxxxxxxxx>
> >>> >>> >> >> > wrote:
> >>> >>> >> >> >>
> >>> >>> >> >> >> Well i wws reading your posts
> >>> >>> >> >> >> Do you need big data to test read and scan times?
> >>> >>> >> >> >>
> >>> >>> >> >> >> Em segunda-feira, 9 de junho de 2014, Anshu Avinash
> >>> >>> >> >> >> <anshu.avinash35@xxxxxxxxx> escreveu:
> >>> >>> >> >> >>
> >>> >>> >> >> >>> Hi all,
> >>> >>> >> >> >>>
> >>> >>> >> >> >>> You can find this week's blog entry at
> >>> >>> >> >> >>> http://igniting.in/gsoc2014/2014/06/09/more-coding/.
> I'm now
> >>> >>> >> >> >>> maintaining the
> >>> >>> >> >> >>> code only on github:
> >>> >>> >> >> >>>
> https://github.com/igniting/server/tree/selfTuningOptimizer.
> >>> >>> >> >> >>>
> >>> >>> >> >> >>> Regards
> >>> >>> >> >> >>> Anshu Avinash
> >>> >>> >> >> >>>
> >>> >>> >> >> >>>
> >>> >>> >> >> >>> On Sun, May 25, 2014 at 3:27 PM, Anshu Avinash
> >>> >>> >> >> >>> <anshu.avinash35@xxxxxxxxx> wrote:
> >>> >>> >> >> >>>
> >>> >>> >> >> >>> Hi all,
> >>> >>> >> >> >>>
> >>> >>> >> >> >>> You can find my this week's blog entry at
> >>> >>> >> >> >>> http://igniting.in/gsoc2014/2014/05/25/coding-things-up/
> . I
> >>> >>> >> >> >>> have
> >>> >>> >> >> >>> created a
> >>> >>> >> >> >>> branch on launchpad for my work:
> >>> >>> >> >> >>>
> >>> >>> >> >> >>>
> http://bazaar.launchpad.net/~igniting/maria/maria/revision/4211
> >>> >>> >> >> >>> .
> >>> >>> >> >> >>> You
> >>> >>> >> >> >>> can
> >>> >>> >> >> >>> give your suggestions/reviews either on this thread or
> as a
> >>> >>> >> >> >>> comment
> >>> >>> >> >> >>> on
> >>> >>> >> >> >>> the
> >>> >>> >> >> >>> blog itself.
> >>> >>> >> >> >>>
> >>> >>> >> >> >>> Regards
> >>> >>> >> >> >>> Anshu Avinash
> >>> >>> >> >> >>>
> >>> >>> >> >> >>>
> >>> >>> >> >> >>> On Tue, May 20, 2014 at 1:22 AM, Roberto Spadim
> >>> >>> >> >> >>> <roberto@xxxxxxxxxxxxx>
> >>> >>> >> >> >>> wrote:
> >>> >>> >> >> >>>
> >>> >>> >> >> >>> wow a big work, congratulation guy, i will read part by
> part
> >>> >>> >> >> >>> to
> >>> >>> >> >> >>> better
> >>> >>> >> >> >>> understand mariadb code
> >>> >>> >> >> >>>
> >>> >>> >> >> >>>
> >>> >>> >> >> >>> 2014-05-19 16:33 GMT-03:00 Anshu Avinash
> >>> >>> >> >> >>> <anshu.avinash35@xxxxxxxxx>:
> >>> >>> >> >> >>>
> >>> >>> >> >> >>> Hi all,
> >>> >>> >> >> >>>
> >>> >>> >> >> >>> This week's blog entry would get delayed by couple of
> days.
> >>> >>> >> >> >>> I
> >>> >>> >> >> >>> have
> >>> >>> >> >> >>> started coding though and would like to give heads up on
> >>> >>> >> >> >>> what
> >>> >>> >> >> >>> I'm
> >>> >>> >> >> >>> doing.
> >>> >>> >> >> >>>
> >>> >>> >> >> >>> I've looked at the diffs for "Cost model project" of
> mysql:
> >>> >>> >> >> >>>
> >>> >>> >> >> >>>
> >>> >>> >> >> >>>
> http://bazaar.launchpad.net/~mysql/mysql-server/5.7/revision/7596
> >>> >>> >> >> >>> and
> >>> >>> >> >> >>>
> >>> >>> >> >> >>>
> >>> >>> >> >> >>>
> http://bazaar.launchpad.net/~mysql/mysql-server/5.7/revision/7222 .
> >>> >>> >> >> >>> These
> >>> >>> >> >> >>> give a pretty good idea about what are the hard-coded
> >>> >>> >> >> >>> constants
> >>> >>> >> >> >>> and
> >>> >>> >> >> >>> where
> >>> >>> >> >> >>> are they being used.
> >>> >>> >> >> >>>
> >>> >>> >> >> >>> The idea is to multiply "READ_TIME_FACTOR" and
> >>> >>> >> >> >>> "SCAN_TIME_FACTOR"
> >>> >>> >> >> >>> to
> >>> >>> >> >> >>> the
> >>> >>> >> >> >>> values returned by read_time() and scan_time() in
> handler.h,
> >>> >>> >> >> >>> while
> >>> >>> >> >> >>> returning. These values would be read from a table in
> mysql
> >>> >>> >> >> >>> db.
> >>> >>> >> >> >>> For
> >>> >>> >> >> >>> that
> >>> >>> >> >> >>> I've looked at sql_statistics.cc. After completing this,
> >>> >>> >> >> >>> I'll
> >>> >>> >> >> >>> first
> >>> >>> >> >> >>> change
> >>> >>> >> >> >>> the values of these constants manually and check if the
> >>> >>> >> >> >>> better
> >>> >>> >> >> >>> or
> >>> >>> >> >> >>> worse
> >>> >>> >> >> >>> query plans are being selected. I'll first do the last
> step
> >>> >>> >> >> >>> manually,
> >>> >>> >> >> >>> to
> >>> >>> >> >> >>> check if everything is working as expected and later
> >>> >>> >> >> >>> automate
> >>> >>> >> >> >>> it.
> >>> >>> >> >> >>>
> >>> >>> >> >> >>> Regards
> >>> >>> >> >> >>> Anshu
> >>> >>> >> >> >>>
> >>> >>> >> >> >>>
> >>> >>> >> >> >>> On Mon, May 12, 2014 at 11:22 AM, Anshu Avinash
> >>> >>> >> >> >>> <anshu.avinash35@xxxxxxxxx> wrote:
> >>> >>> >> >> >>>
> >>> >>> >> >> >>> Hi all,
> >>> >>> >> >> >>>
> >>> >>> >> >> >>> You can find my blog entry for this week at
> >>> >>> >> >> >>> http://igniting.in/gsoc2014/2014/05/11/first-steps/ .
> >>> >>> >> >> >>>
> >>> >>> >> >> >>> Regards
> >>> >>> >> >> >>> Anshu Avinash
> >>> >>> >> >> >>>
> >>> >>> >> >> >>>
> >>> >>> >> >> >>> On Thu, May 8, 2014 at 11:46 PM, Anshu Avinash
> >>> >>> >> >> >>> <anshu.avinash35@xxxxxxxxx> wrote:
> >>> >>> >> >> >>>
> >>> >>> >> >> >>> Hi all,
> >>> >>> >> >> >>>
> >>> >>> >> >> >>> Sorry for the irregular updates. I had been busy for last
> >>> >>> >> >> >>> couple
> >>> >>> >> >> >>> of
> >>> >>> >> >> >>> days
> >>> >>> >> >> >>> and might still be busy for 1-2 days more. I would be
> >>> >>> >> >> >>> completely
> >>> >>> >> >> >>> free
> >>> >>> >> >> >>> starting next week, and would be updating my blog weekly
> on
> >>> >>> >> >> >>> every
> >>> >>> >> >> >>> Monday (so
> >>> >>> >> >> >>> 1st update would be on May 12). I would also send the
> link
> >>> >>> >> >> >>> of my
> >>> >>> >> >> >>> post
> >>> >>> >> >> >>> weekly
> >>> >>> >> >> >>> on the mailing list.
> >>> >>> >> >> >>>
> >>> >>> >> >> >>> As discussed on irc, I started to explore the pair of
> >>> >>> >> >> >>> constants:
> >>> >>> >> >> >>> handler::scan_time() and handler::read_time().
> >>> >>> >> >> >>
> >>> >>> >> >> >>
> >>> >>> >> >> >>
> >>> >>> >> >> >> --
> >>> >>> >> >> >> Roberto Spadim
> >>> >>> >> >> >> SPAEmpresarial
> >>> >>> >> >> >> Eng. Automação e Controle
> >>> >>> >> >> >>
> >>> >>> >> >> >
> >>> >>> >> >>
> >>> >>> >> >>
> >>> >>> >> >>
> >>> >>> >> >> --
> >>> >>> >> >> Roberto Spadim
> >>> >>> >> >> SPAEmpresarial
> >>> >>> >> >> Eng. Automação e Controle
> >>> >>> >> >
> >>> >>> >> >
> >>> >>> >>
> >>> >>> >>
> >>> >>> >>
> >>> >>> >> --
> >>> >>> >> Roberto Spadim
> >>> >>> >> SPAEmpresarial
> >>> >>> >> Eng. Automação e Controle
> >>> >>> >
> >>> >>> >
> >>> >>>
> >>> >>>
> >>> >>>
> >>> >>> --
> >>> >>> Roberto Spadim
> >>> >>> SPAEmpresarial
> >>> >>> Eng. Automação e Controle
> >>> >>
> >>> >>
> >>> >
> >>> >
> >>> >
> >>> > --
> >>> > Roberto Spadim
> >>> > SPAEmpresarial
> >>> > Eng. Automação e Controle
> >>>
> >>>
> >>>
> >>> --
> >>> Roberto Spadim
> >>> SPAEmpresarial
> >>> Eng. Automação e Controle
> >>
> >>
> >
> >
> >
> > --
> > Roberto Spadim
> > SPAEmpresarial
> > Eng. Automação e Controle
>
>
>
> --
> Roberto Spadim
> SPAEmpresarial
> Eng. Automação e Controle
>

Follow ups

References