抱歉,您的浏览器无法访问本站

本页面需要浏览器支持(启用)JavaScript


了解详情 >

理一理以前看过的论文,放在 zotero 上太乱了,就不那么想看。

而且 zotero 同步盘的额度好少( 现在会搞 WebDAV 了。

Networking

MasQ: RDMA for Virtual Private Cloud

https://dl.acm.org/doi/10.1145/3387514.3405849, SIGCOMM ‘20

是 Bei Hua 当时最新的一篇文章,了解了 RDMA。

Po-Fi: Facilitating innovations on WiFi networks with an SDN approach

https://doi.org/10.1016/j.comnet.2020.107781

之前想看看网络方面的论文,看了看 USTC 网络方向的大概就 Bei Hua、Ye Tian 了(还有闻名的 Xinming Zhang)。

Achieving Fine-Grained Flow Management Through Hybrid Rule Placement in SDNs

https://doi.org/10.1109/TPDS.2020.3030630, TPDS

看了下科大苏州那边的 INT (Intelligent Network and System Group) 的论文,感觉 SDN 还挺好玩的(注:然后保研去了那)。

DHash: A Cache-Friendly TCP Lookup Algorithm for Fast Network Processing

《网络算法学》的作业(_是 Bei Hua 写的_),看了提升 Cache 使用效率的部分。

PacketShader: a GPU-Accelerated Software Router

https://doi.org/10.1145/1851275.1851207, SIGCOMM ‘10

《网络算法学》的作业,看了 Linux 网络栈下 socket buffer 频繁创建销毁对内存子系统产生巨大压力的部分。

ATP: In-network Aggregation for Multi-tenant Learning

https://www.usenix.org/conference/nsdi21/presentation/lao, NSDI21

网内聚合,在有可编程性的 SDN 交换机上聚合训练的参数结果、减少包的数量和网络压力。

The x-Kernel: An Architecture for Implementing Network Protocols

https://doi.org/10.1109/32.67579, IEEE Transactions on Software Engineering

是《网络算法学》课上提到过的论文,当时在讲 BSD 使用双向链表记录 TCP 连接的缺点,没想到这个框架这么老。

A Survey on Mobile Edge Computing: The Communication Perspective

https://doi.org/10.1109/COMST.2017.2745201, IEEE Communications Surveys & Tutorials

移动边缘计算。

MEC Server 的实现需要 network functions virtualization 和 software-defined networks 的帮助,所以属于 Networking

论文主要讲了边缘计算的优点:低延迟、节省资源、保护隐私;也有几个限制:计算任务的集成性与计算组件间的依赖性,MEC 服务器和移动设备间的延迟和能源消耗。

Advances and Open Problems in Federated Learning

https://arxiv.org/abs/1912.04977

联邦学习,综述(我当时也没想到智能网络会做这个)。

Botnet traffic identification using neural networks

https://doi.org/10.1007/s11042-021-10765-8

神经网络对恶意流量的识别(感觉比手上的几份论文都有趣)。

Network Stack Specialization for Performance

https://doi.org/10.1145/2619239.2626311, SIGCOMM ‘14

是《网络算法学》的作业。网络栈特化,主要看了 Sandstorm 和 Namestorm 用了什么技巧去实现高吞吐量。

System

Ansor: Generating High-Performance Tensor Programs for Deep Learning

cs.LG, Machine Learning, 2006.06762, OSDI 2020

在 2021 HKU 暑研时看的

是 2020 年在 AutoTVM 框架上的功能补充,主要看了用来代替 cuDNN 的自动编译优化规划器 AutoScheduler(AutoTVM 2.0)。

一些介绍 and 一些想法

Learning to Optimize Tensor Programs

cs.LG, Machine Learning, 1805.08166

在 2021 HKU 暑研时看的

文章讲了一些对 Tensor 程序的评估与优化手段。

TVM: An Automated End-to-End Optimizing Compiler for Deep Learning

cs.LG, Machine Learning, 1802.04799, OSDI 2018

在 2021 HKU 暑研时看的

2018 年由 Tianqi Chen 提出的 TVM 框架,在它的官方文档中主要看了 AutoTVM、Ansor、NNVM 编译器以及 NNVM 的接替者 Relay 编译器。

一些想法

我似乎是第一次接触 TVM 这种非传统编程语言的编译器。TVM 项目整体看来和 LLVM 那么一点相似。

下面的 TVM 均特指 AutoTVM,以及继任者 Ansor。这里参考了亮神的编译比赛 https://github.com/mlzeng/CSC2020-USTC-FlammingMyCompiler 中做的一些 Pass。

TVM 得到 Relay 优化过的计算图输入后,在编译阶段把优化(Schedule)和代码生成(Code Lowering)分开,期间产生了类似 LLVM IR 的「中间代码」TIR。编译原理里见过的一些常量传播/常量折叠、自动 inline 的优化 Pass 在 Relay 上层编译器对流图的化简中也有体现,但是图基本单位是算子、没有那么原子。TVM 对于计算图的优化看上去也不会检测图中算子的冗余性,直接展开模板后进行搜索。这里用了 ML 来评估代价,选出了 K 个较快的模型后用模拟退火法选出较优的 schedule,大大加快 auto tuning 时间。

TVM 从 TIR 到给后端输出 LLVM IR 还需要一次 CodeGenLLVM。

我尝试了之前在编译原理上没有达成的目标:编译了 LLVM,即使关闭 Debug 模式资源消耗也极高。

build-llvm

build-tvm-runtime

tvm-auto-scheduler

tvm-auto-tuning

微软的 ONNX 也做了类似的事情:提供一个通用的模型格式和 Runtime,在 Runtime 上加上一些图优化(虽然大家都只用这种格式)。不过用 ONNX 框架本身的 Runtime 没跑起来,用 TVM 导入 ONNX 模型是成功了。

TVM 这种 DSL 对计算的描述方式都是 behavior level 的,当做 loop transformation 的时候考虑了硬件信息(Cache/PE array),这种方式生成代码非常方便,但对多任务多硬件的时候描述能力似乎不足。希望有种 data centric 的描述方式,去描述 data 在各个硬件之间如何流动,包括如何切分一块 data,如何封装计算单元(MAC,PE array,or Board),如何切分一个算子。

Relay: A High-Level Compiler for Deep Learning

cs.LG, Machine Learning, 1904.08368

在 2021 HKU 暑研时看的

一些想法

Marisa Kirisame 说他 TVM Relay 中也参照了 OCaml 编译器的一些实现,感觉也应该看一下 FP 的东西。

https://tvm.apache.org/docs/dev/relay_add_op.html:可以在计算图中加入自定义的 op

Dynamic Tensor Rematerialization

cs.LG, Machine Learning, 2006.09616

在 2021 HKU 暑研时看的

是看了 TVM Relay 后看的,是同作者 Marisa Kirisame 的另外一篇关于 ML 且 FP 的文章。

一些想法

感觉 FP 以及编译器的实现很神奇,有空一定要去学。

VPIPE: A Virtualized Acceleration System for Achieving Efficient and Scalable Pipeline Parallel DNN Training

IEEE, Transactions on Parallel and Distributed Systems

https://ieeexplore.ieee.org/document/9472938

http://www.cs.hku.hk/~heming/papers/tpds21-vpipe.pdf

去 HKU 暑研之前学长在忙的文章

以及作者还有诚哥(

DAPPLE: A Pipelined Data Parallel Approach for Training Large Models

cs.DC, Distributed, Parallel, and Cluster Computing, 2007.01045

XPipe: Efficient Pipeline Model Parallelism for Multi-GPU DNN Training

cs.LG, Machine Learning, 1911.04610

Guiding Deep Learning System Testing using Surprise Adequacy

cs.SE, Software Engineering, 1808.08444

On the Naming of Methods: A Survey of Professional Developers

cs.SE, Software Engineering, 2102.13555

感觉是非常好玩的一份调查

Scaling distributed machine learning with the parameter server

https://dl.acm.org/doi/10.5555/2685048.2685095, OSDI 2014

是在看联邦学习时看的,(从 Networking 看到了 System)

讲了 Parameter Server (PS) 的架构(之前老师提了好多次 PS 架构但是猜不出是什么,还想到「主要 (Primary) 服务器」、「私有 (Private) 服务器」之类的)。看完后对上面(在 Networking 里的)那篇联邦学习综述有点理解。

Security

When the Guard failed the Droid: A case study of Android malware

cs.CR, Cryptography and Security, 2003.14123

这篇文章介绍了 Android 上恶意应用程序的各种攻击方式(比如 Smali)和检测恶意 Android APK 包的系统(Drebin, Kirin ..)。

在玩 CTF 时曾对 Android 感到兴趣(只是后面更熟悉 Web 而很难同时学习多个方向,然后鸽了)。

Machine Learning

How could Neural Networks understand Programs? (OSCAR)

cs.PL, Programming Languages, 2105.04297

是 LUG 的学长 Dinglan Peng 发的 ICML 顶会,在某周末浏览了一下,也是关于 PL 的文章(并没有太看懂

BlockChain

HotStuf: BFT Consensus in the Lens of Blockchain

cs.DC, Distributed, Parallel, and Cluster Computing, 1803.05069

在 2021 HKU 暑研时看的

一些想法

最后没看懂区块链,继续 System 了(

十月底,我在今年(2021)的 SOSP 上(https://sosp2021.mpi-sws.org/program.html)看到了 Ji Qi 及 Jianyu Jiang 他们的论文 BIDL:https://dl.acm.org/doi/10.1145/3477132.3483574。很熟悉的名字,可惜却不会再见了。

最后

有些在 arXiv 上标着 cs.PL 的我更觉得是 ML(比如胖大佬的 OSCAR 在 ICML 上),而 Marisa Kirisame 的两篇 cs.LG 我更觉得是机器学习系统的系统优化,咱不是很懂、也不 System 了(但 wyf 说 Marisa 做的是 PL

有一些文章可能要付费,我放 OneDrive 上了,密码是我常用 ID(六位小写字母)(