trace

package
v0.0.0-...-a92cdc1 Latest Latest
Warning

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

Go to latest
Published: Apr 7, 2022 License: GPL-3.0 Imports: 9 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func SaveFiles

func SaveFiles(filename string, data []File) error

func SaveJobs

func SaveJobs(filename string, data []Job) error

func Size

func Size(s sizeDist) uint

Types

type CPUGenerator

type CPUGenerator interface {
	CPUs() uint
}

type DelayGenerator

type DelayGenerator interface {
	Delay() uint64
}

type File

type File struct {
	Locations []uint
	file.File
}

func (File) String

func (f File) String() string

type FileCreator

type FileCreator struct {
	SizeGen     SizeGenerator
	LocationSel LocationSelector
}

func (FileCreator) CreateFiles

func (fc FileCreator) CreateFiles(source rand.Source, total, nDCs uint) []File

func (FileCreator) New

func (fc FileCreator) New(source rand.Source, nDCs uint, id string) File

type FileSelector

type FileSelector interface {
	File([]File) File
}

type FileTraceGenerator

type FileTraceGenerator struct {
	SizeGen     TraceSizeGenerator
	LocationSel TraceLocationSel
}

type Job

type Job struct {
	job.Job
	// contains filtered or unexported fields
}

func (Job) String

func (j Job) String() string

type JobCreator

type JobCreator struct {
	NTG  NumTasksGenerator
	TDG  TaskDurationGenerator
	CGen CPUGenerator
	DGen DelayGenerator
	FSel FileSelector
}

func (JobCreator) CreateJobs

func (jc JobCreator) CreateJobs(total uint, files []File) []Job

type LocationSelector

type LocationSelector interface {
	Locations() []uint
}

type NumTasksGenerator

type NumTasksGenerator interface {
	CreateNumTasks() uint
}

type ParetoSizeGenerator

type ParetoSizeGenerator struct {
	Pareto distuv.Pareto
}

func CreateParetoSizeGenerator

func CreateParetoSizeGenerator() ParetoSizeGenerator

func (ParetoSizeGenerator) Size

func (gen ParetoSizeGenerator) Size() uint64

type ParetoTDG

type ParetoTDG struct {
	Pareto distuv.Pareto
}

func StandardPareto

func StandardPareto() ParetoTDG

func (ParetoTDG) Duration

func (p ParetoTDG) Duration() uint64

type PoissonDelayGenerator

type PoissonDelayGenerator struct {
	Poisson distuv.Poisson
}

func CreatePoissonDG

func CreatePoissonDG() PoissonDelayGenerator

func (PoissonDelayGenerator) Delay

func (gen PoissonDelayGenerator) Delay() uint64

type SimpleCPUGen

type SimpleCPUGen struct {
	Uniform distuv.Uniform
}

func CreateSimpleCG

func CreateSimpleCG() SimpleCPUGen

func (SimpleCPUGen) CPUs

func (gen SimpleCPUGen) CPUs() uint

type SimpleNumTasksGenerator

type SimpleNumTasksGenerator struct {
	Small, Medium float64
}

func (SimpleNumTasksGenerator) CreateNumTasks

func (gen SimpleNumTasksGenerator) CreateNumTasks() uint

type SizeGenerator

type SizeGenerator interface {
	Size() uint64
}

type StringTrace

type StringTrace struct {
	Values []string
}

func (StringTrace) Sample

func (trace StringTrace) Sample() string

type TaskDurationGenerator

type TaskDurationGenerator interface {
	Duration() uint64
}

type TraceCPUGen

type TraceCPUGen struct {
	UintTrace
}

TraceCPUGen is used to generate the number of cpu cores a job requires based on existing job traces.

func LoadTraceCPUGen

func LoadTraceCPUGen(filename string) (*TraceCPUGen, error)

func NewTraceCPUGen

func NewTraceCPUGen(jobs []job.Job) TraceCPUGen

func (TraceCPUGen) CPUs

func (ntg TraceCPUGen) CPUs() uint

func (TraceCPUGen) SaveTraceCPUGen

func (ntg TraceCPUGen) SaveTraceCPUGen(filename string) error

type TraceDelayGen

type TraceDelayGen struct {
	Uint64Trace
}

TraceDelayGen is used to generate the delay after the previous job for the arrival of a job based on existing job traces.

func LoadTraceDelayGen

func LoadTraceDelayGen(filename string) (*TraceDelayGen, error)

func NewTraceDelayGen

func NewTraceDelayGen(jobs []job.Job) TraceDelayGen

func (TraceDelayGen) Delay

func (ntg TraceDelayGen) Delay() uint64

func (TraceDelayGen) SaveTraceDelayGen

func (ntg TraceDelayGen) SaveTraceDelayGen(filename string) error

type TraceFileSelector

type TraceFileSelector struct {
	UintTrace
}

TraceFileSelector is used to generate the number of tasks a job has based on existing job traces.

func LoadTraceFileSelector

func LoadTraceFileSelector(filename string) (*TraceFileSelector, error)

func NewTraceFileSelector

func NewTraceFileSelector(jobs []job.Job) TraceFileSelector

func (TraceFileSelector) Compact

func (tfs TraceFileSelector) Compact(files []File)

func (TraceFileSelector) File

func (tfs TraceFileSelector) File(files []File) File

func (TraceFileSelector) SaveTraceFileSelector

func (tfs TraceFileSelector) SaveTraceFileSelector(filename string) error

func (TraceFileSelector) Size

func (tfs TraceFileSelector) Size() uint

type TraceGenerator

type TraceGenerator struct {
	NTG  TraceNTG
	TDG  TraceTDG
	CGen TraceCPUGen
	DGen TraceDelayGen
	FSel TraceFileSelector
}

TraceGenerator contains all random generators required to generate a full trace.

type TraceLocationSel

type TraceLocationSel struct {
	Size UintTrace
	DCs  UintTrace
}

func LoadTraceLS

func LoadTraceLS(filename string) (*TraceLocationSel, error)

func NewTraceLS

func NewTraceLS(files []File) TraceLocationSel

func (TraceLocationSel) Locations

func (sel TraceLocationSel) Locations() []uint

func (TraceLocationSel) SaveTraceLS

func (ntg TraceLocationSel) SaveTraceLS(filename string) error

type TraceNTG

type TraceNTG struct {
	UintTrace
}

TraceNTG is used to generate the number of tasks a job has based on existing job traces.

func LoadTraceNTG

func LoadTraceNTG(filename string) (*TraceNTG, error)

LoadTraceNTG loads a TraceNTG that was saved in a file named filename.

func NewTraceNTG

func NewTraceNTG(jobs []job.Job) TraceNTG

NewTraceNTG creates a TraceNTG that follows the same distribution as in the jobs in a trace.

func (TraceNTG) CreateNumTasks

func (ntg TraceNTG) CreateNumTasks() uint

CreateNumTasks returns a value to be used as the number of tasks in a job.

func (TraceNTG) SaveTraceNTG

func (ntg TraceNTG) SaveTraceNTG(filename string) error

SaveTraceNTG saves the TraceNTG to a file named filename.

type TraceSizeGenerator

type TraceSizeGenerator struct {
	Uint64Trace
}

func LoadTraceSG

func LoadTraceSG(filename string) (*TraceSizeGenerator, error)

func NewTraceSG

func NewTraceSG(files []File) TraceSizeGenerator

func (TraceSizeGenerator) SaveTraceSG

func (ntg TraceSizeGenerator) SaveTraceSG(filename string) error

func (TraceSizeGenerator) Size

func (ntg TraceSizeGenerator) Size() uint64

type TraceTDG

type TraceTDG struct {
	Uint64Trace
}

TraceTDG is used to generate the task duration for a synthetic job based on existing job traces.

func LoadTraceTDG

func LoadTraceTDG(filename string) (*TraceTDG, error)

func NewTraceTDG

func NewTraceTDG(jobs []job.Job) TraceTDG

NewTraceTDG creates a TraceTDG that follows the same distribution as in the jobs in a trace.

func (TraceTDG) Duration

func (ntg TraceTDG) Duration() uint64

func (TraceTDG) SaveTraceTDG

func (ntg TraceTDG) SaveTraceTDG(filename string) error

type Uint64Trace

type Uint64Trace struct {
	Values []uint64
}

func (Uint64Trace) Sample

func (trace Uint64Trace) Sample() uint64

type UintTrace

type UintTrace struct {
	Values []uint
}

func (UintTrace) Sample

func (trace UintTrace) Sample() uint

type ZipfFileSelector

type ZipfFileSelector struct {
	Zipf *rand.Zipf
}

func CreateZipfFS

func CreateZipfFS(source rand.Source, max uint64) ZipfFileSelector

func (ZipfFileSelector) File

func (gen ZipfFileSelector) File(files []File) File

type ZipfLocationSelector

type ZipfLocationSelector struct {
	NDC  uint
	Zipf *rand.Zipf
}

func CreateZipfLS

func CreateZipfLS(source rand.Source, nDC uint, skew float64) ZipfLocationSelector

func (ZipfLocationSelector) Locations

func (sel ZipfLocationSelector) Locations() []uint

type ZipfSingleLocationSelector

type ZipfSingleLocationSelector struct {
	NDC  uint
	Zipf *rand.Zipf
}

func CreateZipfSLS

func CreateZipfSLS(source rand.Source, nDC uint, skew float64) ZipfSingleLocationSelector

func (ZipfSingleLocationSelector) Locations

func (sel ZipfSingleLocationSelector) Locations() []uint

Directories

Path Synopsis

Jump to

Keyboard shortcuts

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