CN117609169B - 一种基于单个文件的并行流场原位无损压缩方法及系统 - Google Patents
一种基于单个文件的并行流场原位无损压缩方法及系统 Download PDFInfo
- Publication number
- CN117609169B CN117609169B CN202410097841.2A CN202410097841A CN117609169B CN 117609169 B CN117609169 B CN 117609169B CN 202410097841 A CN202410097841 A CN 202410097841A CN 117609169 B CN117609169 B CN 117609169B
- Authority
- CN
- China
- Prior art keywords
- flow field
- node
- data
- parallel
- compression
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
- 238000007906 compression Methods 0.000 title claims abstract description 72
- 230000006835 compression Effects 0.000 title claims abstract description 72
- 238000000034 method Methods 0.000 title claims abstract description 38
- 238000011065 in-situ storage Methods 0.000 title claims abstract description 32
- 238000004891 communication Methods 0.000 claims abstract description 23
- 238000004364 calculation method Methods 0.000 claims description 16
- 238000013144 data compression Methods 0.000 claims description 10
- 238000004422 calculation algorithm Methods 0.000 claims description 5
- 238000004458 analytical method Methods 0.000 claims description 3
- 230000006837 decompression Effects 0.000 abstract description 3
- 230000008569 process Effects 0.000 abstract description 3
- 239000012530 fluid Substances 0.000 description 6
- 230000006978 adaptation Effects 0.000 description 2
- 230000005540 biological transmission Effects 0.000 description 2
- 238000007405 data analysis Methods 0.000 description 2
- 238000010586 diagram Methods 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 230000009286 beneficial effect Effects 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 230000009467 reduction Effects 0.000 description 1
- 230000005477 standard model Effects 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
- 238000003860 storage Methods 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/10—File systems; File servers
- G06F16/17—Details of further file system functions
- G06F16/174—Redundancy elimination performed by the file system
- G06F16/1744—Redundancy elimination performed by the file system using compression, e.g. sparse files
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F30/00—Computer-aided design [CAD]
- G06F30/20—Design optimisation, verification or simulation
- G06F30/28—Design optimisation, verification or simulation using fluid dynamics, e.g. using Navier-Stokes equations or computational fluid dynamics [CFD]
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03M—CODING; DECODING; CODE CONVERSION IN GENERAL
- H03M7/00—Conversion of a code where information is represented by a given sequence or number of digits to a code where the same, similar or subset of information is represented by a different sequence or number of digits
- H03M7/30—Compression; Expansion; Suppression of unnecessary data, e.g. redundancy reduction
- H03M7/3059—Digital compression and data reduction techniques where the original information is represented by a subset or similar information, e.g. lossy compression
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2113/00—Details relating to the application field
- G06F2113/08—Fluids
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2119/00—Details relating to the type or aim of the analysis or the optimisation
- G06F2119/14—Force analysis or force optimisation, e.g. static or dynamic forces
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- Computing Systems (AREA)
- Databases & Information Systems (AREA)
- Algebra (AREA)
- Data Mining & Analysis (AREA)
- Fluid Mechanics (AREA)
- Mathematical Analysis (AREA)
- Mathematical Optimization (AREA)
- Mathematical Physics (AREA)
- Pure & Applied Mathematics (AREA)
- Computer Hardware Design (AREA)
- Evolutionary Computation (AREA)
- Geometry (AREA)
- Compression, Expansion, Code Conversion, And Decoders (AREA)
Abstract
本发明公开了一种基于单个文件的并行流场原位无损压缩方法及系统,包括步骤:S1:在并行计算机系统上启动N个计算节点并运行并行流场模拟软件,基于消息传递接口创建节点间并行通信域以支持节点间数据通信;S2:对节点1到节点N进行基于并行流场模拟软件的流场迭代计算;迭代完成后,将流场数据存入每个节点单独创建的内存数据池;S3:节点1到节点N分别从内存数据池中取得各自的全部流场数据;S4:节点1到节点N分别依次对M个流场变量进行内存流场数据的原位压缩;S5:计算数据偏移量并节点间相互广播;S6:将压缩后的流场数据并行地写入单个文件,并存储到磁盘。本发明避免了传统方法额外压缩和解压过程导致的磁盘负载增加问题。
Description
技术领域
本发明涉及计算流体力学领域,具体而言,涉及一种基于单个文件的并行流场原位无损压缩方法及系统。
背景技术
计算流体力学对精度要求越来越高,采用的网格规模越来越大,导致流场磁盘存储的数据量巨大,尤其是非定常流场数据单个工况可达1T量级。另一方面,后期流场数据分析对数据精度要求很高。因此,无损压缩对降低计算流体力学软件磁盘消耗意义重大。当前流场数据压缩通常采用通用压缩软件对输出到磁盘的文件进行压缩。然而,该方法不仅忽略了流场数据结构导致压缩率下降,后期数据分析前还需解压文件并将解压数据写入磁盘,增加了磁盘系统的负载。另外,计算流体力学通常采用多节点的并行计算,传统方法难以有效利用并行资源,导致压缩过程耗时很长。因此,亟需寻找新的支持并行的流场原位无损压缩方法。
发明内容
有鉴于此,本发明提供一种基于单个文件的并行流场原位无损压缩方法及系统,通过各并行计算节点独立实现流场数据原位并行压缩,避免了传统方法额外压缩和解压过程导致的磁盘负载增加问题,还可基于流场数据结构提高数据压缩率,同时能充分利用并行计算资源开展并行压缩提高压缩速度,实现了流场数据快速高效压缩和单个文件磁盘存储。
为解决以上技术问题,本发明提供了一种基于单个文件的并行流场原位无损压缩方法,包括步骤:
S1:在并行计算机系统上启动N个计算节点并运行并行流场模拟软件,基于消息传递接口创建节点间并行通信域以支持节点间数据通信;
S2:对节点1到节点N进行基于并行流场模拟软件的流场迭代计算;迭代完成后,将流场数据存入每个节点单独创建的内存数据池;
S3:节点1到节点N分别从内存数据池中取得各自的全部流场数据;
S4:节点1到节点N分别依次对M个流场变量进行内存流场数据的原位压缩;
S5:计算数据偏移量并节点间相互广播;
S6:将压缩后的流场数据并行地写入单个文件,并存储到磁盘。
作为一种可选方式,在上述步骤S3中,每个节点包括M个流场变量,节点p的第i个流场变量为。
作为一种可选方式,在上述步骤S4中,采用内存无损浮点数压缩算法进行内存流场数据的原位压缩,其中,节点p的第i个流场变量为,压缩后的数据长度为。
作为一种可选方式,在上述步骤S5中,计算数据偏移量包括如下步骤:
计算节点p上流场数据压缩后总长度Z p :
使用并行通信将节点压缩后数据总长度Z p 进行节点间的相互广播,则每个节点都获得其它所有节点的数据总长度,其中,节点p的第i个流场变量的文件偏移量F p,i 的计算方式为:
;
使用并行通信将文件偏移量F p,i 进行节点间的相互广播,则每个节点都获得所有节点所有流场的偏移量数据
。
作为一种可选方式,在上述步骤S6中,使用基于数据偏移的并行文件IO方法将压缩后的流场数据并行写入;还包括将文件偏移量一并写入文件,以为了后续的流场分析再次读入压缩文件实施流场数据解压。
另一方面,本发明还提供了一种基于单个文件的并行流场原位无损压缩系统,包括:
集群作业调度单元,用于在并行计算机系统上启动N个计算节点并运行并行流场模拟软件,基于消息传递接口创建节点间并行通信域以支持节点间数据通信;
计算单元,用于进行流场计算,对节点1到节点N进行基于并行流场模拟软件的流场迭代计算;迭代完成后,将流场数据存入每个节点单独创建的内存数据池;
获取单元,用于获取流场数据,节点1到节点N分别从内存数据池中取得各自的全部流场数据;
压缩单元,用于节点1到节点N分别依次对M个流场变量进行内存流场数据的原位压缩;
广播单元,用于计算数据偏移量并节点间相互广播;
读写单元,用于将压缩后的流场数据并行地写入单个文件,并存储到磁盘。
本发明的有益效果为:
本发明通过流场数据无损压缩实现了不损失数据精度的同时节省了磁盘空间;采用内存原位数据压缩避免了磁盘IO和充分利用并行资源开展并行压缩显著提高了压缩速度,同时降低了磁盘负荷;将多个并行节点的数据存储到一个文件,可显著降低文件系统的负担。
附图说明
图1为本发明实施例1提供的单文件并行流场原位无损压缩流程图;
图2为本发明实施例2提供的流场计算完成后模型表面压力云图;
图3为本发明实施例2提供的流场压缩后32个节点上8个流场变量的数据长度;
图4为本发明实施例2提供的流场压缩后32个节点数据总长度。
具体实施方式
为了使本领域的技术人员更好地理解本发明的技术方案,下面结合具体实施方式对本发明作进一步的详细说明。
实施例1
本实施例目的在于为计算流体力学软件流场数据输出提供一种并行的原位无损压缩新方法。该方法通过各并行计算节点独立采用内存无损压缩算法实现流场数据原位并行压缩,并采用基于数据偏移的并行文件IO机制实现压缩数据的单个文件磁盘输出。该方法的好处是避免了传统方法额外压缩和解压过程导致的磁盘负载增加问题,还可基于流场数据结构提高数据压缩率,同时能充分利用并行计算资源开展并行压缩提高压缩速度,实现了流场数据快速高效压缩和单个文件磁盘存储。具体而言,本实施例是这样实现的:
请参阅图1,本实施例提供了一种基于单个文件的并行流场原位无损压缩方法,包括如下步骤:
S1:启动并行计算。基于计算机集群作业调度系统,在并行计算机系统上启动共N个计算节点并运行并行流场模拟软件,基于消息传递接口(MPI)创建节点间并行通信域以支持节点间数据通信。
S2:流场计算。节点1到节点N基于并行流场模拟软件开展流场迭代计算。迭代完成后,将流场数据存入每个节点单独创建的内存数据池。
S3:获取流场数据。节点1到节点N分别从内存数据池中取得各自的全部流场数据;每个节点包括M个流场变量,则节点p的第i个流场变量为。
S4:进行原位无损压缩,节点1到节点N分别依次对M个流场变量,采用内存无损浮点数压缩算法进行内存流场数据的原位压缩,节点p的第i个流场变量为,压缩后的数据长度为/>。
S5:计算数据偏移量并节点间相互广播,计算数据偏移量包括如下步骤:
计算节点p上流场数据压缩后总长度Z p :
使用并行通信将节点压缩后数据总长度Z p 进行节点间的相互广播,则每个节点都获得其它所有节点的数据总长度,其中,节点p的第i个流场变量的文件偏移量F p,i 的计算方式为:
;
使用并行通信将文件偏移量F p,i 进行节点间的相互广播,则每个节点都获得所有节点所有流场的偏移量数据
。
S6:使用基于数据偏移的并行文件IO方法将压缩后的流场数据并行地写入单个文件存储到磁盘。另外,为了后续流场分析再次读入压缩文件实施流场数据解压,将文件偏移量也一并写入文件。
以及,本实施例还提供一种基于单个文件的并行流场原位无损压缩系统,包括:
集群作业调度单元,用于在并行计算机系统上启动N个计算节点并运行并行流场模拟软件,基于消息传递接口创建节点间并行通信域以支持节点间数据通信;
计算单元,用于进行流场计算,对节点1到节点N进行基于并行流场模拟软件的流场迭代计算;迭代完成后,将流场数据存入每个节点单独创建的内存数据池;
获取单元,用于获取流场数据,节点1到节点N分别从内存数据池中取得各自的全部流场数据;
压缩单元,用于节点1到节点N分别依次对M个流场变量进行内存流场数据的原位压缩;
广播单元,用于计算数据偏移量并节点间相互广播;
读写单元,用于将压缩后的流场数据并行地写入单个文件,并存储到磁盘。
这样,本实施例通过流场数据无损压缩实现了不损失数据精度的同时节省了磁盘空间;采用内存原位数据压缩避免了磁盘IO和充分利用并行资源开展并行压缩显著提高了压缩速度,同时降低了磁盘负荷;将多个并行节点的数据存储到一个文件,可显著降低文件系统的负担。
实施例2
本实施例目的在于通过上述实施例1的方式进行具体说明,本实施例选择计算流体力学常用的第四届高升力标准模型。计算来流状态为静压17.14KPa,静温289.4K,马赫数0.2,攻角17.05°。流场计算基于NNW-FlowStar软件,湍流计算采用一方程SA湍流模型。共使用32节点并行计算。
落实到本实施例中,所使用的步骤均为上述实施例1所述的方法步骤:
根据上述实施例1的步骤S1,使用Slurm作业调度系统启动32计算节点,并行执行NNW-FlowStar流场模拟软件,基于消息传递接口(MPI)创建包含全部32个计算节点的并行通信域。
根据S2,节点1到节点32基于NNW-FlowStar软件开展流场计算,完成后将流场数据存入各节点创建的内存数据池。计算完成后模型表面压力流场云图如图2所示。
根据S3,节点1到节点32分别从内存数据池中取出各自的全部流场数据,包括密度、速度矢量三分量、压力、层流粘性系数、湍流粘性系数和SA模型变量共8个流场变量。
各节点取得的流场序号与变量名对应关系见表1:
表1 流场序号与变量名对应表
序号 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 |
变量名 | 密度 | X方向速度 | Y方向速度 | Z方向速度 | 压力 | 层流粘性系数 | 湍流粘性系数 | SA模型变量 |
根据S4,节点1到节点32分别依次对8个流场变量,采用内存无损浮点数压缩算法EFF2000进行内存流场数据的原位压缩。32个节点各8个流场变量压缩后的长度见表2,图3也给出了压缩后各流场数据长度示意图。
表2 流场数据压缩后32个节点8个变量数据长度和总长度(单位Byte)
节点编号 | 密度 | x方向速度 | y方向速度 | z方向速度 | 压力 | 层流粘性系数 | 湍流粘性系数 | SA模型变量 | 求和 |
1 | 7702449 | 8868785 | 9386527 | 9329593 | 9186694 | 3814522 | 4736800 | 9328001 | 62353371 |
2 | 7714139 | 8999742 | 9451830 | 9463560 | 8937270 | 3814428 | 4687319 | 9254453 | 62322741 |
3 | 7606593 | 8426811 | 9595050 | 9254367 | 9721011 | 3696869 | 4672647 | 8745003 | 61718351 |
4 | 7783860 | 8833756 | 9362208 | 9511795 | 9328586 | 3825349 | 4784544 | 9408861 | 62838959 |
5 | 7806828 | 9087882 | 9291340 | 9205786 | 9187122 | 3894828 | 4788847 | 9335122 | 62597755 |
6 | 7682348 | 8634754 | 9378243 | 9257630 | 9354503 | 3808827 | 4729976 | 9248765 | 62095046 |
7 | 7815241 | 9016494 | 9343020 | 9171600 | 9290009 | 3908738 | 4826944 | 9442489 | 62814535 |
8 | 7773547 | 8942746 | 9334871 | 9342959 | 9278018 | 3871337 | 4800465 | 9457704 | 62801647 |
9 | 7844002 | 9147625 | 9308469 | 9295037 | 9209001 | 3894196 | 4780052 | 9291411 | 62769793 |
10 | 7800308 | 8953163 | 9311981 | 9366250 | 9124721 | 3881088 | 4793653 | 9397284 | 62628448 |
11 | 7687606 | 8921551 | 9256777 | 9473463 | 8937284 | 3798874 | 4652630 | 9165033 | 61893218 |
12 | 7706169 | 8858380 | 9242273 | 9241596 | 9293882 | 3809961 | 4720892 | 9314639 | 62187792 |
13 | 7880341 | 9174563 | 9348061 | 9310438 | 9137617 | 3906542 | 4806108 | 9321718 | 62885388 |
14 | 7840298 | 9026031 | 9246285 | 9312908 | 9082899 | 3886015 | 4776994 | 9322492 | 62493922 |
15 | 7824565 | 9172275 | 9410726 | 9289660 | 9148667 | 3878467 | 4806580 | 9354638 | 62885578 |
16 | 7857171 | 9025898 | 9290500 | 9254451 | 9107920 | 3894768 | 4799989 | 9367889 | 62598586 |
17 | 7859791 | 8768959 | 9574405 | 9101708 | 9425364 | 3895260 | 4540548 | 8602452 | 61768487 |
18 | 7890803 | 8675544 | 9503130 | 9078501 | 9628714 | 3841161 | 4676331 | 9104733 | 62398917 |
19 | 7710408 | 8712544 | 9454378 | 9455110 | 8945453 | 3745012 | 4701051 | 9158763 | 61882719 |
20 | 7734859 | 8538695 | 9627734 | 9248117 | 9379719 | 3808704 | 4627123 | 8844432 | 61809383 |
21 | 7904931 | 9228388 | 9285597 | 9176723 | 9298038 | 3943541 | 4803052 | 9391796 | 63032066 |
22 | 7664508 | 8308812 | 9521557 | 8905892 | 9517328 | 3789068 | 4431418 | 8281929 | 60420512 |
23 | 7871179 | 9019778 | 9339763 | 9298277 | 9118210 | 3875570 | 4751914 | 9319188 | 62593879 |
24 | 7956906 | 9305359 | 9390706 | 9321670 | 9228797 | 3914746 | 4839738 | 9494043 | 63451965 |
25 | 7736464 | 9132843 | 9558542 | 9594004 | 8712271 | 3804693 | 4713677 | 9285095 | 62537589 |
26 | 7776781 | 8926569 | 9339048 | 9105303 | 9409861 | 3834773 | 4753473 | 9344330 | 62490138 |
27 | 7783786 | 8879867 | 9418923 | 9149000 | 9221416 | 3843620 | 4769381 | 9262455 | 62328448 |
28 | 7713816 | 8763904 | 9520011 | 9362274 | 8837049 | 3760726 | 4682107 | 9211255 | 61851142 |
29 | 7673349 | 8193615 | 9875825 | 8504945 | 9764178 | 3666195 | 4262455 | 8098383 | 60038945 |
30 | 7646354 | 8227497 | 9884301 | 8562900 | 10066428 | 3705696 | 4302684 | 8117176 | 60513036 |
31 | 7556365 | 8098758 | 9444179 | 8786829 | 9451316 | 3698366 | 4416682 | 8298669 | 59751164 |
32 | 7627086 | 8202825 | 9808695 | 8991640 | 9784295 | 3696970 | 4497640 | 8507708 | 61116859 |
根据S5,分别计算32节点上流场数据压缩后的总长度,结果见表2最后一列,图4给出了各节点数据总长度示意图。使用并行通信将所有32个节点数据总长度进行节点间相互广播,使得每个节点获得所有32个节点数据总长度。
计算节点p的第个流场变量的文件偏移量/>,结果见表3。使用并行通信将文件偏移量进行节点间的相互广播,使得每个节点获得所有32个节点上所有8个流场变量的文件偏移量数据。
表3 流场数据压缩后32个节点8个变量文件偏移量(单位Byte)
节点编号 | 密度 | x方向速度 | y方向速度 | z方向速度 | 压力 | 层流粘性系数 | 湍流粘性系数 | SA模型变量 |
1 | 0 | 7702449 | 8868785 | 9386527 | 9329593 | 9186694 | 3814522 | 4736800 |
2 | 62353371 | 70067510 | 79067252 | 88519082 | 97982642 | 106919912 | 110734340 | 115421659 |
3 | 124676112 | 132282705 | 140709516 | 150304566 | 159558933 | 169279944 | 172976813 | 177649460 |
4 | 186394463 | 194178323 | 203012079 | 212374287 | 221886082 | 231214668 | 235040017 | 239824561 |
5 | 249233422 | 257040250 | 266128132 | 275419472 | 284625258 | 293812380 | 297707208 | 302496055 |
6 | 311831177 | 319513525 | 328148279 | 337526522 | 346784152 | 356138655 | 359947482 | 364677458 |
7 | 373926223 | 381741464 | 390757958 | 400100978 | 409272578 | 418562587 | 422471325 | 427298269 |
8 | 436740758 | 444514305 | 453457051 | 462791922 | 472134881 | 481412899 | 485284236 | 490084701 |
9 | 499542405 | 507386407 | 516534032 | 525842501 | 535137538 | 544346539 | 548240735 | 553020787 |
10 | 562312198 | 570112506 | 579065669 | 588377650 | 597743900 | 606868621 | 610749709 | 615543362 |
11 | 624940646 | 632628252 | 641549803 | 650806580 | 660280043 | 669217327 | 673016201 | 677668831 |
12 | 686833864 | 694540033 | 703398413 | 712640686 | 721882282 | 731176164 | 734986125 | 739707017 |
13 | 749021656 | 756901997 | 766076560 | 775424621 | 784735059 | 793872676 | 797779218 | 802585326 |
14 | 811907044 | 819747342 | 828773373 | 838019658 | 847332566 | 856415465 | 860301480 | 865078474 |
15 | 874400966 | 882225531 | 891397806 | 900808532 | 910098192 | 919246859 | 923125326 | 927931906 |
16 | 937286544 | 945143715 | 954169613 | 963460113 | 972714564 | 981822484 | 985717252 | 990517241 |
17 | 999885130 | 1007744921 | 1016513880 | 1026088285 | 1035189993 | 1044615357 | 1048510617 | 1053051165 |
18 | 1061653617 | 1069544420 | 1078219964 | 1087723094 | 1096801595 | 1106430309 | 1110271470 | 1114947801 |
19 | 1124052534 | 1131762942 | 1140475486 | 1149929864 | 1159384974 | 1168330427 | 1172075439 | 1176776490 |
20 | 1185935253 | 1193670112 | 1202208807 | 1211836541 | 1221084658 | 1230464377 | 1234273081 | 1238900204 |
21 | 1247744636 | 1255649567 | 1264877955 | 1274163552 | 1283340275 | 1292638313 | 1296581854 | 1301384906 |
22 | 1310776702 | 1318441210 | 1326750022 | 1336271579 | 1345177471 | 1354694799 | 1358483867 | 1362915285 |
23 | 1371197214 | 1379068393 | 1388088171 | 1397427934 | 1406726211 | 1415844421 | 1419719991 | 1424471905 |
24 | 1433791093 | 1441747999 | 1451053358 | 1460444064 | 1469765734 | 1478994531 | 1482909277 | 1487749015 |
25 | 1497243058 | 1504979522 | 1514112365 | 1523670907 | 1533264911 | 1541977182 | 1545781875 | 1550495552 |
26 | 1559780647 | 1567557428 | 1576483997 | 1585823045 | 1594928348 | 1604338209 | 1608172982 | 1612926455 |
27 | 1622270785 | 1630054571 | 1638934438 | 1648353361 | 1657502361 | 1666723777 | 1670567397 | 1675336778 |
28 | 1684599233 | 1692313049 | 1701076953 | 1710596964 | 1719959238 | 1728796287 | 1732557013 | 1737239120 |
29 | 1746450375 | 1754123724 | 1762317339 | 1772193164 | 1780698109 | 1790462287 | 1794128482 | 1798390937 |
30 | 1806489320 | 1814135674 | 1822363171 | 1832247472 | 1840810372 | 1850876800 | 1854582496 | 1858885180 |
31 | 1867002356 | 1874558721 | 1882657479 | 1892101658 | 1900888487 | 1910339803 | 1914038169 | 1918454851 |
32 | 1926753520 | 1934380606 | 1942583431 | 1952392126 | 1961383766 | 1971168061 | 1974865031 | 1979362671 |
根据S6,使用支持数据偏移并行文件IO方法的HDF5文件格式,将32个节点8个流场变量并行写入单个磁盘文件。另外,为了后续流场分析再次读入压缩文件实施流场数据解压,将压缩数据的文件偏移量共256(32×8)个整数也写入HDF5文件。
通过上述方案,在一种可选的实施场景中,本实施例不采用压缩方法流场文件尺寸为1.367GB,采用本压缩方法流场文件尺寸为1.131GB,压缩率为1.21,压缩时间约为42秒;采用传统压缩方法,如zip压缩软件压缩后流场文件尺寸为1.260GB,压缩率为1.08,压缩时间约为450秒。相比传统方法,本压缩方法压缩率提高12%,压缩时间缩短至9.3%。
以上仅是本发明的优选实施方式,应当指出的是,上述优选实施方式不应视为对本发明的限制,本发明的保护范围应当以权利要求所限定的范围为准。对于本技术领域的普通技术人员来说,在不脱离本发明的精神和范围内,还可以做出若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。
Claims (6)
1.一种基于单个文件的并行流场原位无损压缩方法,其特征在于,包括步骤:
S1:在并行计算机系统上启动N个计算节点并运行并行流场模拟软件,基于消息传递接口创建节点间并行通信域以支持节点间数据通信;
S2:对节点1到节点N进行基于并行流场模拟软件的流场迭代计算;迭代完成后,将流场数据存入每个节点单独创建的内存数据池;
S3:节点1到节点N分别从内存数据池中取得各自的全部流场数据;
S4:节点1到节点N分别依次对M个流场变量进行内存流场数据的原位压缩;
S5:计算数据偏移量并节点间相互广播;
S6:将压缩后的流场数据并行地写入单个文件,并存储到磁盘。
2.根据权利要求1所述的一种基于单个文件的并行流场原位无损压缩方法,其特征在于,在上述步骤S3中,每个节点包括M个流场变量,节点p的第i个流场变量为。
3.根据权利要求1所述的一种基于单个文件的并行流场原位无损压缩方法,其特征在于,在上述步骤S4中,采用内存无损浮点数压缩算法进行内存流场数据的原位压缩,其中,节点p的第i个流场变量为,压缩后的数据长度为/>。
4.根据权利要求1所述的一种基于单个文件的并行流场原位无损压缩方法,其特征在于,在上述步骤S5中,计算数据偏移量包括如下步骤:
计算节点p上流场数据压缩后总长度Z p :
;
使用并行通信将节点压缩后数据总长度Z p 进行节点间的相互广播,则每个节点都获得其它所有节点的数据总长度,其中,节点p的第i个流场变量的文件偏移量F p,i 的计算方式为:
;
其中,F1,1表示节点1的第1个流场变量的文件偏移量,F1,i表示节点1的第i个流场变量的文件偏移量,S1,j表示节点1的第j个流场变量压缩后的数据长度,Fp,1表示节点p的第1个流场变量的文件偏移量,ZK表示第节点k上的流场数据压缩后的总长度;
使用并行通信将文件偏移量F p,i 进行节点间的相互广播,则每个节点都获得所有节点所有流场的偏移量数据
。
5.根据权利要求1所述的一种基于单个文件的并行流场原位无损压缩方法,其特征在于,在上述步骤S6中,使用基于数据偏移的并行文件IO方法将压缩后的流场数据并行写入;还包括将文件偏移量一并写入文件,以为了后续的流场分析再次读入压缩文件实施流场数据解压。
6.一种基于单个文件的并行流场原位无损压缩系统,其特征在于,包括:
集群作业调度单元,用于在并行计算机系统上启动N个计算节点并运行并行流场模拟软件,基于消息传递接口创建节点间并行通信域以支持节点间数据通信;
计算单元,用于进行流场计算,对节点1到节点N进行基于并行流场模拟软件的流场迭代计算;迭代完成后,将流场数据存入每个节点单独创建的内存数据池;
获取单元,用于获取流场数据,节点1到节点N分别从内存数据池中取得各自的全部流场数据;
压缩单元,用于节点1到节点N分别依次对M个流场变量进行内存流场数据的原位压缩;
广播单元,用于计算数据偏移量并节点间相互广播;
读写单元,用于将压缩后的流场数据并行地写入单个文件,并存储到磁盘。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202410097841.2A CN117609169B (zh) | 2024-01-24 | 2024-01-24 | 一种基于单个文件的并行流场原位无损压缩方法及系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202410097841.2A CN117609169B (zh) | 2024-01-24 | 2024-01-24 | 一种基于单个文件的并行流场原位无损压缩方法及系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN117609169A CN117609169A (zh) | 2024-02-27 |
CN117609169B true CN117609169B (zh) | 2024-03-26 |
Family
ID=89948356
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202410097841.2A Active CN117609169B (zh) | 2024-01-24 | 2024-01-24 | 一种基于单个文件的并行流场原位无损压缩方法及系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN117609169B (zh) |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106326514A (zh) * | 2015-07-02 | 2017-01-11 | 成都金景盛风科技有限公司 | 模拟小展弦比飞行器不可压缩旋流场的数值方法 |
CN110502788A (zh) * | 2019-07-18 | 2019-11-26 | 同济大学 | 一种考虑密封条非线性压缩特性的车门变形获取方法 |
CN112613243A (zh) * | 2020-12-16 | 2021-04-06 | 中国科学院深圳先进技术研究院 | 一种流体力学模拟的方法、装置及计算机可读存储介质 |
CN115328387A (zh) * | 2021-05-10 | 2022-11-11 | 华为技术有限公司 | 一种数据压缩方法及装置 |
WO2023085962A1 (en) * | 2021-11-11 | 2023-05-19 | Huawei Technologies Co., Ltd. | Conditional image compression |
CN116225722A (zh) * | 2023-05-08 | 2023-06-06 | 中国空气动力研究与发展中心计算空气动力研究所 | 流场变量的通信方法、装置、终端设备及存储介质 |
CN117150959A (zh) * | 2023-08-31 | 2023-12-01 | 中国科学院力学研究所 | 基于超分辨率重构的流场数据压缩与复原方法 |
-
2024
- 2024-01-24 CN CN202410097841.2A patent/CN117609169B/zh active Active
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106326514A (zh) * | 2015-07-02 | 2017-01-11 | 成都金景盛风科技有限公司 | 模拟小展弦比飞行器不可压缩旋流场的数值方法 |
CN110502788A (zh) * | 2019-07-18 | 2019-11-26 | 同济大学 | 一种考虑密封条非线性压缩特性的车门变形获取方法 |
CN112613243A (zh) * | 2020-12-16 | 2021-04-06 | 中国科学院深圳先进技术研究院 | 一种流体力学模拟的方法、装置及计算机可读存储介质 |
CN115328387A (zh) * | 2021-05-10 | 2022-11-11 | 华为技术有限公司 | 一种数据压缩方法及装置 |
WO2023085962A1 (en) * | 2021-11-11 | 2023-05-19 | Huawei Technologies Co., Ltd. | Conditional image compression |
CN116225722A (zh) * | 2023-05-08 | 2023-06-06 | 中国空气动力研究与发展中心计算空气动力研究所 | 流场变量的通信方法、装置、终端设备及存储介质 |
CN117150959A (zh) * | 2023-08-31 | 2023-12-01 | 中国科学院力学研究所 | 基于超分辨率重构的流场数据压缩与复原方法 |
Non-Patent Citations (2)
Title |
---|
Numerical analysis of flow field characteristics in Three-Z-shaped ultrasonic flowmeter;Jing Yuan Tang等;《Applied mechanics and materials》;20121130;第1829-1834页 * |
旋翼流场计算嵌套网格并行装配方法改进研究;叶靓 等;《空气动力学学报》;20180815;第36卷(第4期);第585-595页 * |
Also Published As
Publication number | Publication date |
---|---|
CN117609169A (zh) | 2024-02-27 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US8676874B2 (en) | Data structure for tiling and packetizing a sparse matrix | |
WO2015124042A1 (zh) | 分布式文件系统列式存储的元数据更新方法、装置、主机 | |
CN113723618B (zh) | 一种shap的优化方法、设备及介质 | |
CN103019855A (zh) | MapReduce作业执行时间预测方法 | |
CN117609169B (zh) | 一种基于单个文件的并行流场原位无损压缩方法及系统 | |
CN107194001A (zh) | 一种列式存储格式文件快速合并方法及其系统 | |
US11030714B2 (en) | Wide key hash table for a graphics processing unit | |
CN112200310B (zh) | 智能处理器、数据处理方法及存储介质 | |
CN116308989B (zh) | 一种全同态快速数论变换的gpu加速方法 | |
CN110516194B (zh) | 基于异构众核处理器的格点量子色动力学并行加速方法 | |
CN116150209A (zh) | 报表计算系统、方法、电子设备及存储介质 | |
Cho | A numerical algorithm for blow-up problems revisited | |
CN113496538B (zh) | 图像特效的生成方法、装置、电子设备及存储介质 | |
Bicer et al. | Improving I/O throughput of scientific applications using transparent parallel compression | |
US9122474B2 (en) | Apparatus and method for reducing overhead caused by communication between clusters | |
CN110619387A (zh) | 一种基于卷积神经网络的通道扩展方法 | |
CN103208093A (zh) | 一种解决gpu渲染大图片负荷过大的方法和装置 | |
CN116451005B (zh) | 基于Spark分布式的栅格代数运算方法、系统及设备 | |
Bicer et al. | A compression framework for multidimensional scientific datasets | |
CN117407793B (zh) | 一种用于大语言模型的并行化策略优化方法、系统、设备及介质 | |
CN116011551B (zh) | 优化数据加载的图采样训练方法、系统、设备及存储介质 | |
CN117972438B (zh) | 一种数据处理方法、系统、设备及存储介质 | |
WO2023123914A1 (zh) | 三维卷积神经网络的握手系统、方法及相关设备 | |
CN112257843B (zh) | 一种基于MobileNetV1网络推理任务的扩展指令集的系统 | |
CN114995754B (zh) | 一种面向科学大数据hdf5单个文件的高性能读写方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |