mirror of
https://github.com/wassname/ray.git
synced 2026-08-11 11:24:51 +08:00
Remove legacy Ray code. (#3121)
* Remove legacy Ray code. * Fix cmake and simplify monitor. * Fix linting * Updates * Fix * Implement some methods. * Remove more plasma manager references. * Fix * Linting * Fix * Fix * Make sure class IDs are strings. * Some path fixes * Fix * Path fixes and update arrow * Fixes. * linting * Fixes * Java fixes * Some java fixes * TaskLanguage -> Language * Minor * Fix python test and remove unused method signature. * Fix java tests * Fix jenkins tests * Remove commented out code.
This commit is contained in:
committed by
Philipp Moritz
parent
055daf17a0
commit
658c14282c
@@ -65,8 +65,7 @@ When ``a1.increment.remote()`` is called, the following events happens.
|
||||
|
||||
1. A task is created.
|
||||
2. The task is assigned directly to the local scheduler responsible for the
|
||||
actor by the driver's local scheduler. Thus, this scheduling procedure
|
||||
bypasses the global scheduler.
|
||||
actor by the driver's local scheduler.
|
||||
3. An object ID is returned.
|
||||
|
||||
We can then call ``ray.get`` on the object ID to retrieve the actual value.
|
||||
|
||||
+44
-57
@@ -18,44 +18,38 @@ import shlex
|
||||
|
||||
# These lines added to enable Sphinx to work without installing Ray.
|
||||
import mock
|
||||
MOCK_MODULES = ["gym",
|
||||
"gym.spaces",
|
||||
"scipy",
|
||||
"scipy.signal",
|
||||
"tensorflow",
|
||||
"tensorflow.contrib",
|
||||
"tensorflow.contrib.layers",
|
||||
"tensorflow.contrib.slim",
|
||||
"tensorflow.contrib.rnn",
|
||||
"tensorflow.core",
|
||||
"tensorflow.core.util",
|
||||
"tensorflow.python",
|
||||
"tensorflow.python.client",
|
||||
"tensorflow.python.util",
|
||||
"ray.local_scheduler",
|
||||
"ray.plasma",
|
||||
"ray.core",
|
||||
"ray.core.generated",
|
||||
"ray.core.generated.DriverTableMessage",
|
||||
"ray.core.generated.LocalSchedulerInfoMessage",
|
||||
"ray.core.generated.ResultTableReply",
|
||||
"ray.core.generated.SubscribeToDBClientTableReply",
|
||||
"ray.core.generated.SubscribeToNotificationsReply",
|
||||
"ray.core.generated.TaskInfo",
|
||||
"ray.core.generated.TaskReply",
|
||||
"ray.core.generated.TaskExecutionDependencies",
|
||||
"ray.core.generated.ClientTableData",
|
||||
"ray.core.generated.GcsTableEntry",
|
||||
"ray.core.generated.HeartbeatTableData",
|
||||
"ray.core.generated.DriverTableData",
|
||||
"ray.core.generated.ErrorTableData",
|
||||
"ray.core.generated.ProfileTableData",
|
||||
"ray.core.generated.ObjectTableData",
|
||||
"ray.core.generated.ray.protocol.Task",
|
||||
"ray.core.generated.TablePrefix",
|
||||
"ray.core.generated.TablePubsub",]
|
||||
MOCK_MODULES = [
|
||||
"gym",
|
||||
"gym.spaces",
|
||||
"scipy",
|
||||
"scipy.signal",
|
||||
"tensorflow",
|
||||
"tensorflow.contrib",
|
||||
"tensorflow.contrib.layers",
|
||||
"tensorflow.contrib.slim",
|
||||
"tensorflow.contrib.rnn",
|
||||
"tensorflow.core",
|
||||
"tensorflow.core.util",
|
||||
"tensorflow.python",
|
||||
"tensorflow.python.client",
|
||||
"tensorflow.python.util",
|
||||
"ray.raylet",
|
||||
"ray.plasma",
|
||||
"ray.core",
|
||||
"ray.core.generated",
|
||||
"ray.core.generated.ClientTableData",
|
||||
"ray.core.generated.GcsTableEntry",
|
||||
"ray.core.generated.HeartbeatTableData",
|
||||
"ray.core.generated.DriverTableData",
|
||||
"ray.core.generated.ErrorTableData",
|
||||
"ray.core.generated.ProfileTableData",
|
||||
"ray.core.generated.ObjectTableData",
|
||||
"ray.core.generated.ray.protocol.Task",
|
||||
"ray.core.generated.TablePrefix",
|
||||
"ray.core.generated.TablePubsub",
|
||||
]
|
||||
for mod_name in MOCK_MODULES:
|
||||
sys.modules[mod_name] = mock.Mock()
|
||||
sys.modules[mod_name] = mock.Mock()
|
||||
# ray.rllib.models.action_dist.py and
|
||||
# ray.rllib.models.lstm.py will use tf.VERSION
|
||||
sys.modules["tensorflow"].VERSION = "9.9.9"
|
||||
@@ -89,7 +83,7 @@ from recommonmark.parser import CommonMarkParser
|
||||
source_suffix = ['.rst', '.md']
|
||||
|
||||
source_parsers = {
|
||||
'.md': CommonMarkParser,
|
||||
'.md': CommonMarkParser,
|
||||
}
|
||||
|
||||
# The encoding of source files.
|
||||
@@ -259,25 +253,24 @@ htmlhelp_basename = 'Raydoc'
|
||||
# -- Options for LaTeX output ---------------------------------------------
|
||||
|
||||
latex_elements = {
|
||||
# The paper size ('letterpaper' or 'a4paper').
|
||||
#'papersize': 'letterpaper',
|
||||
# The paper size ('letterpaper' or 'a4paper').
|
||||
#'papersize': 'letterpaper',
|
||||
|
||||
# The font size ('10pt', '11pt' or '12pt').
|
||||
#'pointsize': '10pt',
|
||||
# The font size ('10pt', '11pt' or '12pt').
|
||||
#'pointsize': '10pt',
|
||||
|
||||
# Additional stuff for the LaTeX preamble.
|
||||
#'preamble': '',
|
||||
# Additional stuff for the LaTeX preamble.
|
||||
#'preamble': '',
|
||||
|
||||
# Latex figure (float) alignment
|
||||
#'figure_align': 'htbp',
|
||||
# Latex figure (float) alignment
|
||||
#'figure_align': 'htbp',
|
||||
}
|
||||
|
||||
# Grouping the document tree into LaTeX files. List of tuples
|
||||
# (source start file, target name, title,
|
||||
# author, documentclass [howto, manual, or own class]).
|
||||
latex_documents = [
|
||||
(master_doc, 'Ray.tex', u'Ray Documentation',
|
||||
u'The Ray Team', 'manual'),
|
||||
(master_doc, 'Ray.tex', u'Ray Documentation', u'The Ray Team', 'manual'),
|
||||
]
|
||||
|
||||
# The name of an image file (relative to this directory) to place at the top of
|
||||
@@ -300,29 +293,23 @@ latex_documents = [
|
||||
# If false, no module index is generated.
|
||||
#latex_domain_indices = True
|
||||
|
||||
|
||||
# -- Options for manual page output ---------------------------------------
|
||||
|
||||
# One entry per manual page. List of tuples
|
||||
# (source start file, name, description, authors, manual section).
|
||||
man_pages = [
|
||||
(master_doc, 'ray', u'Ray Documentation',
|
||||
[author], 1)
|
||||
]
|
||||
man_pages = [(master_doc, 'ray', u'Ray Documentation', [author], 1)]
|
||||
|
||||
# If true, show URL addresses after external links.
|
||||
#man_show_urls = False
|
||||
|
||||
|
||||
# -- Options for Texinfo output -------------------------------------------
|
||||
|
||||
# Grouping the document tree into Texinfo files. List of tuples
|
||||
# (source start file, target name, title, author,
|
||||
# dir menu entry, description, category)
|
||||
texinfo_documents = [
|
||||
(master_doc, 'Ray', u'Ray Documentation',
|
||||
author, 'Ray', 'One line description of project.',
|
||||
'Miscellaneous'),
|
||||
(master_doc, 'Ray', u'Ray Documentation', author, 'Ray',
|
||||
'One line description of project.', 'Miscellaneous'),
|
||||
]
|
||||
|
||||
# Documents to append as an appendix to all manuals.
|
||||
|
||||
@@ -47,7 +47,7 @@ Process Failures
|
||||
~~~~~~~~~~~~~~~~
|
||||
|
||||
1. Ray does not recover from the failure of any of the following processes:
|
||||
a Redis server, the global scheduler, the monitor process.
|
||||
a Redis server and the monitor process.
|
||||
2. If a driver fails, that driver will not be restarted and the job will not
|
||||
complete.
|
||||
|
||||
|
||||
@@ -15,8 +15,8 @@ Running Ray standalone
|
||||
|
||||
Ray can be used standalone by calling ``ray.init()`` within a script. When the
|
||||
call to ``ray.init()`` happens, all of the relevant processes are started.
|
||||
These include a local scheduler, a global scheduler, an object store and
|
||||
manager, a Redis server, and a number of worker processes.
|
||||
These include a local scheduler, an object store and manager, a Redis server,
|
||||
and a number of worker processes.
|
||||
|
||||
When the script exits, these processes will be killed.
|
||||
|
||||
@@ -112,7 +112,7 @@ When a driver or worker invokes a remote function, a number of things happen.
|
||||
- The task object is then sent to the local scheduler on the same node as the
|
||||
driver or worker.
|
||||
- The local scheduler makes a decision to either schedule the task locally or to
|
||||
pass the task on to a global scheduler.
|
||||
pass the task on to another local scheduler.
|
||||
|
||||
- If all of the task's object dependencies are present in the local object
|
||||
store and there are enough CPU and GPU resources available to execute the
|
||||
|
||||
@@ -45,8 +45,6 @@ A typical layout of temporary files could look like this:
|
||||
│ ├── log_monitor.out
|
||||
│ ├── monitor.err
|
||||
│ ├── monitor.out
|
||||
│ ├── plasma_manager_0.err # array of plasma managers' outputs
|
||||
│ ├── plasma_manager_0.out
|
||||
│ ├── plasma_store_0.err # array of plasma stores' outputs
|
||||
│ ├── plasma_store_0.out
|
||||
│ ├── raylet_0.err # array of raylets' outputs. Control it with `--no-redirect-worker-output` (in Ray's command line) or `redirect_worker_output` (in ray.init())
|
||||
|
||||
@@ -9,7 +9,7 @@ To use Ray, you need to understand the following:
|
||||
Overview
|
||||
--------
|
||||
|
||||
Ray is a Python-based distributed execution engine. The same code can be run on
|
||||
Ray is a distributed execution engine. The same code can be run on
|
||||
a single machine to achieve efficient multiprocessing, and it can be used on a
|
||||
cluster for large computations.
|
||||
|
||||
@@ -21,8 +21,6 @@ When using Ray, several processes are involved.
|
||||
allows workers to efficiently share objects on the same node with minimal
|
||||
copying and deserialization.
|
||||
- One **local scheduler** per node assigns tasks to workers on the same node.
|
||||
- A **global scheduler** receives tasks from local schedulers and assigns them
|
||||
to other local schedulers.
|
||||
- A **driver** is the Python process that the user controls. For example, if the
|
||||
user is running a script or using a Python shell, then the driver is the Python
|
||||
process that runs the script or the shell. A driver is similar to a worker in
|
||||
|
||||
@@ -51,7 +51,6 @@ Now we've started all of the Ray processes on each node Ray. This includes
|
||||
- An object store on each machine.
|
||||
- A local scheduler on each machine.
|
||||
- Multiple Redis servers (on the head node).
|
||||
- One global scheduler (on the head node).
|
||||
|
||||
To run some commands, start up Python on one of the nodes in the cluster, and do
|
||||
the following.
|
||||
|
||||
@@ -154,7 +154,6 @@ Now you have started all of the Ray processes on each node. These include:
|
||||
- An object store on each machine.
|
||||
- A local scheduler on each machine.
|
||||
- Multiple Redis servers (on the head node).
|
||||
- One global scheduler (on the head node).
|
||||
|
||||
To confirm that the Ray cluster setup is working, start up Python on one of the
|
||||
nodes in the cluster and enter the following commands to connect to the Ray
|
||||
|
||||
Reference in New Issue
Block a user