Commit Graph
143 Commits
Author SHA1 Message Date
mehrdadnandGitHub 5c853eaa6a Fix copy to workspace (#9400) 2020-07-11 14:27:56 +02:00
f0a72ad985 [Core] Add placement group scheduler and some api in resource scheduler (#9039)
* Add placement group scheduler and some api of resource scheduler.
Merge fix cv hang in multithread variables race (#8984).

* change the bundle id and delete unit count in bundle

change vector<bundle_spec> to vector<shared_ptr<bundle_spec>>

Add placement group scheduler and some api of resource scheduler.
Merge fix cv hang in multithread variables race (#8984).

change the bundle id and delete unit count in bundle

remove CheckIfSchedulable()

add comments and fix the bug in resource

* fix placement group schedule

* add placement group scheduler and change some api in resource scheduler

* fix by the comments

* fix conflict

* fix lint

* fix lint

* fix bug in merge

* fix lint

Co-authored-by: Lingxuan Zuo <skyzlxuan@gmail.com>
2020-07-09 15:37:18 -07:00
mehrdadnandGitHub b6c11f3dd7 Bazel move more shell to native rules (#9314)
Co-authored-by: Mehrdad <noreply@github.com>
2020-07-09 09:02:35 -07:00
Siyuan (Ryans) ZhuangandGitHub 7e1326c0f6 [Core] Enhance common client connection (#9367)
* enhance client connection

* add write buffer async

* read message

* add test
2020-07-09 08:59:37 -07:00
SangBin ChoandGitHub 8f19f1eafb [Core] Actor handle refactoring (#8895)
* Marking needed changes.

* Resolve basic dependencies.

* In progress.

* linting.

* In progress 2.

* Linting.

* Refactor done. Cleanup needed.

* Linting.

* Recover kill actor in core worker because it is used inside raylet

* Cleanup.

* Use unique pointer instead. Unit tests are broken now.

* Fix the upstream change.

* Addressed code review 1.

* Lint.

* Addressed code review 2.

* Fix weird github history.

* Lint.

* Linting using clang 7.0.

* Use a better check message.

* Revert cpp stuff.

* Fix weird linting errors.

* Manuall fix all lint issues.

* Update a newline.

* Refactor some interface.

* Addressed all code review.

* Addressed code review
2020-07-07 11:11:41 -07:00
Stephanie WangandGitHub b42d6a1ddc [core] Refactor task arguments and attach owner address (#9152)
* Add intended worker ID to GetObjectStatus, tests

* Remove TaskID owner_id

* lint

* Add owner address to task args

* Make TaskArg a virtual class, remove multi args

* Set owner address for task args

* merge

* Fix tests

* Fix

* build

* update

* build

* java

* Move code

* build

* Revert "Fix Google log directory again (#9063)"

This reverts commit 275da2e400.

* Fix free

* x

* build

* Fix java

* Revert "Revert "Fix Google log directory again (#9063)""

This reverts commit 4a326fcb148ca09a35bc7de11d89df10edbb56e7.

* lint
2020-07-06 21:25:14 -07:00
mehrdadnandGitHub 7135cb2aec Fix .exe file extensions (#9197)
Co-authored-by: Mehrdad <noreply@github.com>
2020-07-02 15:29:34 -05:00
29acf272b7 Build with Visual C++ (#9190)
Co-authored-by: Mehrdad <noreply@github.com>
Co-authored-by: Simon Mo <xmo@berkeley.edu>
2020-07-02 09:34:24 -07:00
Lingxuan ZuoandGitHub 1491508859 [Metrics] Stats supports metric exporters (#8941) 2020-07-01 10:54:55 -05:00
ChenZhileiandGitHub c11855728a Remove raylet monitor after use GCS service (#9179) 2020-07-01 20:01:52 +08:00
mehrdadnandGitHub 79c4c67ed9 Split hiredis from Redis and use it directly (#9176)
* Split hiredis from Redis and use it directly

Co-authored-by: Mehrdad <noreply@github.com>
2020-06-29 18:16:32 -07:00
Siyuan (Ryans) ZhuangandGitHub d7549d6184 Replace arrow::Status with ray::Status in Plasma (#9154)
* add object store status

* replace arrow status with ray status

* cleanup

* remove plasma common.cc
2020-06-26 14:06:34 -07:00
Siyuan (Ryans) ZhuangandGitHub 80bcbe20c7 [Core] Remove object notification IPC between Plasma and Raylet (initial step) (#8939)
* initial refactoring

redirect notifications to eventloop

implement direct notifications

* protect vector with mutex
2020-06-24 13:54:40 -07:00
fangfengbinandGitHub c295284370 Optimize gcs server resubscribe (#8896) 2020-06-17 20:05:50 +08:00
mehrdadnandGitHub 101c215125 Get more tests running on Windows (#6537)
* Get rid of system() calls

* Work around '/usr/share/mini' showing up on GitHub Actions (probably due to psutil truncation)

https://github.com/ray-project/ray/runs/722480047?check_suite_focus=true

* Don't check for socket max path length on Windows

* Don't check for socket existence on Windows

* Fix race condition in Windows fate-sharing

* Work around missing .exe extension for Redis tests

* Add more tests to GitHub Actions

Co-authored-by: Mehrdad <noreply@github.com>
2020-06-12 21:32:10 -07:00
Siyuan (Ryans) ZhuangandGitHub ed77c8b16c [Core] Use global variable to eliminate force thread termination in plasma (#8912)
* use global variable to eliminate force thread termination
2020-06-12 14:20:53 -07:00
Siyuan (Ryans) ZhuangandGitHub 4b31b383f3 [Core] Run Plasma Store as a Raylet thread (with a feature flag) (#8897)
* integrate plasma store as a thread (C++)

* integrate plasma store as a thread (Python)

* fix config issues

* remove plasma component fail tests

* without forcefully kill the plasma store thread
2020-06-11 22:54:08 -07:00
mehrdadnandGitHub 4bda333412 Fix Windows build issue introduced in #8852 (#8869)
Co-authored-by: Mehrdad <noreply@github.com>
2020-06-09 19:21:41 -07:00
Siyuan (Ryans) ZhuangandGitHub 3d473600a8 [Core] Use Ray ObjectID in Plasma (#8852)
* Use Ray ObjectIDs instead

* remove unused code
2020-06-09 10:10:49 -07:00
Siyuan (Ryans) ZhuangandGitHub c1e6813cea [core] Move plasma store under object_manager (#8832)
* move plasma under object directory

* update include paths

* cleanup

* disable lint of third-party libraries

* lint
2020-06-08 18:21:41 -07:00
Siyuan (Ryans) ZhuangandGitHub a0247ffe55 Build plasma store as a library (#8817)
* build plasma store as a library

* remove unused headers

* windows support
2020-06-06 22:11:37 -07:00
Stephanie WangandGitHub b160b83d3e [core] Queue subscription/unsubscription commands in the GCS (#8756)
* Only remove callback index if in map

* test

* Queue subscription commands

* lint

* Check status

* update

* update

* update

* Disable GCS restart tests

* lint
2020-06-05 19:49:19 -07:00
mehrdadnandGitHub d78757623d bazel build --compilation_mode=debug (#6457) 2020-06-05 14:36:10 +02:00
Siyuan (Ryans) ZhuangandGitHub ea05ebe89e Ship plasma store with Ray (#7901) 2020-06-03 17:44:34 -07:00
Lingxuan ZuoandGitHub bd4fbcd7fc Global state accessor jni (#8637) 2020-05-27 17:43:47 +08:00
Tao WangandGitHub a1298686d7 [TEST]Use manager class to start/stop components instead of spreading duplicated codes everywhere (#8500) 2020-05-27 16:51:51 +08:00
fangfengbinandGitHub 765d470c40 Add gcs object manager (#8298) 2020-05-25 17:21:35 +08:00
fangfengbinandGitHub 9347a5d10c Add global state accessor of jobs (#8401) 2020-05-18 20:32:05 +08:00
Tao WangandGitHub acffdb2349 [TEST]use cc_test to run core_worker_test, enforce/reuse RedisServiceManagerForTest (#8443) 2020-05-17 18:43:00 +08:00
mehrdadnandGitHub ac1ed293e3 Patch redis-py bug for Windows (#8386) 2020-05-12 10:41:45 -05:00
mehrdadnandGitHub 4bdef78e2e Various CI fixes and cleanup (#8289) 2020-05-05 10:47:49 -07:00
mehrdadnandGitHub 254b1ec370 Set up testing and wheels for Windows on GitHub Actions (#8131)
* Move some Java tests into ci.sh

* Move C++ worker tests into ci.sh

* Define run()

* Prepare to move Python tests into ci.sh

* Fix issues in install-dependencies.sh

* Reload environment for GitHub Actions

* Move wheels to ci.sh and fix related issues

* Don't bypass failures in install-ray.sh anymore

* Make CI a little quieter

* Move linting into ci.sh

* Add vitals test right after build

* Fix os.uname() unavailability on Windows

Co-authored-by: Mehrdad <noreply@github.com>
2020-04-29 21:19:02 -07:00
fangfengbinandGitHub deffc340ea [GCS]Add in-memory gcs table storage (#8184) 2020-04-28 17:19:46 +08:00
fangfengbinandGitHub 5bff707d20 [GCS]Add in-memory store client (#8144) 2020-04-26 19:09:26 +08:00
fangfengbinandGitHub 713e375d50 [GCS]GCS adapts to job table pub sub (#8145) 2020-04-24 16:33:25 +08:00
mehrdadnandGitHub ba00c29b67 Factor out Travis 'install' sections for use with GitHub Actions (#7988) 2020-04-15 08:10:22 -07:00
fangfengbinandGitHub efbaf155b2 [GCS]Add publish and subscribe function of gcs table (#7909) 2020-04-15 04:24:52 -07:00
fangfengbinandGitHub c17404918c [GCS]Add gcs table storage interface (#7949) 2020-04-15 10:48:12 +08:00
4a81793ba5 GCS-Based actor management implementation (#6763)
* add gcs actor manager

* fix test_metrics.py

* fix TestTaskInfo

* fix comment

* fix comment

* fix comment

* fix comment

* fix comment

* fix comment

* fix compile error

* fix merge error

Co-authored-by: senlin.zsl <senlin.zsl@antfin.com>
2020-04-13 09:48:48 -07:00
micafanandGitHub c222d64ca1 [GCS] Add MessagePublisher to GCS (#7771) 2020-04-13 19:32:28 +08:00
mehrdadnandGitHub 07002825aa Proper command-line parsing (#7603)
* Command-line parsing functions

* Work around bug in MSVCRT for passing command-lines to programs

* Polishing

* Fix std::regex_replace() overload compatibility issue with GCC 4.8.x

* Try to work around linker error

* Implement ScanToken()

* Parse command-lines via ScanToken

* Merge src/ray/util.cc and src/ray/url.cc

Co-authored-by: Mehrdad <noreply@github.com>
2020-04-11 23:07:07 -07:00
Stephanie WangandGitHub d7eef808b8 [core] Reconstruction for lost plasma objects (#7733)
* Add a lineage_ref_count to References

* Refactor TaskManager to store TaskEntry as a struct

* Refactor to fix deadlock between TaskManager and ReferenceCounter
Add references to task specs

* Pin TaskEntries and References in the lineage of any ObjectIDs in scope

* Fix deadlock, convert num_plasma_returns to a set of object IDs

* fix unit tests

* Feature flag

* Do not release lineage for objects that were promoted to plasma

* fix build

* fix build

* Remove num executions

* Remove num executions

* Add pinned locations to ReferenceCounter, empty handler for node death

* Fix num returns for actor tasks, fix Put return value

* Add regression test

* Clear pinned locations and callbacks on node removal

* Clear pinned locations and callbacks on node removal

* Simplify num return values

* Remove unused

* doc

* tmp

* Set num returns

* Move lineage pinning flag to ReferenceCounter

* comments

* Recover from plasma failures by pinning a new copy

* Basic object reconstruction, no concurrent reqs yet

* reconstruction test suite and a few fixes:
- fix for disabling lineage
- fix for updating submitted task refs

* Handle concurrent attempts to recover the same object

* Fix deadlock in DrainAndShutdown

* Revert "[core] Revert lineage pinning (#7499) (#7692)"

This reverts commit ba86a02b37.

* debug rllib

* debug rllib

* turn on all rllib tests again

* debug rllib

* Fix drain bug, check number of pending tasks

* revert rllib debug

* remove todo

* Trigger rllib tests

* revert rllib debug commit

* Split out logic into ObjectRecoveryManager

* Fix python tests

* Refactor to remove dependency on gcs client

* Unit tests

* Move pinned at node ID to direct memory store

* Unit test fixes and lint

* simplify and more tests

* Add ResubmitTask test for TaskManager

* Doc

* fix build

* comments

* Fix

* debug

* Update

* fix

* Fix

* Fix bad status handling, unit test

* Fix build
2020-04-11 16:52:57 -07:00
Kai YangandGitHub 48b48cc8c2 Support multiple core workers in one process (#7623) 2020-04-07 11:01:47 +08:00
micafanandGitHub e91595f955 [GCS] Add ObjectLocator to gcs server (#7557) 2020-04-07 10:37:24 +08:00
micafanandGitHub 780c1c3b08 [GCS] impl RedisStoreClient for GCS Service (#7675) 2020-04-01 21:18:19 +08:00
SangBin ChoandGitHub c23e56ce9a Metrics Export Service (#7809) 2020-03-30 23:28:32 -07:00
mehrdadnandGitHub f86e623095 Fix & improve GitHub Actions CI builds (#7784) 2020-03-30 16:29:54 -07:00
SongGuyangandGitHub c195dc8f88 Basic C++ worker implementation (#6125) 2020-03-27 23:01:08 +08:00
mehrdadnandGitHub e69664b74b Miscellaneous Windows compatibility bugfixes (#7658)
* Windows compatibility bug fixes

* Use WSASend/WSARecv as WSASendMsg/WSARecvMsg do not work with TCP sockets

* Clean up some TODOs

* Fix duplicate compilations

* RedisAsioClient boost::asio::error::connection_reset

Co-authored-by: Mehrdad <noreply@github.com>
2020-03-19 19:32:53 -07:00
37e4d29f87 [autoscaler] Adding Azure Support (#7080)
* adding directory and node_provider entry for azure autoscaler

* adding initial cut at azure autoscaler functionality, needs testing and node_provider methods need updating

* adding todos and switching to auth file for service principal authentication

* adding role / scope to service principal

* resolving issues with app credentials

* adding retry for setting service principal role

* typo and adding retry to nic creation

* adding nsg to config, moving nic/public ip to node provider, cleanup node_provider, leaving in NodeProvider stub for testing

* linting

* updating cleanup and fixing bugs

* adding directory and node_provider entry for azure autoscaler

* adding initial cut at azure autoscaler functionality, needs testing and node_provider methods need updating

* adding todos and switching to auth file for service principal authentication

* adding role / scope to service principal

* resolving issues with app credentials

* adding retry for setting service principal role

* typo and adding retry to nic creation

* adding nsg to config, moving nic/public ip to node provider, cleanup node_provider, leaving in NodeProvider stub for testing

* linting

* updating cleanup and fixing bugs

* minor fixes

* first working version :)

* added tag support

* added msi identity intermediate

* enable MSI through user managed identity

* updated schema

* extend yaml schema
remove service principal code
add re-use of managed user identity

* fix rg_id

* fix logging

* replace manual cluster yaml validation with json schema
- improved error message
- support for intellisense in VSCode (or other IDEs)

* run linting

* updating yaml configs and formatting

* updating yaml configs and formatting

* typo in example config

* pulling default config from example-full

* resetting min, init worker prop

* adding docs for azure autoscaler and fixing status

* add azure to docs, fix config for spot instances, update azure provider to avoid caching issues during deployment

* fix for default subscription in azure node provider

* vm dev image build

* minor change

* keeping example-full.yaml in autoscaler/azure, updating azure example config

* linting azure config

* extending retries on azure config

* lint

* support for internal ips, fix to azure docs, and new azure gpu example config

* linting

* Update python/ray/autoscaler/azure/node_provider.py

Co-Authored-By: Richard Liaw <rliaw@berkeley.edu>

* revert_this

* remove_schema

* updating configs and removing ssh keygen, tweak azure node provider terminate

* minor tweaks

Co-authored-by: Markus Cozowicz <marcozo@microsoft.com>
Co-authored-by: Ubuntu <marcozo@mc-ray-jumpbox.chcbtljllnieveqhw3e4c1ducc.xx.internal.cloudapp.net>
Co-authored-by: Richard Liaw <rliaw@berkeley.edu>
2020-03-15 14:48:27 -07:00