rdma

package
v3.0.3 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Jul 5, 2024 License: MIT Imports: 5 Imported by: 4

Documentation

Overview

Package rdma provides the implementation of an RDMA engine.

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type Builder

type Builder struct {
	RemoteRDMAAddressTable mem.LowModuleFinder
	// contains filtered or unexported fields
}

func MakeBuilder

func MakeBuilder() Builder

MakeBuilder creates a new builder with default configuration values.

func (Builder) Build

func (b Builder) Build(name string) *Comp

Build creates a RDMA with the given parameters.

func (Builder) WithBufferSize

func (b Builder) WithBufferSize(n int) Builder

WithBufferSize sets the number of transactions that the buffer can handle.

func (Builder) WithEngine

func (b Builder) WithEngine(engine sim.Engine) Builder

WithEngine sets the even-driven simulation engine to use.

func (Builder) WithFreq

func (b Builder) WithFreq(freq sim.Freq) Builder

WithFreq sets the frequency that the Command Processor works at.

func (Builder) WithLocalModules

func (b Builder) WithLocalModules(m mem.LowModuleFinder) Builder

WithLocalModules sets the local modules.

func (Builder) WithRemoteModules

func (b Builder) WithRemoteModules(m mem.LowModuleFinder) Builder

WithRemoteModules sets the remote modules.

type Comp

type Comp struct {
	*sim.TickingComponent

	ToOutside sim.Port

	ToL1 sim.Port
	ToL2 sim.Port

	CtrlPort sim.Port

	RemoteRDMAAddressTable mem.LowModuleFinder
	// contains filtered or unexported fields
}

An Comp is a component that helps one GPU to access the memory on another GPU

func (*Comp) SetFreq

func (c *Comp) SetFreq(freq sim.Freq)

SetFreq sets freq

func (*Comp) SetLocalModuleFinder

func (c *Comp) SetLocalModuleFinder(lmf mem.LowModuleFinder)

SetLocalModuleFinder sets the table to lookup for local data.

func (*Comp) Tick

func (c *Comp) Tick(now sim.VTimeInSec) bool

Tick checks if make progress

type DrainReq

type DrainReq struct {
	sim.MsgMeta
}

DrainReq asks the rdma to stop processing requests from L1 while allowing pending requests to L2 to complete

func (*DrainReq) Meta

func (r *DrainReq) Meta() *sim.MsgMeta

Meta returns the meta data associated with the message.

type DrainReqBuilder

type DrainReqBuilder struct {
	// contains filtered or unexported fields
}

DrainReqBuilder can build RDMA drain requests

func (DrainReqBuilder) Build

func (b DrainReqBuilder) Build() *DrainReq

Build creats a new DrainReq

func (DrainReqBuilder) WithDst

func (b DrainReqBuilder) WithDst(dst sim.Port) DrainReqBuilder

WithDst sets the destination of the request to build.

func (DrainReqBuilder) WithSendTime

func (b DrainReqBuilder) WithSendTime(
	t sim.VTimeInSec,
) DrainReqBuilder

WithSendTime sets the send time of the request to build.:w

func (DrainReqBuilder) WithSrc

func (b DrainReqBuilder) WithSrc(src sim.Port) DrainReqBuilder

WithSrc sets the source of the request to build.

type DrainRsp

type DrainRsp struct {
	sim.MsgMeta
}

DrainRsp is a drain complete response to a RDMA Drain Req

func (*DrainRsp) Meta

func (r *DrainRsp) Meta() *sim.MsgMeta

Meta returns the meta data associated with the message.

type DrainRspBuilder

type DrainRspBuilder struct {
	// contains filtered or unexported fields
}

DrainRspBuilder can build RDMA drain responses

func (DrainRspBuilder) Build

func (b DrainRspBuilder) Build() *DrainRsp

Build creats a new RDMADrainRsp

func (DrainRspBuilder) WithDst

func (b DrainRspBuilder) WithDst(dst sim.Port) DrainRspBuilder

WithDst sets the destination of the request to build.

func (DrainRspBuilder) WithSendTime

func (b DrainRspBuilder) WithSendTime(
	t sim.VTimeInSec,
) DrainRspBuilder

WithSendTime sets the send time of the request to build

func (DrainRspBuilder) WithSrc

func (b DrainRspBuilder) WithSrc(src sim.Port) DrainRspBuilder

WithSrc sets the source of the request to build.

type RestartReq

type RestartReq struct {
	sim.MsgMeta
}

RestartReq is a message to allow rdma to continue processing reqs from L1

func (*RestartReq) Meta

func (r *RestartReq) Meta() *sim.MsgMeta

Meta returns the meta data associated with the message.

type RestartReqBuilder

type RestartReqBuilder struct {
	// contains filtered or unexported fields
}

RestartReqBuilder can build RDMA restart req

func (RestartReqBuilder) Build

func (b RestartReqBuilder) Build() *RestartReq

Build creats a new RDMADrainRsp

func (RestartReqBuilder) WithDst

WithDst sets the destination of the request to build.

func (RestartReqBuilder) WithSendTime

func (b RestartReqBuilder) WithSendTime(
	t sim.VTimeInSec,
) RestartReqBuilder

WithSendTime sets the send time of the request to build

func (RestartReqBuilder) WithSrc

WithSrc sets the source of the request to build.

type RestartRsp

type RestartRsp struct {
	sim.MsgMeta
}

RestartRsp is a drain complete response to a RDMA Drain Req

func (*RestartRsp) Meta

func (r *RestartRsp) Meta() *sim.MsgMeta

Meta returns the meta data associated with the message.

type RestartRspBuilder

type RestartRspBuilder struct {
	// contains filtered or unexported fields
}

RestartRspBuilder can build RDMA drain responses

func (RestartRspBuilder) Build

func (b RestartRspBuilder) Build() *RestartRsp

Build creats a new RDMADrainRsp

func (RestartRspBuilder) WithDst

WithDst sets the destination of the request to build.

func (RestartRspBuilder) WithSendTime

func (b RestartRspBuilder) WithSendTime(
	t sim.VTimeInSec,
) RestartRspBuilder

WithSendTime sets the send time of the request to build

func (RestartRspBuilder) WithSrc

WithSrc sets the source of the request to build.

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL