> For the complete documentation index, see [llms.txt](https://sliu583.gitbook.io/blog/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://sliu583.gitbook.io/blog/conference/index/nsdi-21/distributed-system/ownership-a-distributed-futures-system-for-fine-grained-tasks.md).

# Ownership: A Distributed Futures System for Fine-Grained Tasks

https\://www\.usenix.org/conference/nsdi21/presentation/cheng

![](https://2097630930-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-MVORxAomcgtzVVUqmws%2F-MYBu5pmJu7Pt61nM__j%2F-MYBuIDMejRXcC2MNpfz%2Fimage.png?alt=media\&token=99708bfa-10c6-4c64-b61a-65cbf26a0657)

![](https://2097630930-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-MVORxAomcgtzVVUqmws%2F-MYBu5pmJu7Pt61nM__j%2F-MYBuQgf6NhKgNN0wG-K%2Fimage.png?alt=media\&token=2c45bcaf-c626-4d23-9f83-370eedaf7c49)

![](https://2097630930-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-MVORxAomcgtzVVUqmws%2F-MYBu5pmJu7Pt61nM__j%2F-MYBuU9hGEOdpWBisNIH%2Fimage.png?alt=media\&token=a5d34421-f880-4b03-9b59-a958a391aab5)

![](https://2097630930-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-MVORxAomcgtzVVUqmws%2F-MYBu5pmJu7Pt61nM__j%2F-MYBueocaC6pjd3buAW0%2Fimage.png?alt=media\&token=dc47dacd-88d6-4ffa-977f-5b6683a4fbbe)

![](https://2097630930-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-MVORxAomcgtzVVUqmws%2F-MYBu5pmJu7Pt61nM__j%2F-MYBunkukUZeV9hEHkpZ%2Fimage.png?alt=media\&token=b42fe0d2-3adf-426d-ad0a-74c3595fe097)

![](https://2097630930-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-MVORxAomcgtzVVUqmws%2F-MYBu5pmJu7Pt61nM__j%2F-MYButdSg09d1MDb_TWr%2Fimage.png?alt=media\&token=459b0326-42a4-4bb6-881e-2e61d6f85576)

![](https://2097630930-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-MVORxAomcgtzVVUqmws%2F-MYBu5pmJu7Pt61nM__j%2F-MYBv-_zW-1tWxLSPqtv%2Fimage.png?alt=media\&token=3778e5fc-d701-459a-909a-efe04fb09503)

### System Requirements and Challenges&#x20;

![](https://2097630930-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-MVORxAomcgtzVVUqmws%2F-MYBu5pmJu7Pt61nM__j%2F-MYBvFt1e1mUsI5BmnFH%2Fimage.png?alt=media\&token=baec438d-4136-4bbb-9576-d07a70257fb7)

![](https://2097630930-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-MVORxAomcgtzVVUqmws%2F-MYBu5pmJu7Pt61nM__j%2F-MYBvIR0V1FvkC9SS33F%2Fimage.png?alt=media\&token=1bbc7e1f-b417-46b6-91ac-bb7a0c180b29)

![](https://2097630930-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-MVORxAomcgtzVVUqmws%2F-MYBu5pmJu7Pt61nM__j%2F-MYBvMmneL5IhKYWbMMU%2Fimage.png?alt=media\&token=f3d3f6bc-6aa2-4c70-b1a9-b1f892bd4791)

![](https://2097630930-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-MVORxAomcgtzVVUqmws%2F-MYBu5pmJu7Pt61nM__j%2F-MYBvS2XwMHMAFg7oK-n%2Fimage.png?alt=media\&token=2b4c02df-c392-4698-817d-094e71e25c6e)

![](https://2097630930-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-MVORxAomcgtzVVUqmws%2F-MYBu5pmJu7Pt61nM__j%2F-MYBvaevmrFtPyZnYfbO%2Fimage.png?alt=media\&token=c568d902-b726-44b2-8667-c988ed1c9fca)

### Ownership: Achieving fault tolerance without giving up performance

![](https://2097630930-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-MVORxAomcgtzVVUqmws%2F-MYBu5pmJu7Pt61nM__j%2F-MYBvfNstxOSBYYXvZA6%2Fimage.png?alt=media\&token=851c7445-ac66-45c3-a7c4-2ec01a6553f9)

![](https://2097630930-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-MVORxAomcgtzVVUqmws%2F-MYBu5pmJu7Pt61nM__j%2F-MYBvmeK9sCNAMlA1MOT%2Fimage.png?alt=media\&token=b5c5bcf8-ac6d-4262-9083-ed685b38d44b)

![](https://2097630930-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-MVORxAomcgtzVVUqmws%2F-MYBu5pmJu7Pt61nM__j%2F-MYBvppnV5s4j00ha4Vm%2Fimage.png?alt=media\&token=bf4d8d7f-334e-4fc7-a44f-1fd97042acca)

* Runtime overhead is low: keep metadata local&#x20;
* Scale: nested function calls&#x20;

![](https://2097630930-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-MVORxAomcgtzVVUqmws%2F-MYBu5pmJu7Pt61nM__j%2F-MYBw-gLfcOFncO0GOqW%2Fimage.png?alt=media\&token=775ecd1f-4327-46c3-b3f9-0fa959dcf32e)

![](https://2097630930-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-MVORxAomcgtzVVUqmws%2F-MYBu5pmJu7Pt61nM__j%2F-MYBw2NAG6r31YiQsuiv%2Fimage.png?alt=media\&token=a7d2cd73-1362-48e3-ad2d-ffdb49663f36)

![](https://2097630930-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-MVORxAomcgtzVVUqmws%2F-MYBu5pmJu7Pt61nM__j%2F-MYBw4wAtXxaiLy9Bdih%2Fimage.png?alt=media\&token=8d19127a-7448-40ff-8ea1-9828ca9bf85c)

![](https://2097630930-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-MVORxAomcgtzVVUqmws%2F-MYBu5pmJu7Pt61nM__j%2F-MYBw8E-H7Kan3Xb2VXk%2Fimage.png?alt=media\&token=475682a4-1f96-4b7e-b0dc-da4eb1092455)

![](https://2097630930-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-MVORxAomcgtzVVUqmws%2F-MYBu5pmJu7Pt61nM__j%2F-MYBwSXXjNEHO02fHoxy%2Fimage.png?alt=media\&token=cc450022-0d3b-4420-92e0-f06f2fc41cb7)

![](https://2097630930-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-MVORxAomcgtzVVUqmws%2F-MYBu5pmJu7Pt61nM__j%2F-MYBwp3p_9tX13jrEXq3%2Fimage.png?alt=media\&token=6f54d59c-0f60-4bc4-9eb1-c3aced55ef34)

* What's the smallest timescale the system can currently support, and what keeps it from being even shorter?
  * 1ms overhead&#x20;
  * Data serialization and deserialization&#x20;
* Continuations? not support. Get the future&#x20;
  * Submit another task that depends on the previous one&#x20;
  * Dynamic get&#x20;
