Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Full chunk-based computing in coprocessor #7724

Closed
3 tasks done
TennyZhuang opened this issue Apr 30, 2020 · 8 comments · Fixed by #8312
Closed
3 tasks done

Full chunk-based computing in coprocessor #7724

TennyZhuang opened this issue Apr 30, 2020 · 8 comments · Fixed by #8312
Labels
difficulty/hard Hard task. sig/coprocessor SIG: Coprocessor type/enhancement The issue or PR belongs to an enhancement.

Comments

@TennyZhuang
Copy link
Contributor

TennyZhuang commented Apr 30, 2020

Using TiDB Chunk format in the coprocessor framework instead of VectorValue.

Detail Design (Draft): tikv/rfcs#43

Development Task

  • Implement type safe chunk format.
  • Modify rpn_fn macro.
  • Modify all builtin functions using new signature.

Mentor

Please contact with mentors before start working on the task.

@TennyZhuang TennyZhuang added the type/enhancement The issue or PR belongs to an enhancement. label Apr 30, 2020
@ranjithkumar007
Copy link

I am interested in this project.
Are there any pre-requisite tasks to be completed to participate in this community bridge project?

@TennyZhuang
Copy link
Contributor Author

Sorry for late reply. the issue is currently a draft without detailed design, but feel free to apply for the project.

Currently there are no pre-requisite tasks because we are still working on the RFC (link can be found in the issue description).

@championshuttler
Copy link

Hey @TennyZhuang ! I am willing to get mentored for this issue for the Community Bridge program. Can you please help me in getting started with it?

Thanks

@breezewish
Copy link
Member

Still have some remaining tasks, re-open.

@choleraehyq
Copy link

Do we have any benchmark result about this?

@skyzh
Copy link
Member

skyzh commented Jul 25, 2023

@choleraehyq Yep but I forgot where I put it. We have micro-benchmarks and we saw 10x performance improvements on varcher processing. However, there are not that much improvements in fixed-size types probably due to the compiler is not using vectorization instruction sets for these operations, also branching for Option.

@choleraehyq
Copy link

@choleraehyq Yep but I forgot where I put it. We have micro-benchmarks and we saw 10x performance improvements on varcher processing. However, there are not that much improvements in fixed-size types probably due to the compiler is not using vectorization instruction sets for these operations, also branching for Option.

But TiKV store values in row format, and converting from row format to chunk structure has cost. I'm curious that if this optimization does have positive impact for all workloads?

@skyzh
Copy link
Member

skyzh commented Aug 7, 2023

TiKV / TiDB are already using column-based memory format before this work starts.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
difficulty/hard Hard task. sig/coprocessor SIG: Coprocessor type/enhancement The issue or PR belongs to an enhancement.
Projects
None yet
Development

Successfully merging a pull request may close this issue.

6 participants