skyllh.cluster package

Submodules

skyllh.cluster.commands module

class skyllh.cluster.commands.Command

Bases: object

Base class for a command. A command has a command string plus optional additional data.

as_message()
send(sock)
is_same_as(cmd)
class skyllh.cluster.commands.ACK

Bases: Command

class skyllh.cluster.commands.MSG(msg)

Bases: Command

class skyllh.cluster.commands.ShutdownCN

Bases: Command

class skyllh.cluster.commands.RegisterCN(cn_start_time, cn_live_time)

Bases: Command

Creates a register compute node command.

Parameters:
  • cn_start_time (int) – The compute node’s start time as unix time stamp.

  • cn_live_time (int) – The compute node’s live time. After that time the CN should be considered dead.

property cn_start_time

The CN’s start time as unix time stamp.

property cn_live_time

The CN’s live time in seconds.

skyllh.cluster.commands.receive_command_from_socket(sock, blocksize=2048)

Receives a command from the given socket.

skyllh.cluster.compute_node module

class skyllh.cluster.compute_node.ComputeNode(live_time, master_addr, master_port)

Bases: object

The ComputeNode class provides an entity for stand-alone program running on a dedicated compute node host.

__del__()
property live_time

The time in seconds this ComputeNode instance should be listening for requests.

property master_addr

The address of the SkyLLH master program.

property master_port

The port number of the SkyLLH master program.

handle_requests()

skyllh.cluster.master_node module

class skyllh.cluster.master_node.CNRegistryEntry(sock, addr, port, cn_start_time, cn_live_time)

Bases: object

This class provides an registry entry for a compute node. It holds the socket to the compute node.

__del__()
property key

(read-only) The CN’s identification key.

send_command(cmd)
class skyllh.cluster.master_node.MasterNode

Bases: object

The MasterNode class provides an entity to run the SkyLLH program as a master node, where compute nodes can register to, so the master node can distribute work to the compute nodes. The work distribution is handled through the MasterNode instance.

property cn_registry

The dictionary with the registered compute nodes.

clear_cn_registry()
register_compute_nodes(n_cn=10, master_port=9999, blocksize=2048)
send_request(msg)
shutdown_compute_nodes()

Sends a stop command to all compute nodes.

skyllh.cluster.srvclt module

class skyllh.cluster.srvclt.Message(msg)

Bases: object

Creates a new Message instance.

Parameters:

msg (str | bytes) – The message string of this Message instance.

static receive(sock, blocksize=2048, as_bytes=False)

Receives a message from the given socket.

Parameters:
  • blocksize (int) – The size in bytes of the block that should be read from the socket at once.

  • as_bytes (bool) – If set to True the Message instance will contain a bytes message, otherwise it is converted to a str.

Returns:

m (Message) – The Message instance created with the message read from the socket.

property msg

The message string. This is either a bytes instance or a str instance.

property length

The length of the message in bytes.

as_socket_msg()

Converts this message to a bytes instance that can be send through a socket. The first two bytes hold the length of the message.

send(sock)
skyllh.cluster.srvclt.send_to_socket(sock, msg)
skyllh.cluster.srvclt.read_from_socket(sock, size, blocksize=2048)

Reads size bytes from the socket sock.

skyllh.cluster.srvclt.receive_object_from_socket(sock, blocksize=2048)

Receives a pickled Python object from the given socket.

Parameters:

sock (socket) –