TCSA忙等待同步错误定位算法论文调研报告
论文题目:TCSA: Efficient Localization of Busy-Wait Synchronization Bugs for Latency-Critical Applications
作者:Ning Li, Jianmei Guo, Bo Huang, Yuyang Li, Yilei Zhang, Chengdong Li, Wenxin Huang
期刊:IEEE TRANSACTIONS ON PARALLEL AND DISTRIBUTED SYSTEMS
年份:2024
忙等待(Busy Waiting),又称为自旋等待(Spin Waiting),是一种等 ...
跨平台多路复用硬件性能计数器论文调研报告
论文题目:Efficient Cross-platform Multiplexing of HardwarePerformance Counters via Adaptive Grouping
作者:TONG-YU LIU, JIANMEI GUO, and BO HUANG
期刊:ACM Trans. Arch. Code Optim.
年份:2024
引入硬件性能监控计数器(PMC)用于监控各种微架构性能事件,如时钟周期、失效的指令、缓存丢失和分支的错误预测。这些计数可以计算出丰富的性能指标,如每个指令的评价周期数(CPI)、每千条指令的缓存丢失数(MPKI)和分支预测错误率等。
与需 ...
软件系统优化学习笔记(二)
性能测量测量方法外部测量利用外部工具对程序进行测量,通常不需要修改程序。
time ( /usr/bin/time )
Linux perf
Intel EMON
…
程序运行时间分为:
真实时间(real time) :也称挂钟时间(wall clock time),指程序开始到结束真实世界经过的时间
CPU时间(CPU time) :指程序占用CPU进行运算的时间。根据CPU的状态,还以细分为:
用户态时间
内核态时间
在多核下运行的并行程序中,CPU时间为多个线程的CPU时间之和,该时间一般小于真实时间。
内部(插桩)测量内部测量(internal measurement) ...
软件系统优化实验A1笔记
实验系统
虚拟机环境:VMware® Workstation 17 Player
操作系统:Ubuntu 22.04 server
虚拟硬件:4核心 4G内存
软件版本:
gcc:11.4.0
clang:14.0.0
python:3.10.12
java:openjdk 21.0.3
Linux perf:5.15.152
系统安装与准备问题与解决方法
遇到报错:hub_ext_port_status
解决方法:在菜单 > 管理 > 虚拟机设置 > USB 控制器 > 与虚拟机共享蓝牙设备一栏将勾选去掉即可。
虚拟机的输入有较大延迟,并且字体过小
解决方法 ...
软件系统优化学习笔记(一)
绪论矩阵乘法优化案例
程序运行用时Python > Java > C的原因:
C是编译型语言,源代码被直接编译为机器码。
Java源代码先被编译为字节码,由JVM进行解释运行,并在运行中由其按需编译为机器码。当代码首次执行时,以解释方式进行,并由运行时系统记录代码块的运行频率,运行频率较高的代码块会被编译成机器码并在后续访问时直接运行。
Python是解释型语言,由Python解释器对源代码直接进行解释运行。解释器可以提供更加高级的编程特性,但会带来较多的性能损失。
C语言程序编译过程:预处理(Preprocessing,输出.i文件):使用预处理器(cpp),处理源代码中 ...
系统优化综述调研报告
论文题目:There’s plenty of room at the Top: What will drive computer performance after Moore’s law?
作者:Charles E. Leiserson, Neil C. Thompson, Joel S. Emer 等
期刊:Science
年份:2020
背景由于晶体管的物理结构限制,使得其体积难以再度缩小,摩尔定律也随之迎来终结。种种迹象表明,底层的优化空间已经很小,而与之相对的顶层仍有很大的空间。顶层可以分为三层:
硬件架构:执行计算的可编程数字电路。
软件:指示数字电路的计算内容的代码。
算法 ...