昇腾社区首页
中文
注册

界面介绍

功能说明

在服务化调优过程中,MindStudio Insight工具以时间线(Timeline)的呈现方式,将请求端到端的执行情况平铺在时间轴上,直观体现请求在各个关键阶段的耗时情况以及当下请求的状态信息。通过分析时间线,用户可以快速识别服务化性能瓶颈,并根据问题现象,调整调优策略。

界面展示

时间线(Timeline)界面包含工具栏(区域一)、图形化展示(区域二)和数据窗格(区域三)三个部分组成,如图1所示。
图1 时间线界面
  • 区域一:工具栏,包含常用快捷按钮,从左至右依次为标记列表、过滤(支持按卡或按泳道过滤展示)、搜索、连线事件、重置缩放(页面复原)和时间轴缩小放大按钮。
  • 区域二:图形化展示,左侧显示服务化采集的性能数据,一层级为进程,二层级为请求的各个关键阶段信息,具体泳道信息如表1所示。右侧为时间线视图,逐行对时间线进行图形化展现,包括各关键阶段执行序列和执行时长。
    表1 泳道信息

    泳道名称

    说明

    CPU Usage

    CPU平均利用率。仅在开启host_system_usage_freq数据采集开关后采集到的数据才会展示该泳道。

    Memory Usage

    Host侧系统内存使用率。仅在开启host_system_usage_freq数据采集开关后采集到的数据才会展示该泳道。

    NPU Usage

    NPU内存占用。仅在开启npu_memory_usage_freq数据采集开关后采集到的数据才会展示该泳道。

    KVCache

    KV Cache剩余量随时间变化图。

    BatchSchedule

    组batch时间,单位ns。

    WAITING

    请求转移到WAITING状态的时刻。

    PENDING

    请求转移到PENDING状态的时刻。

    RUNNING

    请求转移到RUNNING状态的时刻。

    RUNNING2

    请求转移到RUNNING2状态的时刻。

    SWAPPED

    batch进入SWAPPED状态的时刻。

    RECOMPUTE

    请求转移到RECOMPUTE状态的时刻。

    SUSPENDED

    batch进入SUSPENDED状态的时刻。

    END

    请求转移到END状态的时刻。

    END_PRE

    请求转移到END_PRE状态的时刻。

    STOP

    batch进入STOP状态的时刻。

    PREFILL_HOLD

    batch进入PREFILL_HOLD状态的时刻。

    http

    http请求完整生命周期数据,包含http请求的接收,encode,decode的时间。

    batchFrameworkProcessing

    组batch数据,包含组batch时间,当前batch的类型(prefill或者decode),请求的rid和迭代次数。

    preprocessBatch

    IBIS数据下发中给batch添加参数的时间,单位ns。

    SerializeExecuteMessage

    IBIS数据下发中序列化时间,单位ns。

    setInferBuffer

    IBIS数据下发中设置buffer时间,单位ns。

    grpcWriteToSlave

    IBIS数据下发中gRPC读,单位ns。

    deserializeExecuteRequestsForInfer

    IBIS数据下发中反序列化时间,单位ns。

    convertTensorBatchToBackend

    IBIS数据下发中request转化时间,单位ns。

    getInputMetadata

    IBIS数据下发中获取metadata时间,单位ns。

    beforemodelExec

    模型执行前处理时间,单位ns。

    modelExec

    模型执行数据,单位ns,包含执行时间,当前batch的类型(prefill或者decode),请求的rid和迭代次数。

    instanceExecute

    模型实例执行时间,单位ns。

    Queue

    请求进入队列的时刻。

    PDcommunication

    PD分离通信时间,单位ns。仅在PD分离场景下存在该泳道。

    forward

    模型推理前向传播时间,单位ns。

    operatorExecute

    Python侧模型执行接口时间,单位ns。

    processPythonExecResult

    数据接收中response转化,序列化以及写入共享内存时间,单位ns。

    deserializeExecuteResponse

    数据接收中反序列化时间,单位ns。

    saveoutAndContinueBatching

    数据接收中将response解析为output的时间,单位ns。

    continueBatching

    数据接收中将请求加入队列的时间,单位ns。

    sendExecuteMessage

    发送执行信息时间,单位ns。

    postprocess

    模型推理后处理时间,单位ns。

    preprocess

    模型推理前处理时间,单位ns。

    processBroadcastMessage

    通信广播信息时间,单位ns。

    sample

    采样时间,单位ns。

    PullKVCache

    PD节点之间的KVCache传输时间,单位ns。仅在PD分离场景下存在该泳道。

    CANN

    算子执行时间,单位ns。仅在开启acl_task_time数据采集开关后采集到的数据才会展示该泳道。

    dpBatch

    模型推理过程中各请求对应的dp域信息。

    RequestState

    模型推理过程中请求状态变化。

  • 区域三:数据窗格,统计信息或指令详情信息展示区,选中详情(Slice Detail)为选中单个关键阶段的详细信息、选中列表(Slice List)为泳道选中区域的关键阶段列表信息。

通过观察时间线视图各个层级上的耗时长短、间隙等判断对应的关键阶段是否存在性能问题。