Proto commits in apache/incubator-nemo

These commits are when the Protocol Buffers files have changed: (only the last 100 relevant commits are shown)

Commit:dcad631
Author:Won Wook SONG

java11

Commit:d5e7436
Author:taegeonum

waiting executor init when vm scaling

Commit:1a88927
Author:taegeonum

logging output

Commit:eb2df00
Author:taegeonum

print latency to client

Commit:bcf1c5e
Author:taegeonum

fix

Commit:18b6837
Author:taegeonum

source event

Commit:f4b0cd3
Author:taegeonum

[backpressure policy]

Commit:c01118d
Author:taegeonum

executor metric for backpressure

Commit:0f820e3
Author:taegeonum

optimize task scheduling: rm sending task byte again

Commit:e213520
Author:taegeonum
Committer:taegeonum

[Throttling, fix bugs, R2/R3 protocol]

Commit:0f79f94
Author:taegeonum
Committer:taegeonum

[R3 partial agg protocol optimization; reroute again while partial agg]

Commit:fa33bdd
Author:taegeonum
Committer:taegeonum

[R3 optimization: add shortcut for partial. Directly invoke final within a partial task]

Commit:413fedd
Author:taegeonum
Committer:taegeonum

[Implementation of R3 rule]

Commit:bd67465
Author:taegeonum
Committer:taegeonum

[Optimizing rerouting (state migration and task output stop)]

Commit:d53df12
Author:taegeonum
Committer:taegeonum

[Finish rerouting protocol: task output done ACK]

Commit:6cf6bdd
Author:taegeonum
Committer:taegeonum

[correctness guarantee protocol for r2]

Commit:983b814
Author:taegeonum

[CR task state migration to transient data path]

Commit:ecc61b1
Author:taegeonum

[write bytebuf data through pipeManagerWorker]

Commit:1da613a
Author:taegeonum

[signal crvertex]

Commit:d8e9bea
Author:taegeonum

kill job wheb latency is higher than threshold

Commit:a640e0a
Author:taegeonum
Committer:taegeonum

[Nemo name server resolver]

Commit:24eff85
Author:taegeonum
Committer:taegeonum

[Netty messge environment]

Commit:1bea414
Author:taegeonum
Committer:taegeonum

[Refactoring messages. change listener id to enum]

Commit:f20c712
Author:taegeonum

migration specific stage

Commit:af54ea6
Author:taegeonum
Committer:taegeonum

[Partial offloading warmup] [Deactivate lambda control message] [waiting remaining event before deactivation of partial offloading] [fix bug, sampling based on interval]

Commit:fd36110
Author:taegeonum
Committer:taegeonum

[Warm up: task send before handling bursty]

Commit:963a508
Author:taegeonum

[Offloading task from master]

Commit:8bb6058
Author:taegeonum

[source throttle, recliam, deoffload]

Commit:3b5ef26
Author:taegeonum
Committer:taegeonum

[Implement yarn offloading requestor]

Commit:30f4ff4
Author:taegeonum

[add offloading task and executor with cmd line control]

Commit:8535ae0
Author:taegeonum

[Building Testbed for task migration]

Commit:2b63cfe
Author:taegeonum

Task migration implementing.. TODO: task stop and input pipe restart

Commit:ff4311e
Author:taegeonum

register pipe index

Commit:68c286e
Author:taegeonum

Pipe manager worker refactoring

Commit:501a2d9
Author:taegeonum
Committer:taegeonum

[Stateless task stop and reschedule on HDFStore]

Commit:f5addde
Author:taegeonum

reschedule a stopped task

Commit:1079014
Author:taegeonum

Move task enabled

Commit:b7671db
Author:taegeonum

Testing hdfs state store

Commit:019223d
Author:taegeonum
Committer:taegeonum

[Graceful shutdown with ctrl+c and aws region set]

Commit:60edae9
Author:taegeonum

driver shutting down

Commit:7e881be
Author:taegeonum
Committer:taegeonum

[Done: scaling from SF to VM. TODO: VM to VM]

Commit:b7dd7c9
Author:taegeonum

[sf to vm.. mechanism]

Commit:e58f2f9
Author:taegeonum
Committer:taegeonum

[Launching vm workers in master]

Commit:acf75d0
Author:taegeonum
Committer:taegeonum

[Implement VM scaling]

Commit:573a806
Author:taegeonum

throttling

Commit:1f28fc1
Author:taegeonum

sf cpu use

Commit:8142206
Author:taegeonum

Scaling with input rate and cpu

Commit:fb2644d
Author:taegeonum

[stage input output logging]

Commit:a5d18c9
Author:taegeonum

[broadcast info for evaluation]

Commit:f23590c
Author:taegeonum

proactive migration

Commit:7f60c94
Author:taegeonum

prioritizing based on states

Commit:5c9e1fe
Author:taegeonum

proritized scaling

Commit:6bd4f20
Author:taegeonum

local scaling with global sync

Commit:ecc2377
Author:taegeonum

rendevous server impl

Commit:e02b952
Author:taegeonum

disable stage2 offloading in query5

Commit:c622eb0
Author:taegeonum

scaling in

Commit:7330277
Author:taegeonum
Committer:taegeonum

task location management in master

Commit:b83d734
Author:taegeonum

vm scaling in multiple nodes

Commit:8f15e41
Author:taegeonum

GlobalExecutorAddressMap and remove logging

Commit:2a0cfd4
Author:taegeonum

Implement multivm relay server

Commit:8a6f909
Author:taegeonum
Committer:taegeonum

[Implement master scaling decision]

Commit:739e5e6
Author:taegeonum

stage-based offloading

Commit:6d47be5
Author:taegeonum

..

Commit:49d7947
Author:taegeonum

global transfer index

Commit:a3f535b
Author:taegeonum

add taskIndexMaster

Commit:0db4c50
Author:taegeonum

[Preparing multi-stage lambda.. remove protobuf and move classes]

Commit:fbd2e6e
Author:Won Wook SONG
Committer:WooYeon Lee

[NEMO-360] Implementing an 'XGBoostPolicy' (#203) JIRA: [NEMO-360: Implementing an 'XGBoostPolicy'](https://issues.apache.org/jira/projects/NEMO/issues/NEMO-360) **Major changes:** - Adds a python script that runs XGBoost. - as well as a bash script for using the python script. - Uses the Client <-> Driver RPC to run the XGBoost script and return the results to the driver. - Enables environment tag. - Refactors the utility classes accordingly. **Minor changes to note:** - Miscellaneous methods to help the implementation (e.g., getEdgeById) - Consistency in the shell scripts - Appropriately adds files to the gitignore - Javadocs **Tests for the changes:** - MetricUtilsTest confirms that changing an EP to indices and back to EP works correctly (TDD) **Other comments:** - None Closes #203

The documentation is generated from this commit.

Commit:599c8f4
Author:taegeonum

[Pipe reverse connection]

Commit:8ec2469
Author:John Yang
Committer:Jeongyoon Eo

[NEMO-332] Refactor RunTimePass (#191) JIRA: [NEMO-332: Refactor RunTimePass](https://issues.apache.org/jira/projects/NEMO/issues/NEMO-332) **Major changes:** * Refactors the RunTimePass API * Refactors the run-time plan rewriting logic into the NemoPlanRewriter **Minor changes to note:** * Replaces ResourceSkewedDataProperty with ResourceAntiAffinityProperty (generalizing the directive) **Tests for the changes:** * Existing tests continue to pass Closes #191

Commit:0c826c2
Author:John Yang
Committer:Jangho Seo

[NEMO-8] Implement PipeManagerMaster/Worker (#129) JIRA: [NEMO-8: Implement PipeManagerMaster/Worker](https://issues.apache.org/jira/projects/NEMO/issues/NEMO-8) **Major changes:** - Supports fully-pipelined data streaming for bounded sources (not unbounded sources) - Tasks do 'finish' after processing all input data, as the data is finite - When a tasks finishes, it emits all data it has (e.g., GroupByKey accumulated results) and closes corresponding outgoing pipes, notifying downstream tasks the end of the pipes - For stream-processing unbounded sources, we need watermarks (https://issues.apache.org/jira/browse/NEMO-233) - Introduces PipeManagerMaster/Worker - Shares code with BlockManagerMaster/Worker - Naive, Element-wise serialization+compression+writeAndFlush - Very likely that this will cause some serious overheads. Will run proper benchmarks and fix the issues in a later PR. **Minor changes to note:** - JobConf#SchedulerImplClassName: Batch and Streaming options - StreamingPolicyParallelismFive: The default policy + PipeTransferEverythingPass - Fixes the StreamingScheduler to pass the new streaming integration tests - Fixes a coder bug in the Beam frontend (PCollectionView coder) **Tests for the changes:** - WindowedWordCountITCase#testStreamingFixedWindow - WindowedWordCountITCase#testStreamingSlidingWindow **Other comments:** - Also closes "Implement common API for data transfer" (https://issues.apache.org/jira/browse/NEMO-9) Closes #129

Commit:1709e95
Author:Jangho Seo
Committer:John Yang

[NEMO-239] Edit Source Headers for ASF Guideline Compliance (#132) JIRA: [NEMO-239: Edit Source Headers for ASF Guideline Compliance](https://issues.apache.org/jira/projects/NEMO/issues/NEMO-239) **Major changes:** - Edited source headers to meet the standards defined in https://www.apache.org/legal/src-headers.html **Minor changes to note:** - N/A **Tests for the changes:** - N/A **Other comments:** - N/A Closes #132

Commit:36513ad
Author:Jangho Seo
Committer:John Yang

[NEMO-211] Move Java package and Maven artifact from edu.snu.nemo to org.apache.nemo JIRA: [NEMO-211: Move Java package and Maven artifact from edu.snu.nemo to org.apache.nemo](https://issues.apache.org/jira/projects/NEMO/issues/NEMO-211) **Major changes:** - Moved Java package from edu.snu.nemo to org.apache.nemo - Moved Maven artifact from edu.snu.nemo to org.apache.nemo **Minor changes to note:** - N/A **Tests for the changes:** - N/A **Other comments:** - N/A Closes #116

Commit:3dcff47
Author:Jeongyoon Eo
Committer:Sanha Lee

[NEMO-96] Modularize DataSkewPolicy to use MetricVertex and BarrierVertex (#115) JIRA: [NEMO-96: Modularize DataSkewPolicy to use MetricVertex and BarrierVertex](https://issues.apache.org/jira/projects/NEMO/issues/NEMO-96) [NEMO-98: Implement MetricVertex that collect metric used for dynamic optimization](https://issues.apache.org/jira/projects/NEMO/issues/NEMO-98) [NEMO-99: Implement AggregationBarrierVertex for dynamic optimization](https://issues.apache.org/jira/projects/NEMO/issues/NEMO-99) **Major changes:** - Handle dynamic optimization via `MetricCollectionVertex` and `AggregationBarrierVertex` instead of `MetricCollectionBarrierVertex` - For each shuffle edge with main output, `MetricCollectionVertex` is inserted in compile-time at the end of its source tasks, which collects key frequency data - For each shuffle edge with main output, `AggregationBarrierVertex` is inserted in compile-time. It aggregates task-level key frequency data, which is collected via each `MetricCollectionVertex` and emitted as additional tagged output **Minor changes to note:** - Added encoder/decoder factories needed for aggregating dynamic optimization data - in here key frequency data - Modified `PipelineTranslator` to extract key encoder/decoders - Modified `DataSkewRuntimePass` and related code path to handle `Object` type keys, instead of integer type hash index keys **Tests for the changes:** - N/A(unit tests for skew handling and `PerKeyMedianITCase` test the changes) **Other comments:** - N/A Closes #115

Commit:954d92f
Author:John Yang
Committer:Sanha Lee

[NEMO-15] Run Spark ALS in distributed mode (#113) JIRA: [NEMO-15: Run Spark ALS in distributed mode](https://issues.apache.org/jira/projects/NEMO/issues/NEMO-15) **Major changes:** - Removes 'sideinput' from IRDAG, and instead introduces BroadcastVariableProperty - InMasterBroadcastVariables/BroadcastManagerWorker: Components that deal with broadcast variables - New RPC messages for exchanging broadcast variables between client->driver, and driver<->executor **Minor changes to note:** - Explicit scala lambdas (update_ms, update_us) to get around serialization errors - Avoid duplicate PlanState completions which can be caused by cloned executions **Tests for the changes:** - SparkScala#testALS **Other comments:** - This PR also closes: [NEMO-14] Re-investigate Broadcast and SideInputs Closes #113

Commit:98dbe68
Author:John Yang
Committer:Jeongyoon Eo

[NEMO-178] Zero-delay task cloning (#107) JIRA: NEMO-178: Zero-delay task cloning Major changes: * A state machine per task attempt/its output blocks * Randomly choose one of the available attempt output blocks when fetching data * A cloned task, or a retried task is just another task attempt * ClonedSchedulingProperty: Zero-delay, upfront task cloning Minor changes to note: * Removes unused code * RuntimeIdGenerator -> RuntimeIdManager * Removes the first hyphens from the ids (e.g., vertex-4 => vertex4) Tests for the changes: * WordCountITCase#testClonedScheduling Other comments: * ClonedSchedulingPass at the moment just clones source vertices, as cloning Beam sink vertices appears to cause failures due to a duplicate file name conflict (I'll look into this in a later PR) resolves NEMO-178

Commit:d59373f
Author:Jeongyoon Eo
Committer:John Yang

[NEMO-64] Fix map stage hang under DataSkewPolicy (#99) JIRA: [NEMO-64: Fix map stage hang under DataSkewPolicy](https://issues.apache.org/jira/projects/NEMO/issues/NEMO-64), [NEMO-181: Fix DataSkewPolicy bug for multiple shuffles](https://issues.apache.org/jira/projects/NEMO/issues/NEMO-181) **Major changes:** - Data for dynamic optimization is aggregated at `DynOptDataHandler` in Scheduler instead of a variable in `MetricCollectionBarrierVertex`. Updating `MetricCollectionBarrierVertex` as data arrives in RuntimeMaster clashed with serializing IRDAG for scheduled Tasks, which caused `ConcurrentModificationException` and silently killed the Scheduler - Identifies the target edge to optimize via MetricCollectionProperty in case multiple shuffles are involved. **Minor changes to note:** - Removed now unused entries in `dataSizeMetricMsg` - Added `DataSkewMetricProperty` and `MetricFactory` to make task hash ranges of shuffle edges as an execution property, so that RuntimePass can optimize the given IR DAG **Tests for the changes:** - N/A(No new features, covered by `PerKeyMedianITCase`) **Other comments:** - Data for dynamic optimization will be aggregated in designated vertex and not in the RuntimeMaster via upcoming PR for [NEMO-99](https://issues.apache.org/jira/browse/NEMO-99) resolves [NEMO-64](https://issues.apache.org/jira/projects/NEMO/issues/NEMO-64), [NEMO-181](https://issues.apache.org/jira/projects/NEMO/issues/NEMO-181)

Commit:0da3f85
Author:Won Wook SONG
Committer:Jangho Seo

[NEMO-62] Support Multiple DAG Submission in a Single User Program (#73) JIRA: [NEMO-62: Support Multiple Jobs Submission in a Single User Program](https://issues.apache.org/jira/projects/NEMO/issues/NEMO-62) **Major changes:** - The client and the driver interacts with each other to notify the status of each other when executing the job, enabling the client to submit DAGs multiple times to the driver. - At the moment, the scheduler does not handle multiple DAGs, but it's possible to submit multiple DAGs to the driver. The changes here are related to the client side. The actual execution will be handled with [NEMO-152](https://issues.apache.org/jira/projects/NEMO/issues/NEMO-152?filter=allopenissues). - Beam launches a DAG a single time, as it collects everything before launching the pipeline, but Spark provides `actions` that we can use multiple times in an application. In order to support the functionality, this change is necessary. **Minor changes to note:** - Handle SonarQube issues and fix minor typos and grammatical errors. **Tests for the changes:** - Add an example test program (IT case) to ensure that it works properly. **Other comments:** - N/A resolves [NEMO-62](https://issues.apache.org/jira/projects/NEMO/issues/NEMO-62)

Commit:9fe914c
Author:Jae Hyeon Park
Committer:Jeongyoon Eo

[NEMO-20] RESTful APIs to Access Job State and Metric (#61) JIRA: NEMO-20: RESTful APIs to Access Job State and Metric Major changes: * Removed previous MetricCollector. * Add Metric interface to handle easily with metrics. * Add MetricStore which collects all metric data at the master side. * Add HTTP and WebSocket REST API endpoints. Minor changes to note: N/A Tests for the changes: * Simple JSON dump test at MetricStoreTest. Other comments: N/A resolves NEMO-20

Commit:b88accb
Author:Jae Hyeon Park
Committer:Jangho Seo

[NEMO-61] Fix lost execution metric collection problem (#60) JIRA: [NEMO-61: Fix lost execution metric collection problem](https://issues.apache.org/jira/projects/NEMO/issues/NEMO-61) **Major changes:** - Add metric flush request and response types in control message type. - `RuntimeMaster#terminate` now wait until all metrics from executors arrive. **Minor changes to note:** - Expose `ExecutorReqistry#viewExecutors` to public. **Tests for the changes:** - MetricFlushTest ensures MetricManagerMaster can send flush requests to MetricManagerWorkers and workers respond appropriately by flushing remaining metric logs. **Other comments:** - Related to NEMO-20. resolves [NEMO-61](https://issues.apache.org/jira/projects/NEMO/issues/NEMO-61)

Commit:3493fba
Author:Won Wook SONG
Committer:Jangho Seo

[NEMO-16] Implement collection of data from executor to client (#56) JIRA: [NEMO-16: Implement collection of data from executor to client](https://issues.apache.org/jira/projects/NEMO/issues/NEMO-16) **Major changes:** - Gets rid of the file-writing and reading during the `collect` action of Spark. Instead, it brings the data from the executor through the driver, and then back to the client using the RPC implemented with [NEMO-103] (#45). **Minor changes to note:** - I've separated the MR Spark integration tests into a separate file, as the SparkJava integration tests file has been becoming too large and crowded. - A number of typos have been fixed **Tests for the changes:** - I've created a test for the `ContextImpl`, which had no unit tests before. **Other comments:** - N/A resolves [NEMO-16](https://issues.apache.org/jira/projects/NEMO/issues/NEMO-16)

Commit:39482ae
Author:Jangho Seo
Committer:Won Wook SONG

[NEMO-103] Implement RPC between Client and Driver (#45) JIRA: [NEMO-103: Communication between Driver and Client](https://issues.apache.org/jira/projects/NEMO/issues/NEMO-103) **Major changes:** - Implement RPC between NemoClient and NemoDriver using NettyMessagingTransport - Use the RPC stack to submit DAG to driver, allowing multiple-DAG submission to one REEF instance. **Minor changes to note:** - N/A **Tests for the changes:** - Added 'ClientDriverRPCTest' - Existing integration tests also cover this change. **Other comments:** - N/A resolves [NEMO-103](https://issues.apache.org/jira/projects/NEMO/issues/NEMO-103)

Commit:88b7933
Author:John Yang
Committer:Jangho Seo

[NEMO-87] Remove unused BlockStates (#49) JIRA: [NEMO-87: Remove unused BlockStates](https://issues.apache.org/jira/projects/NEMO/issues/NEMO-87) **Major changes:** - READY, LOST_BEFORE_COMMIT, LOST, REMOVED => NOT_AVAILABLE - SCHEDULED => IN_PROGRESS - COMMITTED => AVAILABLE **Minor changes to note:** - N/A **Tests for the changes:** - N/A (no new feature) **Other comments:** - N/A resolves [NEMO-87](https://issues.apache.org/jira/projects/NEMO/issues/NEMO-87)

Commit:ff8a120
Author:Taegeon Um
Committer:Jeongyoon Eo

[NEMO-94] Clean up legacy TODOs (#36) JIRA: NEMO-94: Clean up legacy TODOs Major changes: * Remove TODOs of resolved issues * Re-reference the issue number Minor changes to note: n/a Tests for the changes: n/a Other comments: n/a resolves NEMO-94

Commit:9941c1c
Author:John Yang
Committer:Jeongyoon Eo

[NEMO-79] Clean up the legacy Task (#24) JIRA: NEMO-79: Clean up the legacy Task Major changes: * Removes the 'old' Task interface and its implementations to make the 'new' Task (formerly TaskGroup) become the only Task in the codebase * Specifically, changes the DAG in the 'new' Task from DAG<Task, RuntimeEdge> to DAG<IRVertex, RuntimeEdge> * Adds SourceVertex#clearInternalStates to clear the huge list of input splits held by BeamBoundedSourceVertex before sending the vertex to remote executors. Between clearing states of an existing vertex and creating a new vertex, I've chosen the former approach to ensure consistent use of the same IRVertex object across the compiler, the master, and the executors. Minor changes to note: * Make BeamBoundedSourceVertex remember sourceDescription for visualization purposes * Changes related method and variable names appropriately * Changes comments appropriately Tests for the changes: N/A (no new feature was added) Other comments: N/A resolves NEMO-79

Commit:2958d84
Author:John Yang
Committer:Jeongyoon Eo

[NEMO-76] Rename TaskGroup to Task (#20) JIRA: NEMO-76: Rename TaskGroup to Task Major changes: Appropriately renames things like 'TaskGroup', 'taskGroup', 'Task group', and 'task group' Minor changes to note: Removes the legacy TaskState Tests for the changes: This PR only changes names, and removes TaskState that isn't used anywhere The existing tests continue to pass Other comments: The legacy 'Task' will be handled with https://issues.apache.org/jira/browse/NEMO-79 Once this PR is merged, I'll work on that ASAP to remove the confusion between the two 'Task's. resolves NEMO-76

Commit:f5e8545
Author:sanha

resolve conflict

Commit:7d8b9c3
Author:JangHo Seo
Committer:Sanha Lee

[NEMO-26] Implement SourceLocationAwareSchedulingPolicy (#1) JIRA: [NEMO-26: Implement SourceLocationAwareSchedulingPolicy](https://issues.apache.org/jira/projects/NEMO/issues/NEMO-26) **Major changes:** - Implemented SourceLocationAwareSchedulingPolicy - This scheduling policy schedules TaskGroups with Readables to the one of the executors that have the corresponding input split. - For TaskGroups without any Readables, it uses RoundRobinSchedulingPolicy. - Added unit tests for SourceLocationAwareSchedulingPolicy. - Refactor scheduling thread model on runtime master side (thanks to @johnyangk) - Made only two threads call scheduling-related code: RuntimeMaster thread (RMT), and SchedulerThread(ST) - RMT and ST meet only at two points: SchedulingPolicy, and PendingTaskGroupQueue, which are synchronized(ThreadSafe) - Other scheduler-related classes that are accessed by only one of the two threads are not synchronized(NotThreadSafe) - We use ContainerManager for handling containers only, and not executors (to avoid hanging, we also don’t wait for pending resource requests upon termination) - ExecutorRegistry and ExecutorRepresenter fully classify running/failed/completed Executor/Taskgroups **Minor changes to note:** - None **Tests for the changes:** - Implemented SourceLocationAwareSchedulingPolicy - Added SourceLocationAwareSchedulingPolicyTest - Refactored container management and scheduling on runtime master side (thanks to @johnyangk) - ContainerManagerTest covers the changes **Other comments:** - None

Commit:d65227d
Author:sanha

debug dataskew

Commit:e7fd59a
Author:JangHo Seo
Committer:Won Wook SONG

[Minor] Add missing license headers (#788) This PR: - modifies `pom.xml` to use RAT to check copyright header in source files - adds missing copyright notice to some source files

Commit:670442a
Author:John Yang
Committer:Won Wook SONG

[Minor] Rename Coral to Nemo (#783) Remove all Coral in the codebase.

Commit:5e3c29f
Author:JangHo Seo
Committer:Won Wook SONG

[Nemo-762] Support multiple byte streams for one block transfer (#765) This commit features the following changes: * Add support for multiple sub-stream for one block transfer context * Complete separation of block management and byte transfer * Lower data plane renamed from 'BlockTransfer' to 'ByteTransfer' * Higher data plane embeds block metadata in 'TransferContext'. Lower data plane does not interpret it. * Enabling Streaming for inter-TaskGroup communication (disabled by BlockManagerWorker) * Fixed InputReader not to introduce deadlock while reading streamized SideInput * Much more concise codebase! Resolves #765

Commit:e92db1e
Author:John Yang
Committer:Won Wook SONG

[Minor] Rename onyx to coral (#763) * rename * rename all-cap Nemo

Commit:d47c940
Author:Sanha Lee
Committer:Won Wook SONG

[Nemo-742] Make PhysicalPlan scalable (#746) This PR: - Removes physical-level information from `Task`. - Moves physical-level information from `TaskGroup` (index, for example) to `ScheduledTaskGroup`. Resolves #742.

Commit:573c24d
Author:Sanha Lee
Committer:Won Wook SONG

[Nemo-715] Remote Block Metadata in File (#718) This PR: - makes `RemoteFileMetadata` be stored in remote file instead of memory in driver side. - when write a remote block, it's metadata (including partition information) is maintained in the memory of the executor which runs the task - when the block is committed, the metadata will be flushed into a separate remote file - when the block is read, the metadata will be restored from the file - removes all message passing for metadata between driver & executor Resolves #715

Commit:04fec3c
Author:jooykim
Committer:Won Wook SONG

[Nemo-494] Replace Hash Range with Key Range (#665) Resolves #494 . This PR: - Creates an interface `KeyRange`, makes `HashRange` implement the interface. - Replaces all the code that assumes partition keys to be of integer type, introducing a generic type `K`

Commit:7abe7c0
Author:Sanha Lee
Committer:Won Wook SONG

[Minor] Switch Block with Partition (#663) This PR: - Renames Block and corresponding classes & parameters to Partition - Renames Partition and corresponding classes & parameters to Block

Commit:d1a728b
Author:Jeongyoon Eo
Committer:Won Wook SONG

[Nemo-24] pom.xml per Sub-Package (#616) Resolves #24 Resolves #592 This PR: - Basic sub-packaging: `pom.xml` per sub-package with no dependency error - Modified README with running examples(`bin/run.sh`) - `mvn clean install` runs all unit tests/ITs currently located in `tests`

Commit:5ae126c
Author:gwsshs22
Committer:JangHo Seo

[Nemo-206] Replace NCS with a proper RPC framework (#590) This PR: - implements grpc based RPC server and client to implement interfaces of `edu.snu.onyx.runtime.common.message` Resolves #206

Commit:f87e48b
Author:Sanha Lee
Committer:John Yang

[Nemo-588] Implement MemoryStore which stores data in serialized form (#589) This PR: - implements a serializing version of MemoryStore - makes lower-level data plane (PartitionTransfer) support byte array transfer - moves data (de)serializing parts to `DataSerializationUtil` class (because many `PartitionStore`s share these codes) - creates `LocalPartitionStore` to represent `PartitionStore`s which contain the (meta)data as a single map in local. Resolves #588.

Commit:fa1aede
Author:Won Wook SONG
Committer:GitHub

[Nemo-548] Rename old name to Nemo (#551) This PR: - renames all remnants of our old name to Nemo. resolves #548