在 Oracle Cloud Infrastructure 上使用 DataSynapse GridServer 启用金融服务行业分析
银行和金融服务组织正迅速迁移到云来部署关键任务财务分析,这通常需要高性能计算 (HPC) 资源才能在内部使用。越来越多的竞争和法规促使更多公司选择使用云来处理日益增长的财务分析工作负载。
Oracle Cloud Infrastructure (OCI) 提供了一款全面的第二代云基础设施,使银行和金融服务组织能够快速部署云进行财务分析。Oracle 拥有管理和分析客户数据的丰富经验,可帮助他们在云基础设施中提供此类资源。
DataSynapse GridServer 是 TIBCO 的软件产品,是一种高度可扩展的软件基础结构,允许应用服务以虚拟方式运行,不将这些服务与任何特定硬件资源绑定在一起。GridServer 通过能够轻松处理多个请求,以高度可扩展的方式动态地为可用硬件资源预配服务请求。
体系结构
GridServer 在 OCI 中的各种 HPC 集群上进行了测试。这些集群由多种计算实例配置组成,包括裸金属 (bare metal,BM) 和虚拟机 (virtual machine,VM)。这些集群使用 OCI 资源管理器中的 HPC 堆栈进行实例化,该堆栈使用一个 terraform 模板,其中包含将一组实例转变为功能 HPC 集群的各个部分。堆栈可以添加网络文件共享 (network file share,NFS) 卷、额外的块存储卷或其他文件系统(例如 OCI 文件存储服务)。在构建测试 HPC 群集之后,按照软件安装说明安装了 GridServer。
测试的集群基于以下体系结构。
datasynapse-gridserver-oci-architecture.zip
该体系结构具有以下组成部分:
- 区域
Oracle Cloud Infrastructure 区域是一个局部地理区域,包含一个或多个称为可用性域的数据中心。区域独立于其他区域,广阔的距离可以将其分开(跨国家甚至大陆)。
- 可用性域
可用性域是区域中的独立独立数据中心。每个可用性域中的物理资源与提供容错能力的其他可用性域中的资源隔离。可用性域不共享基础设施(例如电源或冷却设备)或内部可用性域网络。因此,一个可用性域出现故障不会影响区域中的其他可用性域。
- 虚拟云网络 (VCN) 和子网
VCN 是您在 Oracle Cloud Infrastructure 区域中设置的可定制软件定义网络。与传统数据中心网络一样,VCN 允许您完全控制您的网络环境。一个 VCN 可以具有多个不重叠的 CIDR 块,您可以在创建 VCN 后对其进行更改。您可以将 VCN 细分为多个子网,这些子网可以限定到区域或可用性域。每个子网包含一系列不与 VCN 中的其他子网重叠的连续地址。创建后可以更改子网的大小。子网可以是公共子网,也可以是专用子网。
- 动态路由网关 (DRG)
DRG 是虚拟路由器,用于为同一区域中的 VCN 之间、VCN 与区域外的网络(例如另一个 Oracle Cloud Infrastructure 区域中的 VCN、内部部署网络或其他云提供商中的网络)的专用网络流量提供路径。
- 站点到站点 VPN
站点到站点 VPN 可以在内部部署网络与 Oracle Cloud Infrastructure 中的 VCN 之间建立 IPSec VPN 连接。IPSec 协议套件在将数据包从源传输到目标之前加密 IP 通信,并在到达时解密通信。
- 内部部署网络
此网络是组织使用的本地网络。它是拓扑的发言人之一。
- 堡垒主机
堡垒主机是一个计算实例,可用作从云外部访问拓扑的安全受控入口点。堡垒主机通常预配在隔离区 (DMZ) 中。利用它,您可以将敏感资源放在无法从云直接访问的专用网络中,从而保护这些资源。拓扑具有已知的单个入口点,您可以定期对其进行监视和审计。因此,您可以避免公开拓扑中较为敏感的组件,同时又不会影响对它们的访问。
- 路由表
虚拟路由表包含将流量从子网路由到 VCN 外部的目标(通常通过网关)的规则。
- 安全列表
对于每个子网,您可以创建安全规则来指定必须允许进出子网的流量源、目标和类型。
- 块存储卷
通过块存储卷,您可以创建、附加、连接和移动存储卷,并更改卷性能,从而满足您的存储、性能和应用要求。将卷连接到实例后,您可以像常规硬盘驱动器那样使用该卷。您还可以断开卷的连接并将其连接到另一个实例而不会丢失数据。
- 身份和访问管理 (IAM)
Oracle Cloud Infrastructure Identity and Access Management (IAM) 是 Oracle Cloud Infrastructure (OCI) 和 Oracle Cloud Applications 的访问控制层。通过 IAM API 和用户界面,您可以管理身份域和身份域中的资源。每个 OCI IAM 身份域代表一个独立的身份和访问管理解决方案或不同的用户群体。
- 对象存储
通过对象存储,可以快速访问任意内容类型的大量结构化和非结构化数据,包括数据库备份、分析数据以及丰富的内容(例如图像和视频)。您可以安全可靠地存储数据,然后直接从互联网或云平台检索数据。您可以无缝扩展存储,而不会降低性能或服务可靠性。将标准存储用于“热”存储,您需要快速、立即和频繁地访问这些存储。将归档存储用于保留很长时间、很少或很少访问的“冷”存储。
创建 GridServer 群集后,使用来自 OpenGamma 库的 Stata-Examples 的案例来执行基准测试。初步测试表明,在单个面向公众的实例上放置了 GridServer 主管、代理和客户端,并在单独的计算实例上放置了引擎,从而实现了性能和价格与性能的最佳组合。对于 GridServer 主管、中介和客户端实例,对 BM 和 VM 配置进行了测试,性能没有观察到的差异。下表提供了已测试的集群的说明。
| 引擎配置 | 每节点引擎数 | 引擎节点 | 所有引擎 |
|---|---|---|---|
| BM.Optimized3.36 | 36,72* | 4-64 | 4608 |
| BM.Standard.E4.128 | 256* | 4-8 | 2048 |
| BM.Standard2.52 | 52* | 4-8 | 416 |
| VM.Standard.E4.Flex | 128* | 4-8 | 1024 |
在测试期间,某些系统上启用或禁用了超线程。启用超线程时获得的结果用星号 (*) 表示。在 OCI 中,物理核心称为 OCPU。默认情况下,GridServer 为每个核心配置一个引擎。启用超线程时,GridServer 会为两个核心线程中的每个核心线程分配一个引擎,将每个节点的可用引擎数量增加一倍。VM 配置 VM.Standard.E4.Flex 可使用可变数量的 OCPU 进行配置。在测试中,我们为每种配置了 64 个 OCPU(启用了超线程的 128 个引擎)。
我们的测试使用 GridServer 进行 25,000 次独特的 OpenGamma 分析,模拟了典型的蒙特卡罗基准测试。从 GridServer 控制台的作业摘要中获取每个测试所用的时间。我们对每个集群进行了测试,首先使用四个引擎进行模拟,然后将每次测试的引擎数量增加一倍,直到使用集群中运行引擎的所有节点。下图显示了基于各种配置实例的集群测试结果。
此处的结果按每秒的评估显示,即群集能够执行蒙特卡罗模拟评估的速度。对于每个基准,此值只是模拟的总数 (25,000) 除以模拟用时(秒)。总的来说,对于测试的每个集群,性能几乎线性扩展,使用的引擎数量。在观察到各种实例配置的相对性能方面,节点性能与每种配置的核心数之间存在强关联,这表明每核心引擎的性能与配置略有不同。已在启用和禁用超线程的情况下测试具有 BM.Optmized3.36 配置的集群。其他形状的测试显示相同的效果,Hyperthreading 是首选的,为了清晰起见,此数据被保留在图表之外。
虽然性能是大规模蒙特卡罗分析的关键因素,但成本也是一个因素。我们通过在下面的图表中绘制 OCI 总成本(使用 Oracle 网站上发布的价格),对上述测试进行了调查。
理想情况下,总模拟成本不应因集群大小而异,但并行效率低下往往随着集群的大小而增加模拟成本。所有业务实践都有一个普遍的假设,即随着性能的提高而进行价格权衡,这并不不同。我们的 OpenGamma 测试展示了基于 AMD EPYC 的配置(BM.Standard.E4.128、VM.Standard.E4.Flex),同时提供了最佳的节点性能和价格性能。我们鼓励客户通过 30 天免费试用在 OCI 上测试财务模型,因为不同的模型可能更适合其他 HPC 配置。


