Dear community member(s), I am João Afonso, a Portuguese MSc student and I'm writing to ask some information about the GSoC projects.
For the reasons explained below, PostgreSQL was the organisation that I most identify with, so I am trying to introduce myself to the community. This way, as I really want to participate, I will describe my most relevant experiences and knowledge on the field. Please feel free to pass by the less relevant topics. The project that most caught my eye was on "Implementing push-based query executor". Although it completely fits my capabilities and current research, I have some concerns on "The ability to understand and modify PostgresSQL executor code" as I had not enough time to understand the dimension of the referred changes. My second choice would be the "Sorting algorithms benchmark and implementation", that although is not directly related to my current work, I am more familiarised with and looks quite easier to accomplish. As I said, I had not enough time to explore the whole project documentation or source code, but I read the code of the sorting algorithm and I realised that it is sequential. Would a parallel implementation take some benefits here? I will keep working on reading all the documentation and some of the code, but I would appreciate if someone more familiarised with the project could point me the project that best suits my abilities My motivations: A group formed by me and other four MSc students is currently working on a solution for a linear algebra approach to OLAP. We are at the same time translating the SQL language to linear algebra operations, developing methods to automate the process, optimising the previously implemented sparse matrix operations, and benchmarking the resultant work on different Intel x86 and Nvidia architectures (multi-core, many-core, GPU). Future work may even include query/machine level cost prediction functionalities. It would be really interesting for me to do a continue analysis on how the replacement of relational algebra would influence the performance and implementation complexity of each independent module and the entire system, so at least I could do benchmark tasks even if I am not accepted on GSoC. I'm also working on a personal project of making a general benchmark script, capable of test all the combinations of N parameters, both in Serial, Shared and Distributed Memory. It main purpose is to reduce the time spent on the MSc assigned tasks. [GIT HERE<https://github.com/Hubble83/performance-tester>] Not referring the anxiety of joining such important project (what I think is normal), my major concern for both projects is my reduced experience in the referred microoptimizations. This way, I feel that is important to include my previous work on this topic. It was on the simple dot product algorithm and the main cases of study was cache issues, CPU/Memory bounds,... The work is described [HERE<https://github.com/Hubble83/matrix-dot-product/blob/master/report.pdf>]. Please feel free to contact me for any question. Best regards, João Afonso