4.4.8. Corundum NIC#
4.4.8.1. System#
- class simbricks.components.corundum.system.corundum.CorundumNIC(s: System)#
- add_if(interface: EthInterface | PCIeDeviceInterface) None#
- add_ipv4(ip: str) None#
- connect_eth_peer_if(peer_i: EthInterface) EthChannel#
- id() int#
- async prepare(inst: inst_base.Instantiation) None#
- toJSON() dict#
- class simbricks.components.corundum.system.corundum.CorundumLinuxHost(sys)#
- add_app(a: BaseLinuxApplication) None#
- add_config_file(config_file: ConfigFile)#
- cleanup_cmds(inst: instantiation.Instantiation) list[str]#
Commands to run to cleanup node.
- config_files(inst: instantiation.Instantiation) list[disk_images.ConfigFile]#
Additional files to put inside the node, which are mounted under /tmp/guest/.
- config_str(inst: instantiation.Instantiation) str#
- connect_pcie_dev(dev: PCIeSimpleDevice) PCIeChannel#
- id() int#
- async prepare(inst: instantiation.Instantiation) None#
- prepare_post_cp(inst) list[str]#
Commands to run to prepare node after checkpoint restore.
- prepare_pre_cp(inst: instantiation.Instantiation) list[str]#
Commands to run to prepare node before checkpointing.
- run_cmds(inst: instantiation.Instantiation) list[str]#
Commands to run on node.
- toJSON() dict#
4.4.8.2. Simulation (Verilator RTL)#
- class simbricks.components.corundum.simulation.corundum.CorundumVerilatorNICSim(simulation: Simulation)#
- resreq_mem() int#
Number of memory in MB this simulator requires during execution.
This is used for scheduling multiple runs and experiments.
- run_cmd(inst: Instantiation) str#
Command to execute this simulator.
- toJSON() dict#
- classmethod fromJSON(simulation: Simulation, json_obj: dict) Self#
- T = ~T#
- add(nic: SimplePCIeNIC)#
- checkpoint_commands() list[str]#
- cleanup_commands() list[str]#
- property extra_args: str#
- static filter_channels_by_sys_type(channels: list[sim_chan.Channel], ty: type[T]) list[T]#
- filter_components_by_pred(pred: tp.Callable[[sys_conf.Component], bool], ty: type[T] = <class 'simbricks.orchestration.system.base.Component'>) list[T]#
- filter_components_by_type(ty: type[T]) list[T]#
- full_name() str#
Full name of the simulator.
- get_interface_url(inst: Instantiation, intf: Interface) str#
- get_parameters_url(inst: Instantiation, socket: Socket, channel: Channel | None = None, sync: bool | None = None, latency: int | None = None, sync_period: int | None = None) str#
- id() int#
- async prepare(inst: Instantiation) None#
- resreq_cores() int#
Number of cores this simulator requires during execution.
This is used for scheduling multiple runs and experiments.
- sockets_cleanup(inst: Instantiation) list[Socket]#
- sockets_wait(inst: Instantiation) list[Socket]#
- start_delay() int#
- supports_checkpointing() bool#
- property wait_terminate: bool#