高性能计算在密码分析与地球环境模拟中的应用
1. 引言
在当今的科技领域,高性能计算在多个关键领域发挥着至关重要的作用,比如密码分析和地球环境模拟。本文将深入探讨两个重要的研究成果:一是对生成器 A5/1 的并行逻辑密码分析,二是地球模拟器中心开发的多尺度地球环境模拟器(MSSG)的高性能计算应用。
2. 生成器 A5/1 的并行逻辑密码分析
2.1 原始密钥与碰撞情况
| LFSR 1 | LFSR 2 | LFSR 3 |
|---|---|---|
| 原始密钥:2C1A7 | 3D35B9 | EEAF2 |
| 碰撞 1:2C1A7 | 3E9ADC | EEAF2 |
| 碰撞 2:2C1A7 | 3D35B9 | 77579 |
通过上述表格可以清晰地看到生成器 A5/1 的原始密钥以及两种不同的碰撞情况。这为后续的密码分析提供了重要的数据基础。
2.2 密码分析方法与成果
为了解决 A5/1 的密码分析问题,专门构建了一个网格系统。尽管解决该密码分析问题耗时较长(从 1 天到 16 天不等),但所有测试都能正确解决。这一成果通过实验证实了在公开可用的分布式计算系统(如 BOINC)中对 A5/1 进行密码分析的可能性。而且,该方法不需要任何特殊硬件,在网页上还提供了对生成器 A5/1 密码分析问题进行编码的 CNFs。
3. 多尺度地球环境模拟器(MSSG)
3.1 开发背景与目标
目前,研究人员致力于使用耦合的大气 - 海洋模型来理解气候/天气系统。地球模拟器中心开发了多尺度地球环境模拟器(MSSG),这是一个耦合的非静力大气 - 海洋 - 陆地通用环流模型,旨在在地球模拟器上实现超高分辨率和高性能计算。当该耦合模型开发完成并能进行各种模拟时,有望为我们提供关于地球系统的更详细信息。
3.2 模型描述
-
大气组件(MSSG - A)
- 由非静力、全压缩通量形式的动力学以及 Smagorinsky - Lilly 类型的参数化组成,用于亚网格尺度混合、表面通量、混合相云微物理、积云对流过程和简单辐射方案。
-
其一组预后方程如下:
[
\begin{align }
&0 = \frac{\partial}{\partial t}\left(\frac{\rho}{G_{13}^ G_{21}^ }\right) + \frac{1}{aG_{13}^ }\frac{\partial}{\partial \lambda}\left(\frac{\rho u}{G_{21}^ }\right) + \frac{1}{a\cos\phi G_{21}^ }\frac{\partial}{\partial \phi}\left(\frac{\rho v\cos\phi}{G_{13}^ }\right) + \frac{\partial}{\partial z}\left(\frac{\rho w}{G_{23}}\right)\
&\frac{\partial}{\partial t}\left(\frac{\rho u}{G_{13}^ G_{21}^ }\right) + \frac{1}{aG_{13}^ }\frac{\partial}{\partial \lambda}\left(\frac{\rho u^2}{G_{21}^ }\right) + \frac{1}{a\cos\phi G_{21}^ }\frac{\partial}{\partial \phi}\left(\frac{\rho uv\cos\phi}{G_{13}^ }\right) + \frac{\partial}{\partial z}\left(\frac{\rho uw}{G_{23}}\right) = -\frac{1}{aG_{13}^ }\frac{\partial P’}{\partial \lambda} + \frac{\rho v}{a}\tan\phi f - \frac{\rho w}{G_{13}^ }\frac{\partial G_{13}^ }{\partial z} + F_r\
&\frac{\partial}{\partial t}\left(\frac{\rho v}{G_{13}^ G_{21}^ }\right) + \frac{1}{aG_{13}^ }\frac{\partial}{\partial \lambda}\left(\frac{\rho uv}{G_{21}^ }\right) + \frac{1}{a\cos\phi G_{21}^ }\frac{\partial}{\partial \phi}\left(\frac{\rho v^2\cos\phi}{G_{13}^ }\right) + \frac{\partial}{\partial z}\left(\frac{\rho vw}{G_{23}}\right) = -\frac{1}{a\cos\phi G_{21}^ }\frac{\partial P’}{\partial \phi} - \frac{\rho u}{a}\tan\phi f - \frac{\rho w}{G_{21}^ }\frac{\partial G_{21}^ }{\partial z} + F_r\
&\frac{\partial}{\partial t}\left(\frac{\rho w}{G_{23}}\right) + \frac{1}{aG_{13}^ }\frac{\partial}{\partial \lambda}\left(\frac{\rho uw}{G_{21}^ }\right) + \frac{1}{a\cos\phi G_{21}^ }\frac{\partial}{\partial \phi}\left(\frac{\rho vw\cos\phi}{G_{13}^ }\right) + \frac{\partial}{\partial z}\left(\frac{\rho w^2}{G_{23}}\right) = -\frac{\partial P’}{\partial z} - \rho g + \frac{\rho u}{a}f\sin\phi + \frac{\rho v}{a}f\cos\phi + F_r\
&\frac{\partial P’}{\partial t} + \vec{v}\cdot\nabla P’ + (\gamma - 1)P’\nabla\cdot\vec{v} = (\gamma - 1)\kappa\nabla^2T + F\
&P = \rho RT\
&G_w^ = \frac{1}{G_{13}^ G_{21}^ }\left(\frac{\rho u}{G_{21}^ }G_{13}^ + \frac{\rho v}{G_{13}^ }G_{21}^ + \rho w\right)
\end{align*}
] - 陆地上,使用桶模型作为简化的陆地模型来计算地面温度和地面湿度。上边界条件设置为瑞利摩擦层,区域版本的侧向边界条件采用海绵型边界条件。区域版本可通过选择目标区域进行单向嵌套,也支持双向嵌套,还可同时选择多个区域进行并行计算。
-
海洋组件(MSSG - O)
- 使用具有 Boussinesq 近似的不可压缩和静力方程。
-
其一组方程如下:
[
\begin{align }
&\frac{\partial c}{\partial t} = -\vec{v}\cdot\nabla c + F_c\
&\frac{\partial T}{\partial t} = -\vec{v}\cdot\nabla T + F_T\
&0 = \frac{1}{r^2}\frac{\partial}{\partial r}(r^2\rho w) + \frac{1}{r\cos\phi}\frac{\partial}{\partial \lambda}(\rho u\cos\phi) + \frac{1}{r\cos\phi}\frac{\partial}{\partial \phi}(\rho v)\
&\frac{\partial u}{\partial t} = -\frac{1}{r\cos\phi}\frac{\partial P’}{\partial \lambda} - \frac{2}{r}v\tan\phi - \frac{2}{r}w\cos\phi f + \frac{\rho v}{r}f\sin\phi - \frac{\rho w}{r}f\cos\phi + F_{\lambda}\
&\frac{\partial v}{\partial t} = -\frac{1}{r}\frac{\partial P’}{\partial \phi} + \frac{2}{r}u\tan\phi - \frac{2}{r}w\sin\phi f - \frac{\rho u}{r}f\sin\phi - \frac{\rho w}{r}f\cos\phi + F_{\phi}\
&\frac{\partial w}{\partial t} = -\frac{\partial P’}{\partial r} - \rho g + \frac{\rho u}{r}f\cos\phi + \frac{\rho v}{r}f\sin\phi + F_r\
&\rho = \rho(c, T, P_0)\
&\frac{dP_0}{dr} = -g\rho_0
\end{align }
] - 海洋组件中,在开放海洋的侧向边界使用海绵层。海洋与陆地之间的侧向边界条件定义为 $\frac{\partial S}{\partial t} = \frac{\partial T}{\partial t} = 0$ 和 $\vec{v} = 0$,底部边界条件采用无垂直速度的 Neumann 条件,上边界条件由风的动量通量、大气观测数据中的热量和淡水通量给出。
-
网格配置
采用阴阳网格系统,其特点是通过重叠的三维两个面板来覆盖球体。该系统可以避免经纬度网格系统中南北极等奇点问题,并且与传统的经纬度网格系统相比,具有增大时间步长的优势。 -
差分方案
- MSSG - A 和 MSSG - O 都使用 Arakawa C 网格。MSSG - A 采用地形跟随垂直坐标和 Lorenz 类型的变量分布,MSSG - O 在垂直方向使用 z 坐标系统。
- 在时间离散化方面,有 2 阶、3 阶和 4 阶龙格 - 库塔方案以及带 Robert - Asselin 时间滤波器的跳跃方案可供选择。MSSG - A 采用 3 阶龙格 - 库塔方案,本研究中 MSSG - O 使用带 Robert - Asselin 时间滤波器的跳跃方案。
-
对于动量和示踪剂平流计算,有多种离散化方案可供选择。本研究中,MSSG - A 使用 5 阶迎风方案,MSSG - O 使用中心差分方案。由于大气中垂直声速比水平速度占主导,大气组件采用水平显式垂直隐式(HEVI)方案;海洋中声速是大气的三倍,采用隐式方法并求解泊松方程:
[
\begin{align }
&\nabla\cdot\vec{G}\cdot\nabla P’ = B\
&B = \frac{1}{r^2}\frac{\partial}{\partial r}\left(r^2\rho G_{r}w\right) + \frac{1}{r\cos\phi}\frac{\partial}{\partial \lambda}\left(\rho G_{\lambda}u\cos\phi\right) + \frac{1}{r\cos\phi}\frac{\partial}{\partial \phi}\left(\rho G_{\phi}v\right)
\end{align }
]
-
代数多重网格方法在泊松求解器中的应用
为了解决上述泊松方程,使用了代数多重网格(AMG)方法。采用的 AMG 库具有以下特点:- 基于聚合型 AMG 开发。
- 作为 Krylov 子空间算法中的预条件器使用。
- 采用不完全 LU 分解(ILU)作为平滑器,即使对于结构不良的矩阵也能显示出良好的计算性能。
- 使用局部 ILU 进行并行化,并保持快速收敛速度。
- 采用无平滑的聚合并带有回溯过程,实现了显著的快速收敛。
3.3 地球模拟器上的实现
-
编码风格
MSSG 由非静力大气、静力/非静力海洋和简化陆地组件组成,代码约 200,000 行,使用 Fortran 90 编写,采用自动分配方案以节省内存大小。使用 MODULE 特性来保持代码的可维护性和可读性,并使用了消息传递接口(MPI - 2)的扩展,以适应地球模拟器的可扩展性。 -
分布架构与通信
架构和数据结构基于域分解方法。在阴阳网格系统中,采用一维分解可能会导致通信成本不平衡。通过对比一维和二维分解(以 16 个进程的分解为例),发现二维分解的通信量更少。因此,MSSG - A 和 MSSG - O 都采用了二维分解。
graph LR
A[一维分解] --> B(通信数据量小但通信次数多)
C[二维分解] --> D(通信量少)
-
节点间/节点内并行架构与向量处理
为了追求高计算性能,采用了三级并行性:节点间并行处理用于分布式内存架构,节点内并行处理用于共享内存架构,向量处理用于单个处理器。节点间使用基于 MPI 的并行性进行通信。节点内操作的微任务化在选择长向量长度时能显著提高性能。为了使 8 个线程的微任务能均衡分担计算负载,需要垂直层和纬度网格点数是 8 的倍数。本研究中,MSSG - A 选择了 32 个垂直层,MSSG - O 选择了 40 个垂直层。
在处理域分解的节点间并行化时,考虑了两种 DO 循环方法来保持循环长度:一种是选择纬度和经度方向作为 DO 循环的轴,采用双循环结构;另一种是将经度和纬度方向的循环轴组合,采用单 DO 循环结构。对比结果显示,无列表结构的单 DO 循环结构性能最佳,但随着循环长度增加,双循环和单循环结构的性能差异减小。由于超高分辨率(循环长度超过 400,对应全球分辨率高于 25km)的要求,最终采用双 DO 循环结构,因为它有望达到与单 DO 循环结构相同的高性能,且编码风格更简单。 -
MSSG - O 中陆地面积的内存和成本降低
通过使用二维域分解,MSSG - O 中无需对陆地进行计算。而在一维域分解中,通常需要对陆地进行计算,这体现了二维分解在节省计算资源方面的优势。
综上所述,无论是生成器 A5/1 的密码分析还是多尺度地球环境模拟器(MSSG)的开发与应用,都展示了高性能计算在不同领域的重要价值和巨大潜力。随着技术的不断发展,相信这些研究将为我们带来更多的突破和新的发现。
4. 性能分析与初步验证
4.1 性能分析
在地球模拟器上对 MSSG 进行了性能分析,重点关注了动力学核心中平流项的计算性能。通过采用二维分解和合理选择向量长度,计算性能得到了较好的表现。当向量长度接近 256 的倍数时,计算性能更佳。
以下是不同向量长度下动力学核心平流项计算性能的对比表格:
| 向量长度 | 计算性能 |
| ---- | ---- |
| 接近 256 倍数 | 良好 |
| 其他长度 | 相对较差 |
同时,在考虑 DO 循环结构时,虽然无列表结构的单 DO 循环结构在性能上表现最佳,但由于超高分辨率的要求,最终选择了双 DO 循环结构。在超高分辨率下(循环长度超过 400,对应全球分辨率高于 25km),双 DO 循环结构有望达到与单 DO 循环结构相同的高性能,且编码风格更简单。
graph LR
A[向量长度接近 256 倍数] --> B(计算性能良好)
C[其他向量长度] --> D(计算性能相对较差)
E[单 DO 循环结构] --> F(性能最佳)
G[双 DO 循环结构] --> H(超高分辨率下性能接近单循环结构且编码简单)
4.2 初步验证
对 MSSG 进行了初步验证,包括预报实验等。通过这些实验,验证了模型的有效性和可靠性。
- 大气组件验证 :MSSG - A 在模拟大气过程中,能够较好地捕捉到大气的动力学特征和物理过程。例如,在模拟云微物理和积云对流过程时,结果与实际观测情况相符。
- 海洋组件验证 :MSSG - O 在模拟海洋过程中,对于海洋的温度、盐度和环流等方面的模拟结果也较为准确。通过与实际海洋观测数据的对比,验证了模型的可靠性。
5. 总结与展望
5.1 总结
本文介绍了两个重要的研究成果:生成器 A5/1 的并行逻辑密码分析和多尺度地球环境模拟器(MSSG)的高性能计算应用。
- 在生成器 A5/1 的密码分析方面,通过构建专门的网格系统,成功实现了对 A5/1 的并行逻辑密码分析。实验证实了在公开可用的分布式计算系统中对 A5/1 进行密码分析的可能性,且该方法不需要特殊硬件。
- 在 MSSG 的开发与应用方面,详细介绍了其大气组件、海洋组件、网格配置、差分方案等模型描述,以及在地球模拟器上的实现方法,包括编码风格、分布架构与通信、节点间/节点内并行架构与向量处理等。通过性能分析和初步验证,证明了 MSSG 在超高分辨率和高性能计算方面的有效性和可靠性。
5.2 展望
- 密码分析领域 :未来可以进一步探索更高效的密码分析方法,提高密码分析的速度和准确性。同时,可以将该方法应用于更多的密码系统,为信息安全提供更有力的保障。
- 地球环境模拟领域 :可以继续优化 MSSG 模型,提高其模拟精度和计算效率。例如,进一步改进网格配置和差分方案,采用更先进的并行计算技术等。此外,还可以将 MSSG 应用于更多的地球环境研究领域,如气候变化预测、自然灾害预警等,为人类应对地球环境变化提供更科学的依据。
总之,高性能计算在密码分析和地球环境模拟领域都具有广阔的应用前景。随着技术的不断发展,相信这些研究将为我们带来更多的突破和新的发现,为人类社会的发展做出更大的贡献。
超级会员免费看
172万+

被折叠的 条评论
为什么被折叠?



