Commit Graph

134 Commits

Author SHA1 Message Date
Wapaul1 d5815673a5 Changed ray.select() to ray.wait() and its functionality (#426)
* 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.
2016-09-14 17:14:11 -07:00
Robert Nishihara 8c6d3a88a9 Properly decrement Python reference count in PyObjectID_hash. (#429) 2016-09-14 17:09:11 -07:00
Wapaul1 feff561ca1 Added hash function for objectids (#427) 2016-09-13 18:41:18 -07:00
Robert Nishihara ba56b08474 Reintroduce passing arguments by value to remote functions. (#425)
* Reintroduce passing arguments by value to remote functions.

* Check size of arguments passed by value.

* Fix computation graph visualization.
2016-09-10 21:11:18 -07:00
Robert Nishihara 987db5e725 Give better error message when no workers have been registered. (#419) 2016-09-08 11:43:04 -07:00
Robert Nishihara d6e3a40744 Remove unused code. (#418) 2016-09-08 11:36:17 -07:00
Robert Nishihara 11a8914684 Allow users to serialize custom classes. (#393)
* Allow serialization of custom classes.

* Add documentation and test cases, also fix pickle case.

* Don't allow old-style classes.
2016-09-06 13:28:24 -07:00
Robert Nishihara d5cb3ac090 Propagate error messages from functions that run on all workers. (#410) 2016-09-06 10:06:43 -07:00
Richard Shin a5df45a92e Describe the object which wasn't serializable (#404) 2016-09-03 18:10:03 -07:00
Robert Nishihara e06311d415 Automatically add relevant directories to Python paths of workers (#380)
* 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.
2016-08-16 14:53:55 -07:00
Wapaul1 7246013008 Implement select to enable waiting for a specific number of remote objects to be ready. (#369) 2016-08-15 16:51:59 -07:00
Robert Nishihara b29fc0c481 Use random string for worker c++ logfile. (#378) 2016-08-15 15:55:34 -07:00
Robert Nishihara e94ed2fc97 Throw fatal error when attempting to send message on full queue. (#377) 2016-08-15 11:51:23 -07:00
Robert Nishihara 87bb7a8f67 [WIP] Large changes to make the tests pass. (#376)
* 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.
2016-08-15 11:02:54 -07:00
Philipp Moritz b0ecff69ad Check for GRPC status codes (#366)
* check for GRPC status codes

* more checkss
2016-08-11 11:10:00 -07:00
Wapaul1 362ffa1f3c Changing hard coded ports for objstore and workers to choose unused ports (#365)
* let grpc choose unused worker and object store ports

* Add objstore addresses to scheduler info to bring back test
2016-08-10 19:08:38 -07:00
Robert Nishihara fbc49410ec properly shutdown worker service thread (#367) 2016-08-10 16:53:24 -07:00
Philipp Moritz 9903fc0335 Improve error message for serialization of custom objects (#359)
* Improve error message for serialization of custom objects

* gitignore numbuf build directory
2016-08-09 13:38:21 -07:00
Robert Nishihara a1e4268d37 Catch errors in importing reusable variables and remote functions (#354)
* catch errors in importing reusable variables and remote functions

* updates
2016-08-07 13:53:33 -07:00
Philipp Moritz 8bf877ac1e Serialize and Deserialize unicode (#349) 2016-08-04 21:06:31 -07:00
Robert Nishihara ac363bf451 Let worker get worker address and object store address from scheduler (#350) 2016-08-04 17:47:08 -07:00
Robert Nishihara 98a508d6ca Terminology change Object Reference -> Object ID (#330) 2016-07-31 19:58:03 -07:00
Robert Nishihara 6fd508de96 fix worker segfault 2016-07-30 14:48:18 -07:00
mehrdadn 36fff9b555 Retry registering workers better (#300) 2016-07-29 00:23:31 -07:00
mehrdadn 44064389b9 Checked locking (#262)
* Lock order should be based on field order only

* Checked locking
2016-07-27 11:24:09 -07:00
Robert Nishihara 8e9f98c5ff Properly import remote functions and reusable variables on workers that register late (#290) 2016-07-25 16:17:17 -07:00
Philipp Moritz 5591aa4665 cleanup serialization code (#291) 2016-07-25 15:47:10 -07:00
Philipp Moritz 4a0f35b042 new arrow serialization code (serialize python objects recursively) (#284) 2016-07-25 13:41:47 -07:00
Robert Nishihara 03f1830cd0 implement key value store for sharing reusable variables 2016-07-22 18:43:33 -07:00
Robert Nishihara baa4b7cae3 fix bug in reference counting None object (#286) 2016-07-22 14:15:02 -07:00
Wapaul1 b68512ec7d Added handles for python to access buffers in objstore (#282) 2016-07-20 17:36:15 -07:00
Wapaul1 6c96a05ab4 Added error handling and cleanup for objstore overflowing (#275) 2016-07-18 17:45:00 -07:00
mehrdadn f2c43bec87 Function serialization (#261) 2016-07-17 22:05:07 -07:00
Robert Nishihara ced5ce4924 raise exception if user tries to pass large object by value (#276) 2016-07-16 17:17:48 -07:00
mehrdadn c5be9b96de Visual Studio - Project cleanup, warning suppression, and removal of zlib dependency (#272)
* windows_intermodule_singleton warning

* Fix some warnings from Visual Studio

* More Visual Studio project changes

* Replace zlib Visual Studio project with stub; it's not needed

* Un-enable link-time code generation
2016-07-16 13:02:51 -07:00
Robert Nishihara db8ade44f7 only let creator of message queue deallocate message queue 2016-07-12 13:40:01 -07:00
mehrdadn a1a54baa44 Use Boost IPC (#249) 2016-07-10 15:41:26 -07:00
mehrdadn cd92a8d787 Remove boost::filesystem dependency (#245) 2016-07-10 09:48:56 -07:00
mehrdadn 199b4efd50 int and long should be treated similarly (#220) 2016-07-06 17:31:58 -07:00
mehrdadn 5412d3c773 Call vec.data() instead of &vec[0] (#219) 2016-07-06 16:46:06 -07:00
Robert Nishihara 49decce6f6 print python backtrace in error message (#209) 2016-07-06 00:25:02 -07:00
Robert Nishihara 8297522580 don't destruct worker object before all of the object references go out of scope (#212) 2016-07-05 19:13:57 -07:00
Philipp Moritz db1f10f1ec use static qualifier for Python extension functions (#208) 2016-07-04 15:54:29 -07:00
Philipp Moritz 72e1b0fcd6 fix warnings (#207) 2016-07-04 15:40:56 -07:00
mehrdadn bd9901f408 Add UUID forgotten in object store IPC name; also fix Windows IPC implementation (#201) 2016-07-03 12:42:13 -07:00
mehrdadn fe5dd5d55a Boost.Interprocess hack for Windows (#202) 2016-07-02 21:08:23 -07:00
Mehrdad 9bdde6941f Simplify SynchronizedPtr 2016-07-02 17:45:38 -07:00
Robert Nishihara f5316d50fc Merge pull request #193 from amplab/visualizegraph
Visualize the computation graph
2016-07-01 13:21:01 -07:00
Philipp Moritz 9ad2c033d4 Visualize computation graph 2016-07-01 12:13:23 -07:00
mehrdadn 5821851318 C++ does not guarantee order of argument evaluation (#194) 2016-06-30 18:49:37 -07:00