SLURM RPC Reference

一, controller端:

controller在启动过程中,会专门创建一个线程:slurmctld_rpc_mgr,来处理RPC请求, slurmctld_rpc_mgr调用_service_connection,进而调用RPC处理主函数slurmctld_req。 RPC的type和action如下:

TYPE

ACTION

DESCRIPTION


REQUEST_RESOURCE_ALLOCATION


_slurm_rpc_allocate_resources

 

REQUEST_BUILD_INFO

 _slurm_rpc_dump_conf  

REQUEST_JOB_INFO

 _slurm_rpc_dump_jobs  

REQUEST_JOB_USER_INFO


_slurm_rpc_dump_jobs_user

 

REQUEST_JOB_INFO_SINGLE


_slurm_rpc_dump_job_single

 

REQUEST_SHARE_INFO


_slurm_rpc_get_shares

 

REQUEST_PRIORITY_FACTORS


_slurm_rpc_get_priority_factors

 

REQUEST_JOB_END_TIME


_slurm_rpc_end_time

 

REQUEST_FRONT_END_INFO

 _slurm_rpc_dump_front_end  

REQUEST_NODE_INFO

 _slurm_rpc_dump_nodes  

REQUEST_NODE_INFO_SINGLE


_slurm_rpc_dump_node_single

 

REQUEST_PARTITION_INFO


_slurm_rpc_dump_partitions

 

MESSAGE_EPILOG_COMPLETE

 _slurm_rpc_epilog_complete  

REQUEST_CANCEL_JOB_STEP

 _slurm_rpc_job_step_kill  

REQUEST_COMPLETE_JOB_ALLOCATION


_slurm_rpc_complete_job_allocation

 

REQUEST_COMPLETE_PROLOG

 _slurm_rpc_complete_prolog  

REQUEST_COMPLETE_BATCH_JOB

 _slurm_rpc_complete_batch_script  

REQUEST_COMPLETE_BATCH_SCRIPT

 _slurm_rpc_complete_batch_script  

REQUEST_JOB_STEP_CREATE

 _slurm_rpc_job_step_create  

REQUEST_JOB_STEP_INFO

 _slurm_rpc_job_step_get_info  

REQUEST_JOB_WILL_RUN

 _slurm_rpc_job_will_run  

MESSAGE_NODE_REGISTRATION_STATUS

 _slurm_rpc_node_registration  

REQUEST_JOB_ALLOCATION_INFO

 _slurm_rpc_job_alloc_info  

REQUEST_JOB_ALLOCATION_INFO_LITE

 _slurm_rpc_job_alloc_info_lite  

REQUEST_JOB_SBCAST_CRED

 _slurm_rpc_job_sbcast_cred  

REQUEST_PING

 _slurm_rpc_ping  

REQUEST_RECONFIGURE


_slurm_rpc_reconfigure_controller

 

REQUEST_CONTROL

 _slurm_rpc_shutdown_controller  

REQUEST_TAKEOVER

 _slurm_rpc_takeover  

REQUEST_SHUTDOWN

 _slurm_rpc_shutdown_controller  

REQUEST_SHUTDOWN_IMMEDIATE

 _slurm_rpc_shutdown_controller_immediate  

REQUEST_SUBMIT_BATCH_JOB

 _slurm_rpc_submit_batch_job  

REQUEST_UPDATE_FRONT_END

 _slurm_rpc_update_front_end  

REQUEST_UPDATE_JOB

 _slurm_rpc_update_job  

REQUEST_UPDATE_NODE

 _slurm_rpc_update_node  

REQUEST_CREATE_PARTITION

 _slurm_rpc_update_partition  

REQUEST_UPDATE_PARTITION

 _slurm_rpc_update_partition  

REQUEST_DELETE_PARTITION


_slurm_rpc_delete_partition

 

REQUEST_CREATE_RESERVATION

 _slurm_rpc_resv_create  

REQUEST_UPDATE_RESERVATION

 _slurm_rpc_resv_update  

REQUEST_DELETE_RESERVATION

 _slurm_rpc_resv_delete  

REQUEST_UPDATE_BLOCK


_slurm_rpc_update_block

 

REQUEST_RESERVATION_INFO

 _slurm_rpc_resv_show  

REQUEST_NODE_REGISTRATION_STATUS

   

REQUEST_CHECKPOINT


_slurm_rpc_checkpoint

 

REQUEST_CHECKPOINT_COMP


_slurm_rpc_checkpoint_comp

 

REQUEST_CHECKPOINT_TASK_COMP

 _slurm_rpc_checkpoint_task_comp  

REQUEST_SUSPEND

 _slurm_rpc_suspend  

REQUEST_JOB_REQUEUE

 _slurm_rpc_requeue  

REQUEST_JOB_READY

 _slurm_rpc_job_ready  

REQUEST_BLOCK_INFO


_slurm_rpc_block_info

 

REQUEST_STEP_COMPLETE


_slurm_rpc_step_complete

 

REQUEST_STEP_LAYOUT

 _slurm_rpc_step_layout  

REQUEST_UPDATE_JOB_STEP

 _slurm_rpc_step_update  

REQUEST_TRIGGER_SET

 _slurm_rpc_trigger_set  

REQUEST_TRIGGER_GET

 _slurm_rpc_trigger_get  

REQUEST_TRIGGER_CLEAR

 _slurm_rpc_trigger_clear  

REQUEST_TRIGGER_PULL

 _slurm_rpc_trigger_pull  

REQUEST_JOB_NOTIFY

 _slurm_rpc_job_notify  

REQUEST_SET_DEBUG_FLAGS

 _slurm_rpc_set_debug_flags  

REQUEST_SET_DEBUG_LEVEL

 _slurm_rpc_set_debug_level  

REQUEST_SET_SCHEDLOG_LEVEL


_slurm_rpc_set_schedlog_level

 

ACCOUNTING_UPDATE_MSG


_slurm_rpc_accounting_update_msg

 

ACCOUNTING_FIRST_REG

 _slurm_rpc_accounting_first_reg  

ACCOUNTING_REGISTER_CTLD

 _slurm_rpc_accounting_register_ctld  

REQUEST_TOPO_INFO

 _slurm_rpc_get_topo  

REQUEST_SPANK_ENVIRONMENT

 _slurm_rpc_dump_spank  

REQUEST_REBOOT_NODES

 _slurm_rpc_reboot_nodes  

REQUEST_STATS_INFO


_slurm_rpc_dump_stats

 

REQUEST_LICENSE_INFO


_slurm_rpc_dump_licenses

 

REQUEST_KILL_JOB

 _slurm_rpc_kill_job2  
时间: 2024-12-22 16:59:13

SLURM RPC Reference的相关文章

SLURM API Reference

SLURM API Refence cancel: API Description int slurm_kill_job (uint32_t job_id, uint16_t signal, uint16_t flags)   int slurm_kill_job_step (uint32_t job_id, uint32_t step_id, uint16_t signal)   int slurm_kill_job2(const char *job_id, uint16_t signal,

手动实现RPC远程调用

java中的RPC核心思想就是:socket编程.传输Object.动态代理 package com.lala.rpc; import java.io.ObjectInputStream; import java.io.ObjectOutputStream; import java.lang.reflect.InvocationHandler; import java.lang.reflect.Method; import java.lang.reflect.Proxy; import java

RPC框架实现 - 框架篇

RPC(Remote Procedure Call,远程过程调用)框架是分布式服务的基石,实现RPC框架需要考虑方方面面.其对业务隐藏了底层通信过程(TCP/UDP.打包/解包.序列化/反序列化),使上层专注于功能实现:框架层面,提供各类可选架构(多进程/多线程/协程):应对设备故障(高负载/死机).网络故障(拥塞/网络分化),提供相应容灾措施. 关于服务端框架设计和实现,很多文章都有介绍,最常见的是epoll + prefork(进程池/线程池)实现方式,近几年业界又兴起了协程(corouti

基于Netty打造RPC服务器设计经验谈

自从在园子里,发表了两篇如何基于Netty构建RPC服务器的文章:谈谈如何使用Netty开发实现高性能的RPC服务器.Netty实现高性能RPC服务器优化篇之消息序列化 之后,收到了很多同行.园友们热情的反馈和若干个优化建议,于是利用闲暇时间,打算对原来NettyRPC中不合理的模块进行重构,并且增强了一些特性,主要的优化点如下: 在原来编码解码器:JDK原生的对象序列化方式.kryo.hessian,新增了:protostuff. 优化了NettyRPC服务端的线程池模型,支持LinkedBl

RPC框架与Dubbo完整使用

这并不是原理性的解释文章.而是快速入门,还有一个完整的Java例子. 一篇我觉得不错的文章推荐:深入浅出 RPC - 浅出篇 一.RPC 什么是RPC? RPC(Remote Procedure Call)远程过程调用.见名知意 - 从远程主机调用一个过程/函数. RPC的目标是:使得程序调用其它远程主机上的函数,好像调用本程序内的函数一样简单.并且屏蔽编程语言的差异性. 要实现上述目标,首先的是设计一种通讯协议,所以RPC还代表着这一类协议(Protocol) RPC不是一个具体的协议,而是一

RPC框架DUBBO

1. Dubbo是什么? Dubbo是一个分布式服务框架,致力于提供高性能和透明化的RPC远程服务调用方案,以及SOA服务治理方案.简单的说,dubbo就是个服务框架,如果没有分布式的需求,其实是不需要用的,只有在分布式的时候,才有dubbo这样的分布式服务框架的需求,并且本质上是个服务调用的东东,说白了就是个远程服务调用的分布式框架(告别Web Service模式中的WSdl,以服务者与消费者的方式在dubbo上注册)其核心部分包含:1. 远程通讯: 提供对多种基于长连接的NIO框架抽象封装,

远程过程调用(RPC)详解

原文同步至 http://waylau.com/remote-procedure-calls/ 本文介绍了什么是远程过程调用(RPC),RPC 有哪些常用的方法,RPC 经历了哪些发展阶段,以及比较了各种 RPC 技术的优劣. 什么是 RPC RPC 是远程过程调用(Remote Procedure Call)的缩写形式,Birrell 和 Nelson 在 1984 发表于 ACM Transactions on Computer Systems 的论文<Implementing remote

飞鸽RPC框架(java远程服务调用)使用介绍

飞鸽RPC是一个非常轻量级,且容易修改整合到实际项目中的远程调用框架,基于NIO框架netty开发,轻松支持高并发,支持服务负载均衡,无缝整合spring 一.provider配置 服务器配置 feige.properties 放在classpath下 #服务绑定的ip,可选 feige.host=127.0.0.1 #服务端口 feige.port=10221 #服务调用时处理线程池线程数量 feige.poolsize=50 feige.host=127.0.0.1 #协议以及对象序列化配置

Using self-defined Parcelable objects during an Android AIDL RPC / IPC call

Using self-defined Parcelable objects during an Android AIDL RPC / IPC call In my previous post “Using the Android Interface Definition Language (AIDL) to make a Remote Procedure Call (RPC) in Android” I’ve explained the basics on how inter-process c