英特尔® Time Coordinated Computing Tools(英特尔® TCC Tools)

提升对延迟敏感的应用程序的性能

概述      文档      下载

图 1: 优化实时改进的步骤。
图 2: 说明板级支持包、BIOS 中的英特尔 TCC Mode 和英特尔 TCC Tools 如何作为一个进程协同工作。

为实时应用分配高速缓存

高速缓存配置器

  • 使用命令行工具来发现和管理高速缓存内存资源,以增加、修改或删除高速缓存和内存分层中不同级别的缓存区
  • 将剩余的高速缓存资源划分到各种组件(如 CPU、GPU 或 I/O),无需了解高速缓存架构低层级的细节

了解更多

示例输出

将创建以下缓冲区:




BUFFER 1

LATENCY(ns): 100

CACHE LEVEL: 2
  
  CPU  CORE: 3

BUFFER SIZE(bytes): 262144

跨平台有效分配缓冲区

高速缓存分配库

本库包含的 API 能够创建符合指定延迟要求的缓冲区。

要使用库,您需要了解您应用程序运行的延迟和数据集大小,以及应用程序代码中对延迟高度敏感的热点。

优点包括:

  • 可靠低延迟的 Malloc 替换
  • 目标高速缓存错误和其他内存访问延迟
  • 简单、熟悉的 API 签名
  • 简化高速缓存架构的复杂性
  • 无需修改代码,在支持的英特尔® 处理器上实现相同的延迟效果

了解更多

功能示例

要创建缓冲区,请指定其大小和最大可接受延迟来进行访问:

/* 示例参数指定 64 字节缓冲区和 20 纳秒延迟要求。

*/ void *mem = tcc_buffer_malloc(64, 20);

使用代码分析性能

测量库

使用此轻量级库来让用户空间应用收集延迟数据。

  • 测量运行时钟周期和时间单位中最坏情况下的执行时间 (WCET) 和其他延迟统计
  • 实现最少运行时间和最高测量精度
    • 每次测量增加少于 610 纳秒的操作时间
    • 从 60 纳秒开始准确测量时间间隔*
  • 跟踪截止日期违规情况
  • 将延迟值存储在共享内存环缓冲区中,由外部应用程序处理
  • 使用检测和跟踪技术 API (ITT API),支持如英特尔® VTune™ 测评器(用于低级应用程序性能分析)等工具中的任务可视化和系统分析。
  • 从示例开始进行,它展示了测量数据的分析方法,包括延迟直方图和截止时间监控。

基于特定配置和工作负载。

了解更多

示例功能

在要分析的代码块前使用此功能:

/* 从处理器时间标记计数器 (TSC) 获取测量的代码块的开始时间。该名称是 __itt_string_handle 指针,用于识别测量。 */

__itt_task_begin(domain, __itt_null, __itt_null, name);

在代码块结尾使用此功能:

/* 从 TSC 获取结束时间,计算开始和结束时间之差,得到一次迭代的延迟时间。 */

__itt_task_end(domain)

社区

英特尔 TCC Tools 论坛中获取专家建议。