← Back to team overview

maria-developers team mailing list archive

Re: [GSoC] Introduction Mail

 

check lapack lib, i used it some years ago, and it solve linear
equations, at least you don't waste time with 'how to solve linear
equations', if you want to study :) lapack was a nice lib, at least i
used without problems

2014-07-08 16:04 GMT-03:00 Roberto Spadim <roberto@xxxxxxxxxxxxx>:
> a1,a2 is what your solve equation function is saving?
> and you want know t1,t2,t3..t130, to understand how much time each
> 'read function' take, that's it?
>
> doing this, what's the next step? this is a start point to select
> what's better? index vs table scan?
>
>
>
> 2014-07-08 15:54 GMT-03:00 Anshu Avinash <anshu.avinash35@xxxxxxxxx>:
>> 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
>>
>>
>
>
>
> --
> Roberto Spadim
> SPAEmpresarial
> Eng. Automação e Controle



-- 
Roberto Spadim
SPAEmpresarial
Eng. Automação e Controle


Follow ups

References