[email protected] has uploaded this change for review. ( 
http://gerrit.cloudera.org:8080/19475


Change subject: IMPALA-11886: Data cache should support asynchronous writes
......................................................................

IMPALA-11886: Data cache should support asynchronous writes

This patch implements asynchronous write to the data cache to improve scan 
performance when cache miss happens.
Previously, writes to the data cache are synchronized with hdfs file reads, and 
both are handled by remote hdfs IO threads. In other words, if a cache miss 
occurs,  the IO thread needs to take additional responsibility for cache 
writes,  which will lead to scan performance deterioration.
This patch uses a thread pool for asynchronous writes, and the number of 
threads in the pool is determined by the new configuration 
'data_cache_num_write_threads'. In asynchronous write mode, the IO thread only 
needs to copy data to the temporary buffer when storing data into the data 
cache. The additional memory consumption caused by temporary buffers can be 
limited, depending on the new configuration 'data_cache_write_buffer_limit'.

Testing:
- Add test cases for asynchronous data writing to the original DataCacheTest 
using different number of threads.
- Add DataCacheTest,#OutOfWriteBufferLimit
Used to test the limit of memory consumed by temporary buffers in the case of 
asynchronous writes

Change-Id: I878f7486d485b6288de1a9145f49576b7155d312
---
M be/src/runtime/io/data-cache-test.cc
M be/src/runtime/io/data-cache.cc
M be/src/runtime/io/data-cache.h
M be/src/util/impalad-metrics.cc
M be/src/util/impalad-metrics.h
M common/thrift/metrics.json
6 files changed, 330 insertions(+), 68 deletions(-)



  git pull ssh://gerrit.cloudera.org:29418/Impala-ASF refs/changes/75/19475/1
--
To view, visit http://gerrit.cloudera.org:8080/19475
To unsubscribe, visit http://gerrit.cloudera.org:8080/settings

Gerrit-Project: Impala-ASF
Gerrit-Branch: master
Gerrit-MessageType: newchange
Gerrit-Change-Id: I878f7486d485b6288de1a9145f49576b7155d312
Gerrit-Change-Number: 19475
Gerrit-PatchSet: 1
Gerrit-Owner: Anonymous Coward <[email protected]>

Reply via email to