Micah Kornfield created ARROW-4333: -------------------------------------- Summary: [C++] Sketch out design for kernels and "query" execution in compute layer Key: ARROW-4333 URL: https://issues.apache.org/jira/browse/ARROW-4333 Project: Apache Arrow Issue Type: New Feature Components: C++ Reporter: Micah Kornfield
It would be good to formalize the design of kernels and the controlling query execution layer (e.g. volcano batch model?) to understand the following: Contracts for kernels: * Thread safety of kernels? * When Kernels should allocate memory vs expect preallocated memory? How to communicate requirements for a kernels memory allocaiton? * How to communicate the whether a kernels execution is parallelizable across a ChunkedArray? How to determine if the order to execution across a ChunkedArray is important? * How to communicate when it is safe to re-use the same buffers and input and output to the same kernel? What does the threading model look like for the higher level of control? Where should synchronization happen? -- This message was sent by Atlassian JIRA (v7.6.3#76005)