技术分析报告:StorageReview实验室打破π计算世界纪录

StorageReview实验室团队利用先进的计算系统,成功将π计算至202.112.290.000.000位,刷新了自己之前保持的105万亿位的世界纪录。这一成就突显了现代高性能计算(HPC)和精心设计的商用硬件平台的卓越能力。

关键技术组件:

  • 计算平台: 搭载Intel Xeon 8592+处理器,提供强大的计算能力。
  • 存储解决方案: 使用了28块Solidigm P5336 61.44TB NVMe SSD,总存储容量接近1.5PB,展现了极高的存储密度和带宽。
  • 计算周期: 近乎连续的85天计算,显示了系统的稳定性和持续运行能力。

技术挑战与解决方案:

  1. 内存与存储限制: 面对大规模数字运算的内存需求,团队通过优化的算法和高效的存储解决方案克服了这一难题。计算π所需的大量算术操作,特别是乘法,对内存访问速度提出了极高要求,团队通过高密度SSD和优化的I/O管理来缓解这一压力。
  2. 算法选择: 利用Chudnovsky算法,该算法基于快速收敛级数,适合处理大量数字计算,且对存储和计算资源的需求进行了有效平衡。
  3. 系统设计: 专门定制的Dell PowerEdge R760服务器,配备24个NVMe直连驱动器背板,优化了I/O性能,减少了外部硬件依赖,提高了系统的整体稳定性和效率。

关键发现:

  • 存储密度与带宽的重要性: QLC SSD虽在速度上可能不占优势,但其高密度和并行读写能力在大规模数据处理任务中展现出优势,成为本次计算的关键因素。
  • 直接连接NVMe的优势: 直接连接的NVMe存储解决方案提供了最高水平的性能,确保了计算过程中数据交换的高速度,成为计算瓶颈的主要解决方式。
  • 系统集成与优化: 系统级的优化,包括CPU到存储的匹配比例(2:1驱动器到计算比率),以及对硬件的直接控制(通过y-cruncher软件),对于实现最佳性能至关重要。

结论:
StorageReview实验室的这一壮举不仅代表了π计算领域的重大突破,也为高性能计算、大规模数据存储与处理技术的研究提供了宝贵经验。通过精心设计的硬件配置和算法优化,团队展示了如何克服传统内存与存储限制,实现前所未有的计算成就。未来,此类技术进步有望促进科学、工程等领域内更多创新应用的发展。

在探索测试大容量SSD的有趣方法时,自然而然地想到了在CPU和系统评测中常用的工具:y-cruncher。当进行大量计算并使用交换空间时,所需的空间大致是数字大小的4.7:1,这意味着计算100万亿位π大约需要470TiB的空间。简而言之,y-cruncher采用的Chudnovsky算法基于模函数理论和椭圆曲线理论衍生出的一个快速收敛序列。该算法的核心是一个无限序列:

关于100万亿位和105万亿位π计算,最常见的疑问是:“这有什么大不了的?为什么需要这么久和这么多内存?”这个问题伴随着对开源软件及开发者Alex Yee编程能力的其他质疑。从系统层面来看,计算如此庞大的π数字,如100万亿位,需要大量空间,因为涉及到复杂的算术运算,尤其是大数乘法,这本身就要求大量的内存。最优的大数乘法算法大约需要4N字节的内存来处理N位数,大部分用作临时存储空间。计算过程中多次访问这些内存,使得整个过程更依赖于磁盘I/O而非CPU性能。

Chudnovsky公式因其在计算π的多位数字方面的广泛应用而闻名,它要求大量的算术运算,包括乘法、除法和平方等,这些通常归结为大规模的乘法操作。过去,超级计算机使用AGM(阿贝尔-戈德纳-马斯刻若尼)算法,尽管速度较慢,但易于实现且能借助多台机器的简单粗暴计算力。然而,现代技术进步已将瓶颈从计算能力转移到了内存访问速度上。

处理器中的算术逻辑单元(ALUs)和浮点运算单元(FPUs)处理这些大数乘法的方式类似于纸上演算,将其分解为更小、更易管理的操作。以前,π的计算主要受限于计算能力,但如今,计算能力已超过内存访问速度,使得存储和可靠性成为了创造π计算记录的关键因素。例如,在我们的128核Intel机器和256核AMD Bergamo之间,性能差异不大,重点转向了磁盘I/O效率。

Solidigm SSD在这些计算中发挥着关键作用,其重要性并非源自其内在的速度,而是其卓越的存储密度。消费级NVMe驱动器能在较小体积内存储高达4TB的数据,而企业级SSD则通过堆叠芯片进一步增加容量。尽管QLC NAND相比其他类型的闪存可能速度较慢,但密集型SSD中的并行性提供了更高的聚合带宽,使其非常适合大规模的π计算。

当我们面对超大数字运算,这些数字无法一次性装入系统内存时,计算机必须依靠软件算法来执行多精度算术。这些算法将大数分解成可管理的小块,并采用特殊技巧进行运算处理。这里,Solidigm P5336 61.44TB NVMe SSD 的重要性显现出来。y-cruncher 软件会利用这些可管理的数据块,首先在系统内存中累积它们,然后将这些数据块交换到临时存储空间(scratch drive space)中去。

需要注意的是,由于上述复杂公式的每一个部分都需要由大量的比特来表示,因此在进行数据交换时,我们需要大约4.7:1的空间比率。

y-cruncher 内置了一个硬盘空间需求估算器,即便这个标签还保留着“disk”的旧称,我们在当前以及过去的计算中发现它非常准确。尽管你可以使用HDD或其他对象存储来应对大容量需求,但在第一次尝试中我们就发现,这只是复杂方程中的一个因素。随着AI应用的兴起,如何在靠近计算设备的地方获得足够大且速度快的存储,成为了我们StorageReview日常工作中反复出现的主题。在这一计算过程中,交换空间的性能是最大的瓶颈。直接连接的NVMe存储提供了最高的性能选项,尽管某些方案可能在单个设备的吞吐量上更快,但我们使用的大型高密度QLC SSD阵列在总体上完全能满足这项任务的要求。

在消费者级硬盘和CPU性能方面,y-cruncher同样内置了基准测试功能,允许用户调整各种参数以找到最适配硬盘阵列的性能设置。这一点极为关键。上面的截图展示了这一基准测试为消费者系统提供的反馈信息,包括CPU处理速度和SSD性能指标。

尽管开发者Alex提供了详尽的文档,但经过数周的测试,我们发现让y-cruncher直接与硬盘交互是最佳方案。我们尝试过网络目标、通过SAS RAID卡连接的硬盘、NVMe RAID卡以及iSCSI目标。当将硬件控制权交给y-cruncher时,性能差异显著。iSCSI也表现出可接受的性能,但我们仅在输出文件阶段测试了它,这部分可以利用“直接I/O”进行交互。至于交换模式下的RAID代码,显然经过了深思熟虑,我们的测试结果及与开发者的交流表明,它能够以较低层级与硬盘直接协作,从而优化整体表现。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/867314.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

【Unity navigation面板】

【Unity navigation面板】 Unity的Navigation面板是一个集成在Unity编辑器中的界面,它允许开发者对导航网格(NavMesh)进行配置和管理。 Unity Navigation面板的一些关键特性和功能: 导航网格代理(NavMesh Agent&…

Python爬虫获取视频

验证电脑是否安装python 1.winr输入cmd 2.在黑窗口输入 python.exe 3.不是命令不存在就说明python环境安装完成 抓取快手视频 1.在phcharm应用中新建一个项目 3.新建一个python文件 4.选择python文件,随便起一个名字后按回车 5.安装requests pip install requests 6.寻找需要的…

Beats:使用 Filebeat 从 Python 应用程序中提取日志

本指南演示了如何从 Python 应用程序中提取日志并将其安全地传送到 Elasticsearch Service 部署中。你将设置 Filebeat 来监控具有标准 Elastic Common Schema (ECS) 格式字段的 JSON 结构日志文件,然后你将在 Kibana 中查看日志事件发生的实时可视化。虽然此示例使…

【Python实战因果推断】23_倾向分3

目录 Propensity Score Matching Inverse Propensity Weighting Propensity Score Matching 另一种控制倾向得分的常用方法是匹配估计法。这种方法搜索具有相似可观测特征的单位对,并比较接受干预与未接受干预的单位的结果。如果您有数据科学背景,您可…

Python使用matplotlib绘制图像时,中文图例或标题无法正常显示问题

Python使用matplotlib绘制图像时,中文图例或标题无法显示问题解决方法 一、问题描述二、解决方法 欢迎学习交流! 邮箱: z…1…6.com 网站: https://zephyrhours.github.io/ 一、问题描述 Matplotlib库是Python中经常使用的绘图工…

如何注册微信公众号

如何注册微信公众号 如何注册一个微信公众号 😊📱摘要引言正文内容1. 准备工作内容定位和受众群体公众号名称和头像 2. 网页注册流程第一步:访问微信公众平台第二步:选择账户注册类型第三步:填写基本信息第四步&#x…

树型结构数据存储实践

很多业务场景会遇到树形结构的数据,如公司的人员职级树、行政区划树等。 使用类似MySQL的数据库进行存储,需要将树形结构(二维)存储到行格式(一维)的db中。 本文介绍了树型结构数据存储的三种方式&#xf…

Java视频点播网站

作者介绍:计算机专业研究生,现企业打工人,从事Java全栈开发 主要内容:技术学习笔记、Java实战项目、项目问题解决记录、AI、简历模板、简历指导、技术交流、论文交流(SCI论文两篇) 上点关注下点赞 生活越过…

[FreeRTOS 基础知识] 事件组 概念

文章目录 事件组 定义事件组 基本原理 事件组 定义 在实时操作系统(RTOS)中,事件组是一种用于任务间通信和同步的机制。事件组允许多个任务等待一个或多个事件的组合,当这些事件的组合满足特定条件时,任务可以被唤醒。…

vb.netcad二开自学笔记2:认识vs编辑器

认识一下宇宙第一编辑器的界面图标含义还是很重要的,否则都不知道面对的是什么还怎么继续? 一、VS编辑器中常见的图标的含义 变量 长方体:变量 局部变量 两个矩形块:枚举 预定义的枚举 紫色立方体:方法 橙色树状结构…

UE4_材质_材质节点_Fresnel

学习笔记,不喜勿喷,侵权立删,祝愿生活越来越好! 一、问题导入 在创建电影或过场动画时,你常常需要想办法更好地突显角色或场景的轮廓。这时你需要用到一种光照技术,称为边沿光照或边缘光照,它的…

Threejs环境、透视相机、坐标系、光源

文章目录 如何引入threejsnpm方式script方式script module方式 基本流程与坐标摄像机Geometry(几何体)和Material(材质)光源 如何引入threejs 对于很多刚刚上手threejs的朋友,可能第一步引入threejs就出问题了, 明明已经导入了,就是这样问题…

【搭建Nacos服务】centos7 docker从0搭建Nacos服务

前言 本次搭建基于阿里云服务器系统为(CentOS7 Linux)、Nacos(2.0.3)、Docker version 26.1.4 本次搭建基于一个新的云服务器 安装java yum install -y java-1.8.0-openjdk.x86_64安装驱动以及gcc等前置需要的命令 yum install …

【nvm管理nodejs版本,切换node指定版本】

nvm管理nodejs版本 nvm管理nodejs版本主要功能使用 nvm nvm管理nodejs版本 nvm(Node Version Manager)顾名思义node版本管理器,无须去node管网下载很多node安装程序;用于管理多个 Node.js 版本的工具。它允许你在同一台机器上同时安装和管理…

Appium启动APP时报错Security exception: Permission Denial

报错内容Security exception: Permission Denial: starting Intent 直接通过am命令尝试也是同样的报错 查阅资料了解到:android:exported | App quality | Android Developers exported属性默认false,所以android:exported"false"修改为t…

基于java+springboot+vue实现的图书商城管理系统(文末源码+Lw)283

摘 要 现代经济快节奏发展以及不断完善升级的信息化技术,让传统数据信息的管理升级为软件存储,归纳,集中处理数据信息的管理方式。本图书商城管理系统就是在这样的大环境下诞生,其可以帮助管理者在短时间内处理完毕庞大的数据信…

rpm包下载

内网无法下载、选择外网的一台机器下载rpm包 下载后上传rpm包 1、创建下载目录 mkdir /data/asap/test 2、下载能留存包的工具 sudo yum install yum-utils -y 报错就是环境问题没下载成功,我换了个环境正常的机器就可以了 3、下载rpm包到指定目录/data/asa…

测试人员如何管理项目与风险预警

在平时工作过程中,你有没有因项目延时,需求频繁变更,开发提测质量不高,以及漏测的情况下,背了不少锅的情况呢? 作为测试人员,我们应该如何发挥积极主动性,进行项目管理,有…

【学术会议征稿】2024年第十届机械制造技术与工程材料国际学术会议(ICMTEM 2024)

2024年第十届机械制造技术与工程材料国际学术会议(ICMTEM 2024) 2024 10th International Forum on Manufacturing Technology and Engineering Materials 第十届机械制造技术与工程材料国际学术会议(ICMTEM 2024)将于2024年10月…

(七)[重制]C++命名空间与标准模板库(STL)

​ 引言 在专栏C教程的第六篇C中的结构体与联合体中,介绍了C中的结构体和联合体,包括它们的定义、初始化、内存布局和对齐,以及作为函数参数和返回值的应用。在专栏C教程的第七篇中,我们将深入了解C中的命名空间(nam…