文章列表

3.7k3 分钟

# 摘要 无务器算革性地改变了应用程序的部署,消除了传统基础设施管理,并根据需求动态分配资源。一重要的使用案例是 I/O 密集型应用程序,如数据分析,这些应用程序广泛采用关键的 “洗牌” 操作。不式运行,因此仍然引入了无法预见的性能瓶颈,并绕过了未开发的优化机会。在本文中,我们开发 Mk 幸的是,洗牌操作由于大量针对远程存储的 PUT/GET 请求,特别是在高并行场景中,带来了严重的战,导致性能严重下降和存储成本增加。现有设计从多个方面优化数据传递性能,但它们以孤立的式运行,因此仍然引入了无法预见的性能瓶颈,并绕过了未开发的优化机会。在本文中,我们开发 MinFlow,这是
4.4k4 分钟

# 前言 华中科技大学研究生课程计算机系统设计实验,希望能帮到学弟学妹们 # 安装 Docker 实验文档建议使用 Docker,我之前没有安装过 Docker,因此安装一下。 启用 Hyper-V 和 linux 子系统,应该是可选的只用打开 Linux 子系统。 Windows | Docker Docs 下载 Docker Desktop for Windows 默认安装即可 启动 ubuntu 安装成功 # 测试 GEM5 SE 和 FS 模式,成功运行 PARSEC 2.1 负载 # 测试 SE 模式 启动容器,测试 Gem5 SE 模式 h./build&#x
15k14 分钟

关于索引构建的算法在 [[基于图的 ANNS 构建索引相关]] 中,本文将结合 HNSW 代码深入理解 HNSW 算法构建的细节 # 参数分析 # 构建参数 # 层次选择 l←⌊−ln(unif(0..1))⋅mL⌋l←⌊−ln(unif(0..1))⋅m_L⌋l←⌊−ln(unif(0..1))⋅mL​⌋ 由于 ln(unif(0..1)) 的值是负数,并且乘以负号后变为正数,再乘以常数 mL ,生成的 l 值服从一种指数分布。层数越高,其出现的概率越小。这确保了大多数元素的层数较低,而极少数元素的层数会较高。 在实际系统中,层数 l 是整数值,并且受到计算机内存和性能的限制,
4k4 分钟

# 简单版 - 使用 hexo-helper-live2d 插件 # 安装 安装 hexo-helper-live2d 插件十分简单,只需要在博客目录执行: hpnpm install --save hexo-helper-live2d# live2d_models 子目录 在 hexo 博客根目录下创建一个  live2d_models  文件夹。 在此文件夹内新建一个子文件夹。 将你的 live2d 模型复制到这个子文件夹中。现在,在这里应当有一个  .model.json  文件 (例如  mymiku.model.json  )在  /live2d_models&
5.9k5 分钟

CXL-ANNS: Software-Hardware Collaborative Memory Disaggregation and Computation for Billion-Scale Approximate Nearest Neighbor Search 缩略词 释义 BI Back Invalidation DPA Device Physical Address,设备物理地址 DSP Downstream Switch Port,Switch 的下行端口 eRCD Exclusive Restricted CXL Device,只支持 CXL 1.1 的
2.8k3 分钟

基础的索引构建算法 # KNN 图 # NN-Descent # NN-DescentFULL # NSW 找到节点𝑣𝑖最近邻的 𝑓 个邻居,建立𝑣𝑖和这些邻居的边连接 # HNSW 确定一个 I,p 从 0 到 I 都会出现 第一阶段:从顶层到第 I+1 层遍历,ef=1,ep = 唯一找到的点; 第二阶段: 9. 从第 I 层到 0 层遍历,ef,ep=w (ef 个最近邻节点的集合) 10.W 选 M 个节点于 q 连接,两种方法 SIMPLE 的: 直接选最近的 HEURISTIC 的: 要连接的点 p1(p1,q) 要比(所有?
4.9k4 分钟

# 动机 CPU: 细粒度内存访问,线程数不足 GPU: 细粒度内存访问,内存容量小,缺乏流水线并行性(7) # 挑战 随机细粒度访问 长时间远程访问延迟和沉重的通信开销 # 设计 # 内存访问引擎(Memory Access Engines, MAEs) # 主要功能 特征打包内存访问(Feature-Packing Memory Access): MAEs 通过打包多个特征请求来提高内存访问的效率,增加内存带宽利用率。具体来说,它将多个小规模的内存访问请求合并为一个大规模的请求,从而减少内存访问的开销。 本地和远程内存访问优化: MAEs 优化了本地内存(如 DDR 和
1k1 分钟

# 分治 Quantization PQ 算法把 D 维向量分成 m 组, 每组进行 Kmeans 聚类算法 带来的好处 m 组子向量的 Kmeans 算法可以并行求解 表示空间增大, K 的 m 次方 # 图示 PQ 算法生成码本与量化的过程 SDC 的计算流示意图 ADC 的计算流程 示意图 SDC 与 ADC 的整体复杂度为 O (N*m), 此时的近邻计算是对整体的 N 来计算,实际中的 N 在现实应用中可能在千万量级以上, 虽然相较于暴力计算已经减少了计算量, 但计算量依然很大 并不实用。 IVFPQ 找 query 的 topk 最近邻, 不用对整个数据集 N 做计算,
1.6k1 分钟

SONG: Approximate Nearest Neighbor Search on GPU # 原 ANNS 搜索过程 维护三个数据结构 q: 候选集 topk: 结果集 visited: 已访问节点 # SONG 系统 将上述算法全部迁移到了 GPU 中来运行。如图所示为 SONG 系统的处理流程梗概。在每轮迭代中,首先将用于拓展的结点(即需要计算距离的结点)从 GPU 的 Global memory 中存储的图数据中复制到共享内存中(Candidate Locating),随后,多个 GPU 中的 warp(32 个线程)并行地计算这些结点到查询点的距离(Bulk Distance