You can not select more than 25 topics Topics must start with a chinese character,a letter or number, can include dashes ('-') and can be up to 35 characters long.

message.go 7.6 kB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124
  1. // KqMessage
  2. package message
  3. // Hpc-ac
  4. type HpcSubmitMessage struct {
  5. TaskId int64 `json:"taskId"`
  6. SlurmVersion string `json:"slurmVersion"`
  7. Apptype string `json:"apptype,optional"`
  8. Appname string `json:"appname,optional"`
  9. StrJobManagerID int64 `json:"strJobManagerID,optional"`
  10. MapAppJobInfo MapAppJobInfo `json:"mapAppJobInfo,optional"`
  11. Account string `json:"account,optional"` //
  12. Acctg_freq string `json:"acctg_freq,optional"`
  13. Alloc_node string `json:"alloc_node,optional"`
  14. Alloc_resp_port int32 `json:"alloc_resp_port,optional"`
  15. Alloc_sid int32 `json:"alloc_sid,optional"`
  16. Argc int32 `json:"argc,optional"`
  17. Argv []Argv `json:"Argv,optional"`
  18. Array_inx string `json:"array_inx,optional"`
  19. Begin_time int64 `json:"begin_time,optional"`
  20. Ckpt_interval int32 `json:"ckpt_interval,optional"`
  21. Ckpt_dir string `json:"ckpt_dir,optional"`
  22. Comment string `json:"comment,optional"`
  23. Contiguous int32 `json:"contiguous,optional"`
  24. Cpu_bind string `json:"cpu_bind,optional"`
  25. Cpu_bind_type int32 `json:"cpu_bind_type,optional"`
  26. Dependency string `json:"dependency,optional"`
  27. End_time int64 `json:"end_time,optional"`
  28. Environment []Environment `json:"Environment,optional"`
  29. Env_size int32 `json:"env_size,optional"`
  30. Exc_nodes string `json:"exc_nodes,optional"`
  31. Features string `json:"features,optional"`
  32. Gres string `json:"gres,optional"`
  33. Group_id int32 `json:"group_id,optional"`
  34. Immediate int32 `json:"immediate,optional"`
  35. Job_id int32 `json:"job_id,optional"`
  36. Kill_on_node_fail int32 `json:"kill_on_node_fail,optional"`
  37. Licenses string `json:"licenses,optional"`
  38. Mail_type int32 `json:"mail_type,optional"`
  39. Mail_user string `json:"mail_user,optional"`
  40. Mem_bind string `json:"mem_bind,optional"`
  41. Mem_bind_type int32 `json:"mem_bind_type,optional"`
  42. Name string `json:"name,optional"` //
  43. Network string `json:"network,optional"`
  44. Nice int32 `json:"nice,optional"`
  45. Num_tasks int32 `json:"num_tasks,optional"`
  46. Open_mode int32 `json:"open_mode,optional"`
  47. Other_port int32 `json:"other_port,optional"`
  48. Overcommit int32 `json:"overcommit,optional"`
  49. Partition string `json:"partition,optional"`
  50. Plane_size int32 `json:"plane_size,optional"`
  51. Priority int32 `json:"priority,optional"`
  52. Profile int32 `json:"profile,optional"`
  53. Qos string `json:"qos,optional"`
  54. Resp_host string `json:"resp_host,optional"`
  55. Req_nodes string `json:"req_nodes,optional"`
  56. Requeue int32 `json:"requeue,optional"`
  57. Reservation string `json:"reservation,optional"`
  58. Script string `json:"script,optional"` //
  59. Shared int32 `json:"shared,optional"`
  60. Spank_job_env_size int32 `json:"spank_job_env_size,optional"`
  61. Task_dist int32 `json:"task_dist,optional"`
  62. Time_limit int32 `json:"time_limit,optional"`
  63. Time_min int32 `json:"time_min,optional"`
  64. User_id int32 `json:"user_id,optional"` //
  65. Wait_all_nodes int32 `json:"wait_all_nodes,optional"`
  66. Warn_signal int32 `json:"warn_signal,optional"`
  67. Warn_time int32 `json:"warn_time,optional"`
  68. Work_dir string `json:"work_dir,optional"`
  69. Cpus_per_task int32 `json:"cpus_per_task,optional"`
  70. Min_cpus int32 `json:"min_cpus,optional"` //
  71. Max_cpus int32 `json:"max_cpus,optional"`
  72. Min_nodes int32 `json:"min_nodes,optional"`
  73. Max_nodes int32 `json:"max_nodes,optional"`
  74. Boards_per_node int32 `json:"boards_per_node,optional"`
  75. Sockets_per_board int32 `json:"sockets_per_board,optional"`
  76. Sockets_per_node int32 `json:"sockets_per_node,optional"`
  77. Cores_per_socket int32 `json:"cores_per_socket,optional"`
  78. Threads_per_core int32 `json:"threads_per_core,optional"`
  79. Ntasks_per_node int32 `json:"ntasks_per_node,optional"`
  80. Ntasks_per_socket int32 `json:"ntasks_per_socket,optional"`
  81. Ntasks_per_core int32 `json:"ntasks_per_core,optional"`
  82. Ntasks_per_board int32 `json:"ntasks_per_board,optional"`
  83. Pn_min_cpus int32 `json:"pn_min_cpus,optional"`
  84. Pn_min_memory int32 `json:"pn_min_memory,optional"`
  85. Pn_min_tmp_disk int32 `json:"pn_min_tmp_disk,optional"`
  86. Reboot int32 `json:"reboot,optional"`
  87. Rotate int32 `json:"rotate,optional"`
  88. Req_switch int32 `json:"req_switch,optional"`
  89. Std_err string `json:"std_err,optional"`
  90. Std_in string `json:"std_in,optional"`
  91. Std_out string `json:"std_out,optional"`
  92. Wait4switch int32 `json:"wait4switch,optional"`
  93. Wckey string `json:"wckey,optional"`
  94. }
  95. type Argv struct {
  96. Argv string `json:"argv,optional"`
  97. }
  98. type Environment struct {
  99. Environment string `json:"environment,optional"`
  100. }
  101. type MapAppJobInfo struct {
  102. GAP_CMD_FILE string `json:"GAP_CMD_FILE"` //命令行内容
  103. GAP_NNODE string `json:"GAP_NNODE"` //节点个数(当指定该参数时,GAP_NODE_STRING必须为"")
  104. GAP_NODE_STRING string `json:"GAP_NODE_STRING,optional"` //指定节点(当指定该参数时,GAP_NNODE必须为"")
  105. GAP_SUBMIT_TYPE string `json:"GAP_SUBMIT_TYPE"` //cmd(命令行模式)
  106. GAP_JOB_NAME string `json:"GAP_JOB_NAME"` //作业名称
  107. GAP_WORK_DIR string `json:"GAP_WORK_DIR"` //工作路径
  108. GAP_QUEUE string `json:"GAP_QUEUE"` //队列名称
  109. GAP_NPROC string `json:"GAP_NPROC,optional"` //总核心数(GAP_NPROC和GAP_PPN选其一填写)
  110. GAP_PPN string `json:"GAP_PPN,optional"` //CPU核心/节点(GAP_NPROC和GAP_PPN选其一填写)
  111. GAP_NGPU string `json:"GAP_NGPU,optional"` //GPU卡数/节点
  112. GAP_NDCU string `json:"GAP_NDCU,optional"` //DCU卡数/节点
  113. GAP_JOB_MEM string `json:"GAP_JOB_MEM,optional"` //每个节点内存值,单位为MB/GB
  114. GAP_WALL_TIME string `json:"GAP_WALL_TIME"` //最大运行时长(HH:MM:ss)
  115. GAP_EXCLUSIVE string `json:"GAP_EXCLUSIVE,optional"` // 是否独占节点,1为独占,空为非独占
  116. GAP_APPNAME string `json:"GAP_APPNAME"` //BASE(基础应用),支持填写具体的应用英文名称
  117. GAP_MULTI_SUB string `json:"GAP_MULTI_SUB,optional"` //作业组长度,建议为小于等于50的正整数
  118. GAP_STD_OUT_FILE string `json:"GAP_STD_OUT_FILE"` //工作路径/std.out.%j
  119. GAP_STD_ERR_FILE string `json:"GAP_STD_ERR_FILE"` //工作路径/std.err.%j
  120. }

PCM is positioned as Software stack over Cloud, aiming to build the standards and ecology of heterogeneous cloud collaboration for JCC in a non intrusive and autonomous peer-to-peer manner.