* Implement plasma_release, enabling clients to indicate when they are no longer using an object.
* Call plasma_release for each plasma_create call, and call plasma_release from the manager.
* Fixes.
* Create client specific contexts for plasma_store callbacks.
* More changes.
* Fixes.
* Cleanup lists of clients using objects when a client disconnects.
* Make names parallel.
* Receive notifications about sealed objects from Plasma, and schedule tasks only when the dependencies are available locally.
* Fix formatting.
* Use version of Plasma with fix.
* Fix.
* Factor out the scheduling algorithm and use worker_index instead of the client socket to identify workers
* Fixes
* clang-format
* fix remaining linter errors
* Fetch objects from remote plasma instances. Includes:
- Configurable number of retries, with a timeout per retry
- Support for multiple-object fetch
- Test cases (integration only)
Update ray common
Remove attempts to retry object table lookup during fetch
lint
Fix a couple valgrind errors
Fix valgrind errors
Address Robert and Philipp's comments.
* Add fix from ray common and some TODOs.
* Update ray common
* Update ray common again
* Remove unused file
* Add ability to pass callback context to object table lookup
* Propagate errors during socket writes up to caller.
* Use recv and MSG_WAITALL flag instead of looping read
* Error checking in write_bytes
* Method to listen on a network port
* Revert "Use recv and MSG_WAITALL flag instead of looping read"
This reverts commit 32d9333bc6a185729aadb4b41b70b3d7f150a9c2.
* Some documentation
* Clearer documentation
* Fix bug where database clients were getting assigned the same ID
* Regression test for unique client IDs
* Create libplasma_client.a in Makefile.
* Implement plasma subscribe.
* Fixes and tests.
* Buffer notifications in the Plasma store when the socket send buffer is full.
* Fix formatting.
* Turn off -Werror in Makefile.
* Fixes.
* Fix formatting.
* Properly reset reusable variables on the driver when remote functions are run locally on the driver.
* Cache functions to run on all workers that occur before ray.init is called.
* Update documentation for serialization.
* Update documentation for reusable variables.
* Update documentation for using Ray with TensorFlow. This change is to allow code blocks to be copied and pasted into a Python interpreter.
* Fix documentation for hyperparameter optimization example.
* Make photon client into a C extension.
* Fix formatting.
* Rename extension from PhotonClient to Photon.
* Update common submodule.
* Fix Makefile to compile with fPIC.
* Update common submodule.
* Compile C extension against common.
* Fix formatting.
* Remove unnecessary include.
* Update common submodule and rename Photon -> PhotonClient.
* Drop global interpretor lock during get_task.
* Move common C extension module into a different C file so that the actual definitions can be more easily included in other C extensions.
* Rename common_extension_module -> common_module.
* Increase allocation granularity dynamically with each MMAP call
* Fewer MMAP calls required when workload contains several objects.
* Delay hitting the per-process file descriptor constraint.
* Change type of GRANULARITY_MULTIPLIER
* Make granularity update more concise.
* Increase dlmalloc threshold along with granularity
* Eventually resolve issue of objects being allocated their own file if larger than dlmalloc threshold
* Avoid dlmalloc threshold and granularity integer overflow
* Update granularity directly without invoking dlmallopt
* Set the threshold to a fixed size (MAX_SIZE_T)
* Removed trailing whitespace
* Add Ray common as a submodule
* Convert to Ray common event loop
* Hide plasma manager state
* Interface changes
* Minor fixes: change LOG_INFO calls to LOG_DEBUG, comments, lint
* Turn off DEBUG by default and make Travis happy
* Allow processes time to clean up during Python tests
* Debugging travis...
* Plasma managers have long-lived connections per manager, not per object
* fix valgrind invalid read and cleanup
* make valgrind happy
* update store API
* put in place manager API
* fixed race condition while sending commands to plasma manager and store -- path sent by Phillip
* clang-format
* Revert "fixed race condition while sending commands to plasma manager and store -- path sent by Phillip"
This reverts commit 79e0f6e6d84f2a309b53155955b65c26c75af071.
* Use reliable socket read/writes from Ray common
* Merge data_connection and plasma_manager_connection structs
* small updates
* restore tests
* Allow CHECK to take in a message
* Turn off debug statements by default
* format arguments to CHECK message
* UT list
* Socket methods that block until full message is read/written
* Address Robert and Philipp's comments
* Formatting
* Increase allocation granularity dynamically with each MMAP call
* Fewer MMAP calls required when workload contains several objects.
* Delay hitting the per-process file descriptor constraint.
* Change type of GRANULARITY_MULTIPLIER
* Make granularity update more concise.
* API revision
* update
* make status a bitmap
* update api
* tests working
* new task log APIs
* update APIs
* write binary structures to redis
* update tests
* fix clang-format
* Fix formatting.