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)

Reply via email to