在 MinIO 中使用 SVE 将 ARM 纳入 AI 数据基础设施领域

MinIO 性能出众的原因之一是我们会完成其他人不愿或无法完成的细致工作。从 SIMD 加速到 AVX-512 优化,我们已经完成了最难的部分。ARM CPU 架构的最新发展,尤其是可扩展向量扩展 (SVE),为我们提供了实现显著性能和效率提升的机会
阅读更多...MinIO 性能出众的原因之一是我们会完成其他人不愿或无法完成的细致工作。从 SIMD 加速到 AVX-512 优化,我们已经完成了最难的部分。ARM CPU 架构的最新发展,尤其是可扩展向量扩展 (SVE),为我们提供了实现显著性能和效率提升的机会
阅读更多...Frank Wessels 是 Sneller 的创始人,之前在 MinIO 工作。引言我在 MinIO 的时候,或许学到的最重要的教训就是关于简单。如果你想实现(真正的)可扩展性,简单至关重要。这贯穿了 MinIO 的架构和软件设计,从头到尾驱动着,其中包括,最重要的是,Sneller 做出的重要决定,即
阅读更多...AWS 最近宣布其新的 ARM 驱动的 Graviton2 服务器正式可用,这促使我们再次研究这些 ARM 服务器的性能。在这篇博文中,我们描述了您可能会发现令人惊讶的结果。引言 MinIO [https://github.com/minio/minio] 是一款 Apache 许可的开源 S3 兼容对象存储服务器,它具有
阅读更多...引言虽然 MD5 哈希在考虑哈希函数时不再是好的选择,但它仍然被用于各种应用程序。因此,对 MD5 哈希速度的任何性能改进都值得考虑。由于 SIMD 处理的最新改进(AVX2,尤其是 AVX512),我们提供了一个 Go md5-simd
阅读更多...引言JSON 已成为网络的“通用语言”。因此,JSON 的解析性能对于许多应用程序至关重要。尽管 JSON 的性质简单且对人类友好,但它并不是一个技术上易于以高速解析的格式。最近,一些新的设计方案被提出,其中之一是 simdjson [https
阅读更多...当我们查看 Spark + AI 峰会的精彩演讲阵容时,您不会看到很多关于如何利用对象存储的讨论。在某种程度上,您会期望 -
阅读更多...您可能知道 Golang 允许给返回值命名。到目前为止,在 MinIO [https://github.com/minio/minio] 中,我们并没有过多地使用此功能,但这种情况即将改变,因为正如我们将在本文中解释的那样,它有一些隐藏的好处。如果您像我们一样,可能拥有大量的代码
阅读更多...也许如果您像我们在 Min [https://github.com/minio/minio]IO 一样,偶尔会在 Golang 调用堆栈中遇到“自动生成的”函数,并且想知道它们是什么?前几天我们遇到了一个案例,调用堆栈显示如下内容: cmd.retryStorage.ListDir(0x12847c0, 0xc420402e70, 0x1, ...) minio/cmd/
阅读更多...minio/dsync [https://github.com/minio/dsync] 是一个用于在 n 个节点网络上执行分布式锁的包。它设计简单,并提供有限的可扩展性 (n <= 16)。每个节点都连接到所有其他节点,来自任何节点的锁请求将被广播到所有连接的节点。一个节点将在
阅读更多...64 位 ARMv8 内核在密码扩展 [http://infocenter.arm.com/help/index.jsp?topic=/com.arm.doc.ddi0501f/CHDFJBCJ.html] 中引入了新的指令,用于加速 SHA1 和 SHA2。我们 Minio [https://minio.io/] 对这些指令可能带来的差异感到好奇,事实证明这是最令人愉快
阅读更多...在本博文中,我们想介绍一个经过优化的实现,blake2b-simd [https://github.com/minio/blake2b-simd],它使用纯 Go 语言实现了 BLAKE2 [https://blake2.net/] 哈希算法,并利用了 SIMD 指令。与(非汇编)Go 实现相比,它提高了 4 倍的速度,并且可以实现接近 1 GB/秒/核心的哈希速度
阅读更多...