Documentation
¶
Index ¶
- func GetKey(data string, key string, unit string, res *float64, time *float64) error
- func HostFile(ips []string, thread int64) string
- type ApiItem
- type BlockSizeItem
- type CollectiveItem
- type Debug
- type ExecConfig
- func (execConfig *ExecConfig) ReadConfig(configFilePath string) error
- func (execConfig *ExecConfig) Run() (*[]ExecConfigResult, error)
- func (execConfig *ExecConfig) RunGlobal(io500 IO500) ([]ExecConfigResult, error)
- func (execConfig *ExecConfig) RunIorEasy(io500 IO500) ([]ExecConfigResult, error)
- func (execConfig *ExecConfig) RunIorHard(io500 IO500) ([]ExecConfigResult, error)
- func (execConfig *ExecConfig) RunMDTestEasy(io500 IO500) ([]ExecConfigResult, error)
- func (execConfig *ExecConfig) RunMDTestHard(io500 IO500) ([]ExecConfigResult, error)
- func (execConfig *ExecConfig) RunOneJob(io500 IO500) (*ExecConfigResult, error)
- type ExecConfigGlobal
- type ExecConfigIorEasy
- type ExecConfigIorHard
- type ExecConfigMDTestEasy
- type ExecConfigMDTestHard
- type ExecConfigResult
- type Find
- type FindBase
- type FindEasy
- type FindHard
- type Global
- type IO500
- type IO500Result
- type IorEasy
- type IorEasyRead
- type IorEasyWrite
- type IorHard
- type IorHardRead
- type IorHardWrite
- type IorRnd
- type IorRndRead
- type IorRndWrite
- type MDTestEasy
- type MDTestEasyDelete
- type MDTestEasyStat
- type MDTestEasyWrite
- type MDTestHard
- type MDTestHardDelete
- type MDTestHardRead
- type MDTestHardStat
- type MDTestHardWrite
- type MDWorkBench
- type MDWorkBenchBench
- type MDWorkBenchCreate
- type MDWorkBenchDelete
- type NItem
- type RunItem
- type Timestamp
- type VerbosityItem
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
Types ¶
type ApiItem ¶
type ApiItem struct {
// 测试的通用API(为了创建/删除datadir,额外的选项将被传递给IOR/mdtest)
Api string `json:"api"`
}
func (ApiItem) ConfigData ¶
type BlockSizeItem ¶
type BlockSizeItem struct {
BlockSize string `json:"blockSize"`
}
func (BlockSizeItem) ConfigData ¶
func (item BlockSizeItem) ConfigData() string
type CollectiveItem ¶
type CollectiveItem struct {
Collective string `json:"collective"`
}
func (CollectiveItem) ConfigData ¶
func (i CollectiveItem) ConfigData() string
type Debug ¶
type Debug struct {
StonewallTime int64 `json:"stonewallTime"`
}
func (Debug) ConfigData ¶
type ExecConfig ¶
type ExecConfig struct {
*ceph_cluster.CephCluster
*ceph.CephConf
ClientIPs []string `json:"clientIPs"`
Threads []int64 `json:"threads"`
Verbosity []int64 `json:"verbosity"`
ExecConfigIorEasy ExecConfigIorEasy `json:"execConfigIorEasy"`
ExecConfigMDTestEasy ExecConfigMDTestEasy `json:"execConfigMDTestEasy"`
ExecConfigIorHard ExecConfigIorHard `json:"execConfigIorHard"`
ExecConfigMDTestHard ExecConfigMDTestHard `json:"execConfigMDTestHard"`
ExecFile string `json:"execFile"`
IpAddr string `json:"ipAddr"`
Runtime int64 `json:"runtime"`
ResultDir string `json:"resultDir"`
ExecParam string `json:"execParam"`
HostFile string `json:"hostFile"`
}
func NewExecConfig ¶
func NewExecConfig(configPath string) (*ExecConfig, error)
func (*ExecConfig) ReadConfig ¶
func (execConfig *ExecConfig) ReadConfig(configFilePath string) error
func (*ExecConfig) Run ¶
func (execConfig *ExecConfig) Run() (*[]ExecConfigResult, error)
func (*ExecConfig) RunGlobal ¶
func (execConfig *ExecConfig) RunGlobal(io500 IO500) ([]ExecConfigResult, error)
func (*ExecConfig) RunIorEasy ¶
func (execConfig *ExecConfig) RunIorEasy(io500 IO500) ([]ExecConfigResult, error)
func (*ExecConfig) RunIorHard ¶
func (execConfig *ExecConfig) RunIorHard(io500 IO500) ([]ExecConfigResult, error)
func (*ExecConfig) RunMDTestEasy ¶
func (execConfig *ExecConfig) RunMDTestEasy(io500 IO500) ([]ExecConfigResult, error)
func (*ExecConfig) RunMDTestHard ¶
func (execConfig *ExecConfig) RunMDTestHard(io500 IO500) ([]ExecConfigResult, error)
func (*ExecConfig) RunOneJob ¶
func (execConfig *ExecConfig) RunOneJob(io500 IO500) (*ExecConfigResult, error)
type ExecConfigGlobal ¶
type ExecConfigIorEasy ¶
type ExecConfigIorHard ¶
type ExecConfigMDTestEasy ¶
type ExecConfigMDTestHard ¶
type ExecConfigResult ¶
type ExecConfigResult struct {
Threads []int64 `json:"threads"`
IO500 IO500 `json:"io500"`
IO500Result IO500Result `json:"io500Result"`
}
type FindBase ¶
type FindBase struct {
ExternalScript string `json:"externalScript"`
ExternalMpiArgs string `json:"externalMpiArgs"`
ExternalExtraArgs string `json:"externalExtraArgs"`
NProc string `json:"nproc"`
RunItem
PFindQueueLength int64 `json:"pFindQueueLength"`
PFindStealNext bool `json:"pfindStealNext"`
PFindParallelizeSingleDirAccessUsingHashing bool `json:"pFindParallelizeSingleDirAccessUsingHashing"`
}
func (FindBase) ConfigData ¶
type Global ¶
type Global struct {
// The directory where the IO500 runs IO500所在目录
DataDir string `json:"datadir"`
// 数据目录以时间戳作为后缀。 对于并发运行几个IO500测试很有用。
TimestampDataDir bool `json:"TimestampDataDir"`
// The result directory
ResultDir string `json:"resultDir"`
// 结果目录以时间戳作为后缀。 对于并发运行几个IO500测试很有用。
TimestampResultdir bool `json:"timestampResultdir"`
Api string `json:"api"`
// 清除缓存,这对测试很有用,并且对单节点运行很有用
DropCaches bool `json:"dropCaches"`
// 缓存清除命令,在每个I/O阶段之前调用
DropCachesCmd string `json:"dropCachesCmd"`
// 在GPU上分配I/O缓冲区
IoBuffersOnGpu bool `json:"ioBuffersOnGpu"`
VerbosityItem
// 使用学生分组比赛的规则
Scc bool `json:"scc"`
}
func DefaultIO500Global ¶
func DefaultIO500Global() Global
func (Global) ConfigData ¶
type IO500 ¶
type IO500 struct {
ClientIPs []string `json:"clientIPs"`
Thread int64 `json:"thread"`
ExecFile string `json:"execFile"`
Global Global `json:"global"`
Debug Debug `json:"debug"`
IorEasy IorEasy `json:"iorEasy"`
IorEasyWrite IorEasyWrite `json:"iorEasyWrite"`
IorRnd IorRnd `json:"iorRnd"`
IorRndWrite IorRndWrite `json:"iorRndWrite"`
MDTestEasy MDTestEasy `json:"mdTestEasy"`
MDTestEasyWrite MDTestEasyWrite `json:"mdTestEasyWrite"`
MDWorkBench MDWorkBench `json:"mdWorkBench"`
MDWorkBenchCreate MDWorkBenchCreate `json:"mdWorkBenchCreate"`
Timestamp Timestamp `json:"timestamp"`
FindEasy FindEasy `json:"findEasy"`
IorHard IorHard `json:"iorHard"`
IorHardWrite IorHardWrite `json:"iorHardWrite"`
MDTestHard MDTestHard `json:"mdTestHard"`
MDTestHardWrite MDTestHardWrite `json:"mdTestHardWrite"`
Find Find `json:"find"`
IorRndRead IorRndRead `json:"iorRndRead"`
FindHard FindHard `json:"findHard"`
MDWorkBenchBench MDWorkBenchBench `json:"mdWorkBenchBench"`
IorEasyRead IorEasyRead `json:"iorEasyRead"`
MDTestEasyStat MDTestEasyStat `json:"mdTestEasyStat"`
IorHardRead IorHardRead `json:"iorHardRead"`
MDTestHardStat MDTestHardStat `json:"mdTestHardStat"`
MDWorkBenchDelete MDWorkBenchDelete `json:"mdWorkBenchDelete"`
MDTestEasyDelete MDTestEasyDelete `json:"mdTestEasyDelete"`
MDTestHardRead MDTestHardRead `json:"mdTestHardRead"`
MDTestHardDelete MDTestHardDelete `json:"mdTestHardDelete"`
}
func DefaultIO500 ¶
func DefaultIO500() IO500
func (*IO500) ConfigData ¶
func (*IO500) Exec ¶
func (io500 *IO500) Exec(worker interfacer.Worker) (*IO500Result, error)
type IO500Result ¶
type IO500Result struct {
IorEasyWrite float64 `json:"iorEasyWrite"`
MDTestEasyWrite float64 `json:"mdTestEasyWrite"`
Timestamp float64 `json:"timestamp"`
IorHardWrite float64 `json:"iorHardWrite"`
MDTestHardWrite float64 `json:"mdTestHardWrite"`
Find float64 `json:"find"`
IorEasyRead float64 `json:"iorEasyRead"`
MDTestEasyStat float64 `json:"mdTestEasyStat"`
IorHardRead float64 `json:"iorHardRead"`
MDTestHardStat float64 `json:"mdTestHardStat"`
MDTestEasyDelete float64 `json:"mdTestEasyDelete"`
MDTestHardRead float64 `json:"mdTestHardRead"`
MDTestHardDelete float64 `json:"mdTestHardDelete"`
IorEasyWriteTime float64 `json:"iorEasyWriteTime"`
MDTestEasyWriteTime float64 `json:"mdTestEasyWriteTime"`
TimestampTime float64 `json:"timestampTime"`
IorHardWriteTime float64 `json:"iorHardWriteTime"`
MDTestHardWriteTime float64 `json:"mdTestHardWriteTime"`
FindTime float64 `json:"findTime"`
IorEasyReadTime float64 `json:"iorEasyReadTime"`
MDTestEasyStatTime float64 `json:"mdTestEasyStatTime"`
IorHardReadTime float64 `json:"iorHardReadTime"`
MDTestHardStatTime float64 `json:"mdTestHardStatTime"`
MDTestEasyDeleteTime float64 `json:"mdTestEasyDeleteTime"`
MDTestHardReadTime float64 `json:"mdTestHardReadTime"`
MDTestHardDeleteTime float64 `json:"mdTestHardDeleteTime"`
Bandwidth float64 `json:"bandwidth"`
IOPS float64 `json:"iops"`
TOTAL float64 `json:"total"`
}
func (*IO500Result) Decode ¶
func (res *IO500Result) Decode(data string) error
type IorEasy ¶
type IorEasy struct {
ApiItem
TransferSize string `json:"transferSize"`
BlockSizeItem
FilePerProc bool `json:"filePerProc"`
UniqueDir bool `json:"uniqueDir"`
RunItem
VerbosityItem
}
func DefaultIO500IorEasy ¶
func DefaultIO500IorEasy() IorEasy
func (IorEasy) ConfigData ¶
type IorEasyRead ¶
type IorEasyRead struct {
ApiItem
}
func (IorEasyRead) ConfigData ¶
func (i IorEasyRead) ConfigData() string
type IorEasyWrite ¶
type IorEasyWrite struct {
ApiItem
}
func (IorEasyWrite) ConfigData ¶
func (i IorEasyWrite) ConfigData() string
type IorHard ¶
type IorHard struct {
ApiItem
SegmentCount int64 `json:"segmentCount"`
CollectiveItem
RunItem
VerbosityItem
}
func (IorHard) ConfigData ¶
type IorHardRead ¶
type IorHardRead struct {
ApiItem
CollectiveItem
}
func (IorHardRead) ConfigData ¶
func (i IorHardRead) ConfigData() string
type IorHardWrite ¶
type IorHardWrite struct {
ApiItem
CollectiveItem
}
func (IorHardWrite) ConfigData ¶
func (i IorHardWrite) ConfigData() string
type IorRnd ¶
type IorRnd struct {
ApiItem
BlockSizeItem
RunItem
VerbosityItem
RandomPrefill int64 `json:"randomPrefill"`
}
func DefaultIO500IorRnd ¶
func DefaultIO500IorRnd() IorRnd
func (IorRnd) ConfigData ¶
type IorRndRead ¶
type IorRndRead struct {
ApiItem
}
func (IorRndRead) ConfigData ¶
func (i IorRndRead) ConfigData() string
type IorRndWrite ¶
type IorRndWrite struct {
ApiItem
}
func (IorRndWrite) ConfigData ¶
func (i IorRndWrite) ConfigData() string
type MDTestEasy ¶
func DefaultIO500MDTestEasy ¶
func DefaultIO500MDTestEasy() MDTestEasy
func (MDTestEasy) ConfigData ¶
func (i MDTestEasy) ConfigData() string
type MDTestEasyDelete ¶
func (MDTestEasyDelete) ConfigData ¶
func (i MDTestEasyDelete) ConfigData() string
type MDTestEasyStat ¶
func (MDTestEasyStat) ConfigData ¶
func (i MDTestEasyStat) ConfigData() string
type MDTestEasyWrite ¶
func (MDTestEasyWrite) ConfigData ¶
func (i MDTestEasyWrite) ConfigData() string
type MDTestHard ¶
func (MDTestHard) ConfigData ¶
func (i MDTestHard) ConfigData() string
type MDTestHardDelete ¶
func (MDTestHardDelete) ConfigData ¶
func (i MDTestHardDelete) ConfigData() string
type MDTestHardRead ¶
func (MDTestHardRead) ConfigData ¶
func (i MDTestHardRead) ConfigData() string
type MDTestHardStat ¶
func (MDTestHardStat) ConfigData ¶
func (i MDTestHardStat) ConfigData() string
type MDTestHardWrite ¶
func (MDTestHardWrite) ConfigData ¶
func (i MDTestHardWrite) ConfigData() string
type MDWorkBench ¶
type MDWorkBench struct {
ApiItem
WaitingTime float64 `json:"waitingTime"`
PreCreatePerSet string `json:"preCreatePerSet"`
FilesPerProc string `json:"filesPerProc"`
RunItem
VerbosityItem
}
func (MDWorkBench) ConfigData ¶
func (i MDWorkBench) ConfigData() string
type MDWorkBenchBench ¶
type MDWorkBenchBench struct {
RunItem
}
func (MDWorkBenchBench) ConfigData ¶
func (i MDWorkBenchBench) ConfigData() string
type MDWorkBenchCreate ¶
type MDWorkBenchCreate struct {
RunItem
}
func (MDWorkBenchCreate) ConfigData ¶
func (i MDWorkBenchCreate) ConfigData() string
type MDWorkBenchDelete ¶
type MDWorkBenchDelete struct {
RunItem
}
func (MDWorkBenchDelete) ConfigData ¶
func (i MDWorkBenchDelete) ConfigData() string
type VerbosityItem ¶
type VerbosityItem struct {
Verbosity int64 `json:"verbosity"`
}
func (VerbosityItem) ConfigData ¶
func (item VerbosityItem) ConfigData() string
Click to show internal directories.
Click to hide internal directories.