From 004ffe7e219b89060103d40cf26207a630ea7c4e Mon Sep 17 00:00:00 2001 From: Robert Nishihara Date: Mon, 16 Oct 2017 00:03:22 -0700 Subject: [PATCH] Edits to serialization blog post. (#1131) * Fix typo. * Move API section further up, and add specific commit for experiments. * Improve wording. * Modify figures. --- ...-serialization-with-ray-and-arrow.markdown | 66 +++++++++--------- .../arrow_object.png | Bin 12059 -> 10539 bytes .../python_object.png | Bin 20784 -> 24165 bytes 3 files changed, 34 insertions(+), 32 deletions(-) diff --git a/site/_posts/2017-10-15-fast-python-serialization-with-ray-and-arrow.markdown b/site/_posts/2017-10-15-fast-python-serialization-with-ray-and-arrow.markdown index f160294ec..d38f57473 100644 --- a/site/_posts/2017-10-15-fast-python-serialization-with-ray-and-arrow.markdown +++ b/site/_posts/2017-10-15-fast-python-serialization-with-ray-and-arrow.markdown @@ -1,7 +1,7 @@ --- layout: post title: "Fast Python Serialization with Ray and Apache Arrow" -excerpt: "This post describes How serialization works in Ray." +excerpt: "This post describes how serialization works in Ray." date: 2017-10-15 14:00:00 author: Philipp Moritz, Robert Nishihara --- @@ -110,6 +110,25 @@ case is the case where NumPy arrays are nested within other objects. Note that our serialization library works with very general Python types including custom Python classes and deeply nested objects. +## The API + +The serialization library can be used directly through pyarrow as follows. More +documentation is available [here][7]. + +```python +x = [(1, 2), 'hello', 3, 4, np.array([5.0, 6.0])] +serialized_x = pyarrow.serialize(x).to_buffer() +deserialized_x = pyarrow.deserialize(serialized_x) +``` + +It can be used directly through the Ray API as follows. + +```python +x = [(1, 2), 'hello', 3, 4, np.array([5.0, 6.0])] +x_id = ray.put(x) +deserialized_x = ray.get(x_id) +``` + ## Data Representation We use Apache Arrow as the underlying language-independent data layout. Objects @@ -118,12 +137,12 @@ data blob is roughly a flattened concatenation of all of the data values recursively contained in the object, and the schema defines the types and nesting structure of the data blob. -Python sequences (e.g., dictionaries, lists, tuples, sets) are encoded as -[UnionArrays][8] of other types (e.g., bools, ints, strings, bytes, floats, -doubles, date64s, tensors (i.e., NumPy arrays), lists, tuples, dicts and sets). -Nested sequences are encoded using [ListArrays][9]. All tensors are collected -and appended to the end of the serialized object, and the UnionArray contains -references to these tensors. +**Technical Details:** Python sequences (e.g., dictionaries, lists, tuples, +sets) are encoded as Arrow [UnionArrays][8] of other types (e.g., bools, ints, +strings, bytes, floats, doubles, date64s, tensors (i.e., NumPy arrays), lists, +tuples, dicts and sets). Nested sequences are encoded using Arrow +[ListArrays][9]. All tensors are collected and appended to the end of the +serialized object, and the UnionArray contains references to these tensors. To give a concrete example, consider the following object. @@ -145,10 +164,10 @@ UnionArray(type_ids=[tuple, string, int, int, ndarray], Arrow uses Flatbuffers to encode serialized schemas. **Using only the schema, we can compute the offsets of each value in the data blob without scanning through -the data blob.** This means that we can avoid copying or otherwise converting -large arrays and other values during deserialization. Tensors are appended at -the end of the UnionArray and can be efficiently shared and accessed using -shared memory. +the data blob** (unlike Pickle, this is what enables fast deserialization). This +means that we can avoid copying or otherwise converting large arrays and other +values during deserialization. Tensors are appended at the end of the UnionArray +and can be efficiently shared and accessed using shared memory. Note that the actual object would be laid out in memory as shown below. @@ -162,30 +181,11 @@ different memory region, and arrows between boxes represent pointers. The Arrow serialized representation would be as follows.
- +
The memory layout of the Arrow-serialized object.

-## The API - -The serialization library can be used directly through pyarrow as follows. More -documentation is available [here][7]. - -```python -x = [(1, 2), 'hello', 3, 4, np.array([5.0, 6.0])] -serialized_x = pyarrow.serialize(x).to_buffer() -deserialized_x = pyarrow.deserialize(serialized_x) -``` - -It can be used directly through the Ray API as follows. - -```python -x = [(1, 2), 'hello', 3, 4, np.array([5.0, 6.0])] -x_id = ray.put(x) -deserialized_x = ray.get(x_id) -``` - ## Getting Involved We welcome contributions, especially in the following areas. @@ -198,7 +198,8 @@ for C++ and Java. For reference, the figures can be reproduced with the following code. Benchmarking `ray.put` and `ray.get` instead of `pyarrow.serialize` and -`pyarrow.deserialize` gives similar figures. +`pyarrow.deserialize` gives similar figures. The plots were generated at this +[commit][10]. ```python import pickle @@ -279,3 +280,4 @@ for i in range(len(test_objects)): [7]: https://arrow.apache.org/docs/python/ipc.html#arbitrary-object-serialization [8]: http://arrow.apache.org/docs/memory_layout.html#dense-union-type [9]: http://arrow.apache.org/docs/memory_layout.html#list-type +[10]: https://github.com/apache/arrow/tree/894f7400977693b4e0e8f4b9845fd89481f6bf29 diff --git a/site/assets/fast_python_serialization_with_ray_and_arrow/arrow_object.png b/site/assets/fast_python_serialization_with_ray_and_arrow/arrow_object.png index f0a1839d90382e833373cfdba2a91d66a0bd7c77..e24dcccb454a583846d7917799b61f8cf2c34cb0 100644 GIT binary patch literal 10539 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 literal 12059 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 LrlVR3eIEW_k~0i> literal 20784 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 F{{hK)MsWZD