stats

package
v0.0.0-...-5194f70 Latest Latest
Warning

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

Go to latest
Published: Jan 20, 2018 License: BSD-3-Clause Imports: 8 Imported by: 0

Documentation

Index

Constants

View Source
const NoCATMask = 0

NoCATMask is used as a special value when CAT is not used

Variables

This section is empty.

Functions

func CreateJSON

func CreateJSON() ([]byte, error)

CreateJSON creates a JSON representation of the current state

func GetAllApplications

func GetAllApplications() []string

GetAllApplications returns a string slice containing all applications that are currently stored

func GetCATRuntimes

func GetCATRuntimes(application string) *map[int]RuntimeT

GetCATRuntimes returns all cat individual runtimes with CAT

func GetCATRuntimesNormalized

func GetCATRuntimesNormalized(application string) *map[int]RuntimeT

GetCATRuntimesNormalized returns all cat individual runtimes with CAT normalized

func GetCoSchedCATRuntimes

func GetCoSchedCATRuntimes(application string, cosched string) *map[int]RuntimeT

GetCoSchedCATRuntimes returns the runtime of application when running in parallel to cosched with CAT

func GetCoSchedCATRuntimesNormalized

func GetCoSchedCATRuntimesNormalized(application string, cosched string) *map[int]RuntimeT

GetCoSchedCATRuntimes returns the runtime of application when running in parallel to cosched with CAT

func ReadFromFile

func ReadFromFile(filename string) error

ReadFromFile reads a json file stored by StoreToFile and updates the local state of the package

func SetCommandline

func SetCommandline(cat bool, catBitChunk uint64, catDirs []string, cpus [2]string, commands []string, hermitcore bool, resctrlPath string, runs int, threads string, varianceDiff float64)

SetCommandline stores the command line options in the config struct

func StoreJSON

func StoreJSON(raw []byte) error

StoreJSON parses the JSON and stores it in the state

func StoreToFile

func StoreToFile(filename string) error

StoreToFile stores the current stats as json in a file

Types

type CommandlineT

type CommandlineT struct {
	Runs         int
	VarianceDiff float64
	CPUs         [2]string
	Threads      string
	HermitCore   bool
	CAT          bool
	CATChunk     uint64
	CATDirs      []string
	ResctrlPath  string
	Commands     []string
}

CommandlineT is used to store all command line parameters

type DataPerRun

type DataPerRun struct {
	Runtime time.Duration
	Output  string
}

DataPerRun is the data we store for every run

type RuntimePerAppT

type RuntimePerAppT struct {
	// individual run
	ReferenceRuntimes RuntimeT

	// individual runtime with number of bits set in CAT mask
	CATRuntimes *map[int]RuntimeT

	// runtime coScheduling without CAT
	CoSchedRuntimes *map[string]RuntimeT

	// runtime coScheduling with CAT
	CoSchedCATRuntimes *map[string]map[int]RuntimeT
}

RuntimePerAppT store runtime values with different combinations for one application

type RuntimeT

type RuntimeT struct {
	Mean              float64
	Stddev            float64
	Vari              float64
	RuntimeSum        float64
	Runs              int
	RawRuntimesByMask *map[uint64][]DataPerRun
}

RuntimeT contains a set of runtimes and statistic values

func AddCATRuntime

func AddCATRuntime(application string, CATMask uint64, data []DataPerRun) RuntimeT

AddCATRuntime adds the individual runtime with CAT

func AddCoSchedCATRuntime

func AddCoSchedCATRuntime(application string, coSchedApplication string, CATMask uint64, data []DataPerRun) RuntimeT

AddCoSchedCATRuntime adds the co-scheduling runtime of 'application' co-scheduled with coSchedApplication with CAT

func AddCoSchedRuntime

func AddCoSchedRuntime(application string, coSchedApplication string, data []DataPerRun) RuntimeT

AddCoSchedRuntime adds the co-scheduling runtime of 'application' co-scheduled with coSchedApplication without CAT

func AddReferenceRuntime

func AddReferenceRuntime(application string, data []DataPerRun) RuntimeT

AddReferenceRuntime adds the individual runtime without CAT

func GetCoSchedRuntimes

func GetCoSchedRuntimes(application string, cosched string) *RuntimeT

GetCoSchedRuntimes returns the runtime of application when running in parallel to cosched without CAT

func GetCoSchedRuntimesNormalized

func GetCoSchedRuntimesNormalized(application string, cosched string) *RuntimeT

GetCoSchedRuntimesNormalized returns the normalized runtime of application when running in parallel to cosched without CAT

func GetReferenceRuntime

func GetReferenceRuntime(application string) *RuntimeT

GetReferenceRuntime returns the individual runtime without CAT

func GetReferenceRuntimeNormalized

func GetReferenceRuntimeNormalized(application string) *RuntimeT

GetReferenceRuntimeNormalized returns the individual runtime without CAT normalized

type StatsT

type StatsT struct {
	// Application command line as a key
	Runtimes map[string]*RuntimePerAppT

	// Command line options passed to coBench
	Commandline CommandlineT
}

StatsT contains every information of a benchmark run

Jump to

Keyboard shortcuts

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