tree a4e1efbfb55cde8a1b43c2c19671befe0356f852
parent 3d46caf02c84c739e448d8cc6220099fa8df58d7
author jaehwan0214 <60352009+jaehwan0214@users.noreply.github.com> 1605786582 +0900
committer GitHub <noreply@github.com> 1605786582 +0900
gpgsig -----BEGIN PGP SIGNATURE-----
 
 wsBcBAABCAAQBQJftlvWCRBK7hj4Ov3rIwAAdHIIAJbh1nMYdcxtmdlII00+PvBx
 hSmCIGFPxotXdsql63+Yifm22Lc1ftA53Qf7w6BhrhjZLHsTknndV5sQu4crwasg
 6HPY1lthCghhmy6k7qyAA45VihIa63/g1J/3DGWj/cydrWtgNEMKCirDjb0CcWrY
 FkCD+rQjPadAO1cW2lB37D0RUBVZ7bs7Js7s8kIffCoNhbKRRnD//arKGiJ6dksE
 eM2/qixVn0g7jDqo5Hw26AZUqplSR+IyN7y2hPEOSVcLCLxJwlWy5Cy3H2HPMviU
 GCsQfWFlAi69foqixxmjXpsdocgoJPYJglljUC65ihf+p5lvObeb7nT85l0lzic=
 =W2Vi
 -----END PGP SIGNATURE-----
 

[NEMO-394] Exchange data via shared memory (#304)

JIRA: [NEMO-394: Exchange data via shared memory](https://issues.apache.org/jira/projects/NEMO/issues/NEMO-394)

**Major changes:**
- Implemented the LocalInputContext and the LocalOutputContext to enable a pipe output writer and an input reader to exchange data via shared memory when both a parent task and a child task are in the same executor. In such a case, the data transfer doesn't involve data serialization/deserialization.

**Minor changes to note:**
- Renamed the "bytetransfer" package to "transfer," which now also includes LocalTransfer contexts.
 
**Tests for the changes:**
- Added the LocalTransferContext test.
- Windowed Word Count IT case
- Measured the latency of processing 160MB data before and after using shared memory. Below are the results.
      - With a single executor, the latency reduced by 87 sec (≈70%) after using shared memory.
      - With two executors, the latency reduced by 30 sec (≈20%) after using shared memory.
 
Closes #304