如何让老旧GPU重获新生?探索GPU在安全分析与程序优化中的创新应用

本文探讨了如何利用淘汰的服务器GPU解决计算机安全与程序分析难题,包括嵌入式平台模糊测试、随机优化加速、SMT求解、可达性查询等六大技术方向,为硬件资源再利用提供创新方案。

GPU淘汰之谜

当新一代GPU遵循黄氏定律每18-24个月性能翻倍时,那些服役10年的服务器GPU将何去何从?它们既无法继续留在Google Cloud和Microsoft Azure(AWS除外),也难以胜任现代机器学习任务。但这些已折旧且仍在机架中正常运行的硬件,真的只能走向垃圾场吗?

GPU的创新应用场景

在Trail of Bits,我们正通过以下技术方案赋予老旧GPU新生:

1. 嵌入式平台模糊测试

GPU天生适合处理高度并行的模糊测试任务,尤其在需要编写模拟器的嵌入式领域。我们已开发出原型GPU模糊测试器,通过避免静态翻译、应用快速动态二进制翻译(DBT)技术等手段提升模拟器性能,目前正致力于解决实际应用中的局限性。

2. 随机优化加速

类似斯坦福STOKE的随机优化器,通过GPU并行搜索机器指令空间来发现非常规的性能优化方案,可显著突破传统CPU方案的搜索吞吐量瓶颈。

3. SMT求解加速

针对算法层难以并行的SMT问题,GPU可有效加速两类场景:

  • 浮点运算:扩展现有CPU暴力搜索方案
  • 整数理论:对传统算法难以处理的SMT理论实施并行暴力搜索

4. 可达性查询优化

程序分析中的O(n³)复杂度可达性查询(判断代码行X能否到达Y)是常见瓶颈,GPU并行计算有望使复杂查询变得实用。

5. Datalog加速

借助GPU加速Souffle等工具的Datalog操作,可构建更具扩展性的静态分析工具。

6. API层透明编译(非GPU计算)

利用MLIR和VAST技术实现跨API层代码编译,例如将CUDA语义透明转换为OpenCL语义的原型验证。

加入硬件拯救计划

我们正在寻求研究资金和闲置GPU资源(无需最新型号),用于开发概念验证软件。欢迎高校与研究机构通过历史合作模式共同推进这些创新方向。

comments powered by Disqus
使用 Hugo 构建
主题 StackJimmy 设计