You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@spark.apache.org by "Reynold Xin (JIRA)" <ji...@apache.org> on 2014/07/14 08:41:04 UTC
[jira] [Created] (SPARK-2468) zero-copy shuffle network
communication
Reynold Xin created SPARK-2468:
----------------------------------
Summary: zero-copy shuffle network communication
Key: SPARK-2468
URL: https://issues.apache.org/jira/browse/SPARK-2468
Project: Spark
Issue Type: Improvement
Components: Spark Core
Reporter: Reynold Xin
Assignee: Reynold Xin
Priority: Critical
Right now shuffle send goes through the block manager. This is inefficient because it requires loading a block from disk into a kernel buffer, then into a user space buffer, and then back to a kernel send buffer before it reaches the NIC. It does multiple copies of the data and context switching between kernel/user. It also creates unnecessary buffer in the JVM that increases GC
Instead, we should use FileChannel.transferTo, which handles this in the kernel space with zero-copy. See http://www.ibm.com/developerworks/library/j-zerocopy/
One potential solution is to use Netty NIO.
--
This message was sent by Atlassian JIRA
(v6.2#6252)