Documentation ¶
Index ¶
- func SaveFiles(filename string, data []File) error
- func SaveJobs(filename string, data []Job) error
- func Size(s sizeDist) uint
- type CPUGenerator
- type DelayGenerator
- type File
- type FileCreator
- type FileSelector
- type FileTraceGenerator
- type Job
- type JobCreator
- type LocationSelector
- type NumTasksGenerator
- type ParetoSizeGenerator
- type ParetoTDG
- type PoissonDelayGenerator
- type SimpleCPUGen
- type SimpleNumTasksGenerator
- type SizeGenerator
- type StringTrace
- type TaskDurationGenerator
- type TraceCPUGen
- type TraceDelayGen
- type TraceFileSelector
- type TraceGenerator
- type TraceLocationSel
- type TraceNTG
- type TraceSizeGenerator
- type TraceTDG
- type Uint64Trace
- type UintTrace
- type ZipfFileSelector
- type ZipfLocationSelector
- type ZipfSingleLocationSelector
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
Types ¶
type CPUGenerator ¶
type CPUGenerator interface {
CPUs() uint
}
type DelayGenerator ¶
type DelayGenerator interface {
Delay() uint64
}
type FileCreator ¶
type FileCreator struct { SizeGen SizeGenerator LocationSel LocationSelector }
func (FileCreator) CreateFiles ¶
func (fc FileCreator) CreateFiles(source rand.Source, total, nDCs uint) []File
type FileSelector ¶
type FileTraceGenerator ¶
type FileTraceGenerator struct { SizeGen TraceSizeGenerator LocationSel TraceLocationSel }
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 ¶
func CreateParetoSizeGenerator ¶
func CreateParetoSizeGenerator() ParetoSizeGenerator
func (ParetoSizeGenerator) Size ¶
func (gen ParetoSizeGenerator) Size() uint64
type ParetoTDG ¶
func StandardPareto ¶
func StandardPareto() ParetoTDG
type PoissonDelayGenerator ¶
func CreatePoissonDG ¶
func CreatePoissonDG() PoissonDelayGenerator
func (PoissonDelayGenerator) Delay ¶
func (gen PoissonDelayGenerator) Delay() uint64
type SimpleCPUGen ¶
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 ¶
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 ¶
LoadTraceNTG loads a TraceNTG that was saved in a file named filename.
func NewTraceNTG ¶
NewTraceNTG creates a TraceNTG that follows the same distribution as in the jobs in a trace.
func (TraceNTG) CreateNumTasks ¶
CreateNumTasks returns a value to be used as the number of tasks in a job.
func (TraceNTG) SaveTraceNTG ¶
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 NewTraceTDG ¶
NewTraceTDG creates a TraceTDG that follows the same distribution as in the jobs in a trace.
func (TraceTDG) SaveTraceTDG ¶
type Uint64Trace ¶
type Uint64Trace struct {
Values []uint64
}
func (Uint64Trace) Sample ¶
func (trace Uint64Trace) Sample() uint64
type ZipfFileSelector ¶
func CreateZipfFS ¶
func CreateZipfFS(source rand.Source, max uint64) ZipfFileSelector
func (ZipfFileSelector) File ¶
func (gen ZipfFileSelector) File(files []File) File
type ZipfLocationSelector ¶
func CreateZipfLS ¶
func CreateZipfLS(source rand.Source, nDC uint, skew float64) ZipfLocationSelector
func (ZipfLocationSelector) Locations ¶
func (sel ZipfLocationSelector) Locations() []uint
type ZipfSingleLocationSelector ¶
func CreateZipfSLS ¶
func CreateZipfSLS(source rand.Source, nDC uint, skew float64) ZipfSingleLocationSelector
func (ZipfSingleLocationSelector) Locations ¶
func (sel ZipfSingleLocationSelector) Locations() []uint