mirror of
https://github.com/wassname/ray.git
synced 2026-07-02 09:55:08 +08:00
083e7a28ad
* Fix worker blocked bug * tmp * Push an error to the driver on ray.put for non-driver tasks * Fix result table tests * Fix test, logging * Address comments * Fix suppression bug * Fix redis module test * Edit error message * Get values in chunks during reconstruction * Test case for driver ray.put errors * Error for evicting ray.put objects from the driver * Fix tests * Reduce verbosity * Documentation
142 lines
4.3 KiB
Plaintext
142 lines
4.3 KiB
Plaintext
|
|
// Indices into resource vectors.
|
|
// A resource vector maps a resource index to the number
|
|
// of units of that resource required.
|
|
|
|
// The total length of the resource vector is ResourceIndex_MAX.
|
|
enum ResourceIndex:int {
|
|
// A central processing unit.
|
|
CPU = 0,
|
|
// A graphics processing unit.
|
|
GPU = 1,
|
|
// A dummy entry to make ResourceIndex_MAX equal to the length of
|
|
// a resource vector.
|
|
DUMMY = 2
|
|
}
|
|
|
|
table Arg {
|
|
// Object ID for pass-by-reference arguments.
|
|
object_id: string;
|
|
// Data for pass-by-value arguments.
|
|
data: string;
|
|
}
|
|
|
|
table TaskInfo {
|
|
// ID of the driver that created this task.
|
|
driver_id: string;
|
|
// Task ID of the task.
|
|
task_id: string;
|
|
// Task ID of the parent task.
|
|
parent_task_id: string;
|
|
// A count of the number of tasks submitted by the parent task before this one.
|
|
parent_counter: int;
|
|
// Actor ID of the task. This is the actor that this task is executed on
|
|
// or NIL_ACTOR_ID if the task is just a normal task.
|
|
actor_id: string;
|
|
// Number of tasks that have been submitted to this actor so far.
|
|
actor_counter: int;
|
|
// Function ID of the task.
|
|
function_id: string;
|
|
// Task arguments.
|
|
args: [Arg];
|
|
// Object IDs of return values.
|
|
returns: [string];
|
|
// The required_resources vector indicates the quantities of the different
|
|
// resources required by this task. The index in this vector corresponds to
|
|
// the resource type defined in the ResourceIndex enum. For example,
|
|
// required_resources[0] is the number of CPUs required, and
|
|
// required_resources[1] is the number of GPUs required.
|
|
required_resources: [double];
|
|
}
|
|
|
|
// Object information data structure.
|
|
table ObjectInfo {
|
|
// Object ID of this object.
|
|
object_id: string;
|
|
// Number of bytes the content of this object occupies in memory.
|
|
data_size: long;
|
|
// Number of bytes the metadata of this object occupies in memory.
|
|
metadata_size: long;
|
|
// Unix epoch of when this object was created.
|
|
create_time: long;
|
|
// How long creation of this object took.
|
|
construct_duration: long;
|
|
// Hash of the object content.
|
|
digest: string;
|
|
// Specifies if this object was deleted or added.
|
|
is_deletion: bool;
|
|
}
|
|
|
|
root_type TaskInfo;
|
|
|
|
table SubscribeToNotificationsReply {
|
|
// The object ID of the object that the notification is about.
|
|
object_id: string;
|
|
// The size of the object.
|
|
object_size: long;
|
|
// The IDs of the managers that contain this object.
|
|
manager_ids: [string];
|
|
}
|
|
|
|
root_type SubscribeToNotificationsReply;
|
|
|
|
table TaskReply {
|
|
// The task ID of the task that the message is about.
|
|
task_id: string;
|
|
// The state of the task. This is encoded as a bit mask of scheduling_state
|
|
// enum values in task.h.
|
|
state: long;
|
|
// A local scheduler ID.
|
|
local_scheduler_id: string;
|
|
// A string of bytes representing the task specification.
|
|
task_spec: string;
|
|
// A boolean representing whether the update was successful. This field
|
|
// should only be used for test-and-set operations.
|
|
updated: bool;
|
|
}
|
|
|
|
root_type TaskReply;
|
|
|
|
table SubscribeToDBClientTableReply {
|
|
// The db client ID of the client that the message is about.
|
|
db_client_id: string;
|
|
// The type of the client.
|
|
client_type: string;
|
|
// If the client is a local scheduler, this is the address of the plasma
|
|
// manager that the local scheduler is connected to. Otherwise, it is empty.
|
|
aux_address: string;
|
|
// True if the message is about the addition of a client and false if it is
|
|
// about the deletion of a client.
|
|
is_insertion: bool;
|
|
}
|
|
|
|
root_type SubscribeToDBClientTableReply;
|
|
|
|
table LocalSchedulerInfoMessage {
|
|
// The db client ID of the client that the message is about.
|
|
db_client_id: string;
|
|
// The total number of workers that are connected to this local scheduler.
|
|
total_num_workers: long;
|
|
// The number of tasks queued in this local scheduler.
|
|
task_queue_length: long;
|
|
// The number of workers that are available and waiting for tasks.
|
|
available_workers: long;
|
|
// The resource vector of resources generally available to this local
|
|
// scheduler.
|
|
static_resources: [double];
|
|
// The resource vector of resources currently available to this local
|
|
// scheduler.
|
|
dynamic_resources: [double];
|
|
}
|
|
|
|
root_type LocalSchedulerInfoMessage;
|
|
|
|
table ResultTableReply {
|
|
// The task ID of the task that created the object.
|
|
task_id: string;
|
|
// Whether the task created the object through a ray.put.
|
|
is_put: bool;
|
|
}
|
|
|
|
root_type ResultTableReply;
|