Documentation ¶
Overview ¶
Package pagemigrationcontroller provides an implementation of a PageMigrationController.
Index ¶
- type DataPullReq
- type DataPullReqBuilder
- func (b DataPullReqBuilder) Build() *DataPullReq
- func (b DataPullReqBuilder) WithDataTransferSize(dataTransferSize uint64) DataPullReqBuilder
- func (b DataPullReqBuilder) WithDst(dst sim.Port) DataPullReqBuilder
- func (b DataPullReqBuilder) WithReadFromPhyAddress(toReadFromPhyAddress uint64) DataPullReqBuilder
- func (b DataPullReqBuilder) WithSendTime(t sim.VTimeInSec) DataPullReqBuilder
- func (b DataPullReqBuilder) WithSrc(src sim.Port) DataPullReqBuilder
- type DataPullRsp
- type DataPullRspBuilder
- func (b DataPullRspBuilder) Build() *DataPullRsp
- func (b DataPullRspBuilder) WithData(Data []byte) DataPullRspBuilder
- func (b DataPullRspBuilder) WithDst(dst sim.Port) DataPullRspBuilder
- func (b DataPullRspBuilder) WithSendTime(t sim.VTimeInSec) DataPullRspBuilder
- func (b DataPullRspBuilder) WithSrc(src sim.Port) DataPullRspBuilder
- type PageMigrationController
- type PageMigrationReqToPMC
- type PageMigrationReqToPMCBuilder
- func (b PageMigrationReqToPMCBuilder) Build() *PageMigrationReqToPMC
- func (b PageMigrationReqToPMCBuilder) WithDst(dst sim.Port) PageMigrationReqToPMCBuilder
- func (b PageMigrationReqToPMCBuilder) WithPMCPortOfRemoteGPU(pmcPortOfRemoteGPU sim.Port) PageMigrationReqToPMCBuilder
- func (b PageMigrationReqToPMCBuilder) WithPageSize(pageSize uint64) PageMigrationReqToPMCBuilder
- func (b PageMigrationReqToPMCBuilder) WithReadFrom(toReadFromPhyAddress uint64) PageMigrationReqToPMCBuilder
- func (b PageMigrationReqToPMCBuilder) WithSendTime(t sim.VTimeInSec) PageMigrationReqToPMCBuilder
- func (b PageMigrationReqToPMCBuilder) WithSrc(src sim.Port) PageMigrationReqToPMCBuilder
- func (b PageMigrationReqToPMCBuilder) WithWriteTo(toWriteToPhyAddress uint64) PageMigrationReqToPMCBuilder
- type PageMigrationRspFromPMC
- type PageMigrationRspFromPMCBuilder
- func (b PageMigrationRspFromPMCBuilder) Build() *PageMigrationRspFromPMC
- func (b PageMigrationRspFromPMCBuilder) WithDst(dst sim.Port) PageMigrationRspFromPMCBuilder
- func (b PageMigrationRspFromPMCBuilder) WithSendTime(t sim.VTimeInSec) PageMigrationRspFromPMCBuilder
- func (b PageMigrationRspFromPMCBuilder) WithSrc(src sim.Port) PageMigrationRspFromPMCBuilder
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type DataPullReq ¶
A DataPullReq asks remote PMC that holds the page for a page
func (*DataPullReq) Meta ¶
func (r *DataPullReq) Meta() *sim.MsgMeta
Meta returns the meta data associated with the message.
type DataPullReqBuilder ¶
type DataPullReqBuilder struct { ToReadFromPhyAddress uint64 DataTransferSize uint64 // contains filtered or unexported fields }
DataPullReqBuilder can build new Data pull reqs
func (DataPullReqBuilder) Build ¶
func (b DataPullReqBuilder) Build() *DataPullReq
Build creats a new DataPullReq
func (DataPullReqBuilder) WithDataTransferSize ¶
func (b DataPullReqBuilder) WithDataTransferSize(dataTransferSize uint64) DataPullReqBuilder
WithDataTransferSize sets the data transfer size of the request to build.
func (DataPullReqBuilder) WithDst ¶
func (b DataPullReqBuilder) WithDst(dst sim.Port) DataPullReqBuilder
WithDst sets the destination of the request to build.
func (DataPullReqBuilder) WithReadFromPhyAddress ¶
func (b DataPullReqBuilder) WithReadFromPhyAddress(toReadFromPhyAddress uint64) DataPullReqBuilder
WithReadFromPhyAddress sets the read address of the request to build.
func (DataPullReqBuilder) WithSendTime ¶
func (b DataPullReqBuilder) WithSendTime( t sim.VTimeInSec, ) DataPullReqBuilder
WithSendTime sets the send time of the request to build.:w
func (DataPullReqBuilder) WithSrc ¶
func (b DataPullReqBuilder) WithSrc(src sim.Port) DataPullReqBuilder
WithSrc sets the source of the request to build.
type DataPullRsp ¶
A DataPullRsp returns requested data
func (*DataPullRsp) Meta ¶
func (r *DataPullRsp) Meta() *sim.MsgMeta
Meta returns the meta data associated with the message.
type DataPullRspBuilder ¶
type DataPullRspBuilder struct { Data []byte // contains filtered or unexported fields }
DataPullRspBuilder can build new Data pull rsps
func (DataPullRspBuilder) Build ¶
func (b DataPullRspBuilder) Build() *DataPullRsp
Build creats a new DataPullRsp
func (DataPullRspBuilder) WithData ¶
func (b DataPullRspBuilder) WithData(Data []byte) DataPullRspBuilder
WithData sets the data to build
func (DataPullRspBuilder) WithDst ¶
func (b DataPullRspBuilder) WithDst(dst sim.Port) DataPullRspBuilder
WithDst sets the destination of the request to build.
func (DataPullRspBuilder) WithSendTime ¶
func (b DataPullRspBuilder) WithSendTime( t sim.VTimeInSec, ) DataPullRspBuilder
WithSendTime sets the send time of the request to build
func (DataPullRspBuilder) WithSrc ¶
func (b DataPullRspBuilder) WithSrc(src sim.Port) DataPullRspBuilder
WithSrc sets the source of the request to build.
type PageMigrationController ¶
type PageMigrationController struct { *sim.TickingComponent RemotePMCAddressTable mem.LowModuleFinder MemCtrlFinder mem.LowModuleFinder DataTransferStartTime sim.VTimeInSec DataTransferEndTime sim.VTimeInSec TotalDataTransferTime sim.VTimeInSec // contains filtered or unexported fields }
PageMigrationController control page migration
func NewPageMigrationController ¶
func NewPageMigrationController( name string, engine sim.Engine, memCtrlFinder mem.LowModuleFinder, remoteModules mem.LowModuleFinder, ) *PageMigrationController
NewPageMigrationController returns a new controller
func (*PageMigrationController) SetFreq ¶
func (e *PageMigrationController) SetFreq(freq sim.Freq)
SetFreq sets freq
func (*PageMigrationController) Tick ¶
func (e *PageMigrationController) Tick(now sim.VTimeInSec) bool
Tick updates the status of a PageMigrationController.
type PageMigrationReqToPMC ¶
type PageMigrationReqToPMC struct { sim.MsgMeta ToReadFromPhysicalAddress uint64 ToWriteToPhysicalAddress uint64 PMCPortOfRemoteGPU sim.Port PageSize uint64 }
A PageMigrationReqToPMC asks the local GPU PMC to transfer a given page from another GPU PMC
func (*PageMigrationReqToPMC) Meta ¶
func (r *PageMigrationReqToPMC) Meta() *sim.MsgMeta
Meta returns the meta data associated with the message.
type PageMigrationReqToPMCBuilder ¶
type PageMigrationReqToPMCBuilder struct { ToReadFromPhyAddress uint64 ToWriteToPhyAddress uint64 PMCPortOfRemoteGPU sim.Port PageSize uint64 // contains filtered or unexported fields }
PageMigrationReqToPMCBuilder can build new PMC mgiration requests
func (PageMigrationReqToPMCBuilder) Build ¶
func (b PageMigrationReqToPMCBuilder) Build() *PageMigrationReqToPMC
Build creats a new PageMigrationReqToPMC
func (PageMigrationReqToPMCBuilder) WithDst ¶
func (b PageMigrationReqToPMCBuilder) WithDst(dst sim.Port) PageMigrationReqToPMCBuilder
WithDst sets the destination of the request to build.
func (PageMigrationReqToPMCBuilder) WithPMCPortOfRemoteGPU ¶
func (b PageMigrationReqToPMCBuilder) WithPMCPortOfRemoteGPU( pmcPortOfRemoteGPU sim.Port, ) PageMigrationReqToPMCBuilder
WithPMCPortOfRemoteGPU sets the page size.
func (PageMigrationReqToPMCBuilder) WithPageSize ¶
func (b PageMigrationReqToPMCBuilder) WithPageSize(pageSize uint64) PageMigrationReqToPMCBuilder
WithPageSize sets the page size.
func (PageMigrationReqToPMCBuilder) WithReadFrom ¶
func (b PageMigrationReqToPMCBuilder) WithReadFrom(toReadFromPhyAddress uint64) PageMigrationReqToPMCBuilder
WithReadFrom sets the read address of the request to build.
func (PageMigrationReqToPMCBuilder) WithSendTime ¶
func (b PageMigrationReqToPMCBuilder) WithSendTime( t sim.VTimeInSec, ) PageMigrationReqToPMCBuilder
WithSendTime sets the send time of the request to build.:w
func (PageMigrationReqToPMCBuilder) WithSrc ¶
func (b PageMigrationReqToPMCBuilder) WithSrc(src sim.Port) PageMigrationReqToPMCBuilder
WithSrc sets the source of the request to build.
func (PageMigrationReqToPMCBuilder) WithWriteTo ¶
func (b PageMigrationReqToPMCBuilder) WithWriteTo(toWriteToPhyAddress uint64) PageMigrationReqToPMCBuilder
WithWriteTo sets the write address of the request to build.
type PageMigrationRspFromPMC ¶
A PageMigrationRspFromPMC notifies the PMC controlling device of page transfer completion
func (*PageMigrationRspFromPMC) Meta ¶
func (r *PageMigrationRspFromPMC) Meta() *sim.MsgMeta
Meta returns the meta data associated with the message.
type PageMigrationRspFromPMCBuilder ¶
type PageMigrationRspFromPMCBuilder struct {
// contains filtered or unexported fields
}
PageMigrationRspFromPMCBuilder can build new PMC migration responses
func (PageMigrationRspFromPMCBuilder) Build ¶
func (b PageMigrationRspFromPMCBuilder) Build() *PageMigrationRspFromPMC
Build creats a new PageMigrationReqToPMC
func (PageMigrationRspFromPMCBuilder) WithDst ¶
func (b PageMigrationRspFromPMCBuilder) WithDst(dst sim.Port) PageMigrationRspFromPMCBuilder
WithDst sets the destination of the request to build.
func (PageMigrationRspFromPMCBuilder) WithSendTime ¶
func (b PageMigrationRspFromPMCBuilder) WithSendTime( t sim.VTimeInSec, ) PageMigrationRspFromPMCBuilder
WithSendTime sets the send time of the request to build.:w
func (PageMigrationRspFromPMCBuilder) WithSrc ¶
func (b PageMigrationRspFromPMCBuilder) WithSrc(src sim.Port) PageMigrationRspFromPMCBuilder
WithSrc sets the source of the request to build.