* Put infrastructure in place to compute task IDs and object IDs.
* Fix version number for common library.
* Compute task IDs and object IDs deterministically.
* Address Stephanie's comments.
* Update task documentation.
* Fix formatting.
* Add more tests and checks.
* Fix formatting.
* Enable DCHECKs and change CHECKs to DCHECKs.
* Fix bug in which worker import counters were treated incorrectly.
* Fix bug in which cached functions-to-run were double counted as exports. This also runs the functions-to-run on the driver only after ray.init is called.
* Only define reusable variables locally after ray.init has been called.
* Remove flaky reference counting tests. It's not clear that these tests make sense.
* Make numbuf pip install verbose.
* Export cached reusable variables before cached remote functions.
* Fix bug causing the worker to hang sometimes. This happens when the worker is trying to run a task, but it hasn't imported enough imports to run the task, so it continually acquires and releases a lock while checking if it has enough imports. However, for some reason, the import thread is waiting to acquire the same lock and never does so (or takes a very long time to do so). By dropping the lock before sleeping, this makes it easier for other threads to acquire the lock.
* Acquire locks using 'with' statements.
* Fix possible test failure.
* Try to start Redis multiple times with different random ports if the original attempt failed.
* Fix test in which we redefine a remote function.
* Basic functionality for LRU eviction.
* Test eviction.
* Factor out eviction policy.
* Move delete_object into eviction policy.
* Replace array of released objects with an LRU cache (hash table + doubly linked list).
* Finish rebase on master.
* Move actual object deletion away from eviction policy and into plasma store.
* Small fixes.
* Fixes.
* Make remove_object_from_lru_cache always remove the object.
* Minor formatting and comments.
* Pass in allowed memory as argument to Plasma store.
* Small fix.
* Small cleanups in worker.py.
* Remove dependencies on subprocess32, graphviz, protobuf, and ipython.
* Retry starting the plasma manager if the port is in use.
* Whitespace
* Move start_plasma_manager into plasma.py.
* Update worker code and services code to use plasma and the local scheduler.
* Cleanups.
* Fix bug in which threads were started before the worker mode was set. This caused remote functions to be defined on workers before the worker knew it was in WORKER_MODE.
* Fix bug in install-dependencies.sh.
* Lengthen timeout in failure_test.py.
* Cleanups.
* Cleanup services.start_ray_local.
* Clean up random name generation.
* Cleanups.
* Build Ray with setup.py.
* Building photon extensions with cmake.
* Fix formatting in photon_extension.c
* Pip install with sudo in Travis.
* Fix plasma __init__.py.
* Rename and remove some files.
* 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.
* Re-implemented select, changed name to wait
* Changed tests for select to tests for wait
* Updated the hyperopt example to match wait
* Small fixes and improve example readme.
* Make tests pass.
* Make ray.init set python paths of workers.
* Decouple starting cluster from copying user source code
* also add current directory to path
* Add comments about deallocation.
* Add test for new code path.
* Revert "Make tests more informative (#372)"
This reverts commit fd353250c8.
* fix bugs, in particular deactivate worker service on driver and remove condition variables
* changes to minimize the changes in this PR
* switch from faulty mutex synchronization to using atomics
* Increase the default size of the message queues, to accommodate exporting large numbers of remote functions. This is a temporary fix, but not a long term solution.
* Reorganize the scheduler export code to queue up exports. This does not solve the underlying problem yet, but sets up a solution.
* Start a separate thread on driver to print error messages by constantly querying the scheduler. This is a temporary solution because the solution based on starting a worker service for the driver which the scheduler can push error messages to is buggy.
* Fix segfault in taskcapsule destructor.
* Move tests for catching errors into a separate test file.
* Revert "roll back grpc (#368)"
This reverts commit c01ef95d04.