[ 
https://issues.apache.org/jira/browse/HADOOP-1841?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel#action_12528413
 ] 

Raghu Angadi commented on HADOOP-1841:
--------------------------------------

I agree w.r.t performance. But main purpose of this is not to increase the 
performance. In fact, the normal case is more data is written in reply than 
read (except for blocReport() RPCs), in that sense, doing async write in single 
thread could actually be the bottleneck (but rarely is, we have never seen 
reading in single thread being a bottleneck). Of course we could write with 
multiple threads, or all the IPC handlers could be involved in write.

The main issue this proposes to fix is this : The actual RPC call itself is 
internal to Server, but writing depends on how fast client is receiving as 
well. We don't want excternal factors like slow or down clients to influence 
how fast server handles RPCs (from other clients). We should certainly test 
with artificially slow clients and should be able to show the difference.

A few more things :
- we should keep track of amount of pending reply buffer to a client and not 
read from it if there is more than a few KB.
- also we should have limit on over all memory in pending write buffers.



> IPC server should write repsonses asynchronously
> ------------------------------------------------
>
>                 Key: HADOOP-1841
>                 URL: https://issues.apache.org/jira/browse/HADOOP-1841
>             Project: Hadoop
>          Issue Type: Improvement
>          Components: ipc
>            Reporter: Doug Cutting
>            Assignee: Enis Soztutar
>
> Hadoop's IPC Server currently writes responses from request handler threads 
> using blocking writes.  Performance and scalability might be improved if 
> responses were written asynchronously.

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.

Reply via email to