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.

hpcAC.proto 6.1 kB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127
  1. syntax = "proto3";
  2. package hpcAC;
  3. option go_package = "/hpcAC";
  4. /******************Job Start*************************/
  5. message job{
  6. string job_id = 1; // @gotags: copier:"JobId"
  7. string job_name = 2; // @gotags: copier:"Name"
  8. string job_status = 3; // @gotags: copier:"JobState"
  9. string queue = 4; // @gotags: copier:"Partition"
  10. string user = 5; // @gotags: copier:"UserId"
  11. string node_used = 6; // @gotags: copier:"ExcNodes"
  12. int32 proc_num_used = 7; // @gotags: copier:"NumCpus"
  13. string job_start_time = 8; // @gotags: copier:"StartTime"
  14. string job_run_time = 9; // @gotags: copier:"JobRunTime"
  15. string job_manager_id = 10; // @gotags: copier:"JobmanagerId"
  16. string job_manager_name = 11; // @gotags: copier:"JobmanagerName"
  17. string job_manager_type = 12; // @gotags: copier:"JobmanagerType"
  18. string error_path = 13; // @gotags: copier:"ErrorPath"
  19. string output_path = 14; // @gotags: copier:"OutputPath"
  20. string work_dir = 15; // @gotags: copier:"WorkDir"
  21. string reason = 16; // @gotags: copier:"Reason"
  22. string app_type = 17; // @gotags: copier:"AppType"
  23. }
  24. message ListJobReq{
  25. }
  26. message ListJobResp{
  27. uint32 code = 1; // @gotags: copier:"Code"
  28. string msg = 2; // @gotags: copier:"Msg"
  29. uint32 record_count = 3; // @gotags: copier:"RecordCount"
  30. repeated job jobs = 4; // @gotags: copier:"Jobs"
  31. }
  32. /******************Job End*************************/
  33. /******************History Job Start*************************/
  34. message historyJob{
  35. string acct_time = 1; // @gotags: copier:"AcctTime"
  36. string app_type = 2; // @gotags: copier:"AppType"
  37. string job_end_time = 3; // @gotags: copier:"End"
  38. string job_exec_host = 4; // @gotags: copier:"Nodes"
  39. int32 job_exit_status = 5; // @gotags: copier:"ExitCode"
  40. int64 job_id = 6; // @gotags: copier:"JobId"
  41. string job_name = 7; // @gotags: copier:"JobName"
  42. string job_queue_time = 8; // @gotags: copier:"JobQueueTime"
  43. string job_start_time = 9; // @gotags: copier:"Start"
  44. string job_state = 10; // @gotags: copier:"State"
  45. string job_walltime_used = 11; // @gotags: copier:"JobWalltimeUsed"
  46. int64 job_manager_id = 12; // @gotags: copier:"JobManagerId"
  47. int32 node_ct = 13; // @gotags: copier:"AllocNodes"
  48. string queue = 14; // @gotags: copier:"Partition"
  49. string user_name = 15; // @gotags: copier:"User"
  50. string workdir = 16; // @gotags: copier:"WorkDir"
  51. }
  52. message ListHistoryJobReq{
  53. string startTime = 1;// @gotags: copier:"StartTime"
  54. string endTime = 2;// @gotags: copier:"EndTime"
  55. string timeType = 3;// @gotags: copier:"TimeType"
  56. int32 start = 4;// @gotags: copier:"Start"
  57. int32 limit = 5;// @gotags: copier:"Limit"
  58. int32 isQueryByQueueTime = 6;// @gotags: copier:"IsQueryByQueueTime"
  59. }
  60. message ListHistoryJobResp{
  61. uint32 code = 1; // @gotags: copier:"Code"
  62. string msg = 2; // @gotags: copier:"Msg"
  63. uint32 record_count = 3; // @gotags: copier:"RecordCount"
  64. repeated historyJob history_jobs = 4; // @gotags: copier:"HistoryJobs"
  65. }
  66. /******************History Job End*************************/
  67. /******************Job(Submit) Start*************************/
  68. message SubmitJobReq{
  69. string apptype = 1; // @gotags: copier:"Apptype"
  70. string appname = 2; // @gotags: copier:"Appname"
  71. int64 strJobManagerID = 3; // @gotags: copier:"StrJobManagerID"
  72. MapAppJobInfo mapAppJobInfo = 4; // @gotags: copier:"MapAppJobInfo"
  73. }
  74. message SubmitJobResp{
  75. string Code = 1; // @gotags: copier:"Code"
  76. string Msg = 2; // @gotags: copier:"Msg"
  77. string Data = 3; // @gotags: copier:"Data"
  78. }
  79. message MapAppJobInfo{
  80. string GAP_CMD_FILE = 1; // @gotags: copier:"GAP_CMD_FILE" //命令行内容
  81. string GAP_NNODE = 2; // @gotags: copier:"GAP_NNODE" //节点个数(当指定该参数时,GAP_NODE_STRING必须为"")
  82. string GAP_NODE_STRING = 3; // @gotags: copier:"GAP_NODE_STRING" //指定节点(当指定该参数时,GAP_NNODE必须为"")
  83. string GAP_SUBMIT_TYPE = 4; // @gotags: copier:"GAP_SUBMIT_TYPE" //cmd(命令行模式)
  84. string GAP_JOB_NAME = 5; // @gotags: copier:"GAP_JOB_NAME" //作业名称
  85. string GAP_WORK_DIR = 6; // @gotags: copier:"GAP_WORK_DIR" //工作路径
  86. string GAP_QUEUE = 7; // @gotags: copier:"GAP_QUEUE" //队列名称
  87. string GAP_NPROC = 8; // @gotags: copier:"GAP_NPROC" //总核心数(GAP_NPROC和GAP_PPN选其一填写)
  88. string GAP_PPN = 9; // @gotags: copier:"GAP_PPN" //CPU核心/节点(GAP_NPROC和GAP_PPN选其一填写)
  89. string GAP_NGPU = 10; // @gotags: copier:"GAP_NGPU" //GPU卡数/节点
  90. string GAP_NDCU = 11; // @gotags: copier:"GAP_NDCU" //DCU卡数/节点
  91. string GAP_JOB_MEM = 12; // @gotags: copier:"GAP_JOB_MEM" //每个节点内存值,单位为MB/GB
  92. string GAP_WALL_TIME = 13; // @gotags: copier:"GAP_WALL_TIME" //最大运行时长(HH:MM:ss)
  93. string GAP_EXCLUSIVE = 14; // @gotags: copier:"GAP_EXCLUSIVE" // 是否独占节点,1为独占,空为非独占
  94. string GAP_APPNAME = 15; // @gotags: copier:"GAP_APPNAME" //BASE(基础应用),支持填写具体的应用英文名称
  95. string GAP_MULTI_SUB = 16; // @gotags: copier:"GAP_MULTI_SUB" //作业组长度,建议为小于等于50的正整数
  96. string GAP_STD_OUT_FILE = 17; // @gotags: copier:"GAP_STD_OUT_FILE" //工作路径/std.out.%j
  97. string GAP_STD_ERR_FILE = 18; // @gotags: copier:"GAP_STD_ERR_FILE" //工作路径/std.err.%j
  98. }
  99. /******************Job(Submit) End*************************/
  100. // HPC Services for AC
  101. service hpcAC {
  102. //ListJob list all jobs
  103. rpc ListJob(ListJobReq) returns (ListJobResp);
  104. //ListHistoryJob list all history jobs
  105. rpc ListHistoryJob(ListHistoryJobReq) returns (ListHistoryJobResp);
  106. //Submit job
  107. rpc SubmitJob(SubmitJobReq) returns (SubmitJobResp);
  108. }

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.