[
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.