[jira] [Updated] (HIVE-10128) LLAP: BytesBytesMultiHashMap does not allow concurrent read-only access

2015-03-30 Thread Sergey Shelukhin (JIRA)

 [ 
https://issues.apache.org/jira/browse/HIVE-10128?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Sergey Shelukhin updated HIVE-10128:

Attachment: HIVE-10128.01.patch

Patch for trunk. [~ashutoshc] can you review? thanks

 LLAP: BytesBytesMultiHashMap does not allow concurrent read-only access
 ---

 Key: HIVE-10128
 URL: https://issues.apache.org/jira/browse/HIVE-10128
 Project: Hive
  Issue Type: Sub-task
Reporter: Gopal V
Assignee: Sergey Shelukhin
 Attachments: HIVE-10128.01.patch, HIVE-10128.patch, 
 hashmap-after.png, hashmap-sync-source.png, hashmap-sync.png


 The multi-threaded performance takes a serious hit when LLAP shares 
 hashtables between the probe threads running in parallel. 
 !hashmap-sync.png!
 This is an explicit synchronized block inside ReusableRowContainer which 
 triggers this particular pattern.
 !hashmap-sync-source.png!
 Looking deeper into the code, the synchronization seems to be caused due to 
 the fact that WriteBuffers.setReadPoint modifies the otherwise read-only 
 hashtable.
 To generate this sort of result, run LLAP at a WARN log-level, to avoid all 
 the log synchronization that otherwise affects the thread sync.



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)


[jira] [Updated] (HIVE-10128) LLAP: BytesBytesMultiHashMap does not allow concurrent read-only access

2015-03-27 Thread Gopal V (JIRA)

 [ 
https://issues.apache.org/jira/browse/HIVE-10128?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Gopal V updated HIVE-10128:
---
Attachment: hashmap-after.png

Fix looks good, the hashmap sync points have gone away from the inner loops.

!hashmap-after.png!

The orange sections are the IO elevator lagging behind the map-join operator.

Found other init-time lock sections, will file more JIRAs.

 LLAP: BytesBytesMultiHashMap does not allow concurrent read-only access
 ---

 Key: HIVE-10128
 URL: https://issues.apache.org/jira/browse/HIVE-10128
 Project: Hive
  Issue Type: Sub-task
Reporter: Gopal V
Assignee: Sergey Shelukhin
 Attachments: HIVE-10128.patch, hashmap-after.png, 
 hashmap-sync-source.png, hashmap-sync.png


 The multi-threaded performance takes a serious hit when LLAP shares 
 hashtables between the probe threads running in parallel. 
 !hashmap-sync.png!
 This is an explicit synchronized block inside ReusableRowContainer which 
 triggers this particular pattern.
 !hashmap-sync-source.png!
 Looking deeper into the code, the synchronization seems to be caused due to 
 the fact that WriteBuffers.setReadPoint modifies the otherwise read-only 
 hashtable.
 To generate this sort of result, run LLAP at a WARN log-level, to avoid all 
 the log synchronization that otherwise affects the thread sync.



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)