[ 
https://issues.apache.org/jira/browse/ARROW-2458?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16444621#comment-16444621
 ] 

ASF GitHub Bot commented on ARROW-2458:
---------------------------------------

robertnishihara commented on issue #1893: ARROW-2458: [Plasma] Use one thread 
pool per PlasmaClient
URL: https://github.com/apache/arrow/pull/1893#issuecomment-382843906
 
 
   Thanks! The point of the hash is to have a simple way to check if two 
objects are identical. In particular, given that objects can be evicted from 
the object store, if an object is recreated in the object store after eviction, 
you can compare hashes to see if the two objects differ.
   
   Note that the probably more important place where we use multiple threads is 
https://github.com/apache/arrow/blob/b8754eba4683e7300a751f60a2fc1eef152cea1d/cpp/src/arrow/util/memory.h#L34
   
   This already seems to be thread safe (since the thread creation is 
encapsulated in the `parallel_memcopy` function). Though it has the same 
potential issue that you're raising here.
   
   If we use a thread pool implementation then we should run some benchmarks 
before merging, because the performance requirements are pretty demanding here. 
We want low latency for small objects but also to be able to write to the 
object store at near the memory-bandwidth (ideally at least 20GB/s, though 
currently it seems a bit slower).
   
   I'm still in favor of merging this PR since it fixes a segfault and has a 
very a simple design. If the thread pool approach ends up working out that'd be 
great since it would be nice to support applications with hundreds of plasma 
clients (which is something we've been trying recently).

----------------------------------------------------------------
This is an automated message from the Apache Git Service.
To respond to the message, please log on GitHub and use the
URL above to go to the specific comment.
 
For queries about this service, please contact Infrastructure at:
[email protected]


> [Plasma] PlasmaClient uses global variable
> ------------------------------------------
>
>                 Key: ARROW-2458
>                 URL: https://issues.apache.org/jira/browse/ARROW-2458
>             Project: Apache Arrow
>          Issue Type: Improvement
>          Components: Plasma (C++)
>    Affects Versions: 0.9.0
>            Reporter: Philipp Moritz
>            Assignee: Philipp Moritz
>            Priority: Major
>              Labels: pull-request-available
>
> The threadpool threadpool_ that PlasmaClient is using is global at the 
> moment. This prevents us from using multiple PlasmaClients in the same 
> process (one per thread).



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)

Reply via email to