人工智能现在是量化研究等领域软件开发的基石。在工作负载激增期间,量化对冲基金经常面临资源浪费和计算资源不足等挑战。
为了解决这些问题,基于云的弹性计算提供了一种有效的解决方案。它缩短了上市时间,灵活地分配资源,并促进了最新硬件技术的采用。
JuiceFS是一款云原生高性能分布式文件系统,可以为量化对冲基金增强人工智能训练,并在云中实现弹性吞吐量。它提供了具有加速缓存的经济高效的存储解决方案,无缝集成了内部部署资产与云部署,并优化了计算资源。
本文将讨论人工智能量化研究中的挑战、弹性计算的好处、弹性环境中的存储痛点,以及JuiceFS如何用创新技术解决这些问题。其目标是为开发基于云的机器学习平台的企业提供见解,帮助他们解决关键数据吞吐量不足的挑战。
一、量化对冲基金面临的挑战:固定的IT资源和波动的工作负载
量化研究使用数学模型分析市场数据,为投资决策提供信息。这是金融领域的一个重要领域,它应用了机器学习等人工智能技术。下图显示了量化公司的每日任务量,黄线表示波动。任务量在工作时间明显增加,在正常办公时间之后下降。
量化企业的任务量
大多数量化对冲基金依赖于数据中心的固定IT资源,包括:CPU、内存和存储。然而,这种设置带来了工作负载波动的挑战:
•当数据中心提供固定的计算能力时,将会发生浪费资源和降低效率的情况,导致资源在低需求时期过剩,而研究人员在高峰时段会经历排队和延迟。研究人员和企业都在努力实现资源利用率和效率的最大化。
•在工作量激增期间计算资源不足:研究人员经常需要大量的计算资源进行大规模验证或验证研究论文。而在工作人员招聘或工作量高峰季节,资源不足成为难题。
•不灵活的扩展时间表:数据中心扩展过程通常需要大约三个月的时间,但硬件短缺可能会将这个时间表延长到六个月。供应链的长时间中断给满足业务需求带来了挑战。
弹性计算为这些挑战提供了一个简单而有效的解决方案。
二、弹性计算在量化对冲基金中的好处
近年来,基于云计算的解决方案在量化对冲基金中获得了显著的发展。通过在云平台上建立他们的研究平台(例如,在AWS云平台上),这些公司从无缝部署和优化的资源利用中受益。
本节探讨弹性计算在量化对冲基金中的优势,重点是缩短上市时间,促进灵活的资源分配,并支持快速采用最新硬件技术。
1、最小化上市时间
基于云的研究平台使量化对冲基金能够快速部署他们的系统,消除了与硬件选择和采购相关的延迟。这种简化的流程加快了对计算资源的访问,加快了研究和开发进程。
2、灵活的资源分配
弹性计算使量化对冲基金能够根据需求动态分配计算资源。研究人员可以很容易地调整资源以满足他们特定的计算需求,无论他们是需要大量的计算能力还是面临低需求期。这种灵活性确保了最佳的资源利用率,消除了传统数据中心中与固定计算能力相关的低效率。
3、成熟企业的混合云方法
拥有现有IDC设施的老牌量化对冲基金公司可以有效地利用混合云战略。通过在平均或低需求时期利用其IDC资产作为固定计算能力,这些公司优化了资源配置。同时,他们可以通过利用云资源增加工作负载来扩展计算能力。这种混合方法最大限度地利用了现有资产,同时利用了云计算提供的可扩展性和成本优势。
4、快速采用最新硬件
弹性计算使量化对冲基金能够通过快速采用最新的硬件来保持领先地位。与传统的硬件采购不同,传统的硬件采购通常涉及三到五年的漫长折旧期,弹性计算允许快速集成尖端硬件设备。这种灵活性使对冲基金能够利用最先进的技术和算法,增强其在市场上的竞争优势。
二、弹性环境中的存储痛点
在弹性环境中,与计算相比,存储带来了更复杂的挑战。虽然计算任务很简单,但在弹性计算过程中,存储数据需要仔细考虑数据保留的问题。此外,在扩展计算资源时,存储系统必须能够处理不断增长的需求,同时保证高可用性和可扩展性,以防止数据丢失或性能下降。
1、痛点1:平衡性能、成本和效率
企业在选择存储解决方案时,通常会考虑三个相互关联的因素:性能、成本和效率。评估不同的选项对于找到最适合特定企业需求的解决方案至关重要。
存储选择的性能、成本和效率
在模型训练阶段,优先考虑高性能存储解决方案。例如,内部部署环境可以使用全闪存阵列或高级硬件(例如,AWS FSx For Lustre)来实现卓越的吞吐量性能。
然而,这些高性能选项的成本较高,因此需要探索用于完整数据归档的低成本存储解决方案。内部部署环境可以从高密度存储解决方案中获益,从而降低成本,而云计算环境可以利用Amazon S3等对象存储服务。
为了在成本和性能之间取得平衡,企业通常会创建两组异构存储环境:
•低成本的全数据归档存储系统
•用于模型训练的高性能存储系统
在这种多存储环境中,管理数据迁移和数据生命周期变得更加复杂,特别是在处理多个区域或云计算环境时。因此,需要一种有效的解决方案来高效地管理存储,同时保证速度和成本效益。
2、痛点2:缓慢的存储系统扩展
由于以下原因,扩展存储系统通常具有挑战性:
•复杂的数据再平衡:可以通过增加更多的硬盘来扩展传统的存储系统的容量。然而,在分布式存储系统中,扩展变得更加复杂。它涉及到数据再平衡,以有效地管理整个存储系统中的所有数据。这个过程确保了数据在多个存储设备之间的有效分配和利用。
•性能影响:存储硬件在性能方面有固有的限制。当一部分硬件容量用于扩展期间的数据迁移时,可能会影响在线应用程序的性能。这种性能下降会影响应用程序有效地提供服务和满足用户期望的能力。
例如,考虑这样一个场景:一个大型存储集群减少到只有三台计算机,每台计算机配备两块硬盘,存储多个数据副本。在分布式系统中,为了保证数据的安全,数据通常被复制多次。在这个场景中,圆形、三角形和菱形表示单独的文件,每个形状在分布式架构中有三个副本。
分布式存储中的三个副本
当存储容量不足时,需要增加新的计算机来扩展存储空间。然而,这不仅仅是驻留在新的计算机上的新数据的问题,必须重新平衡现有数据,以确保有效的数据管理,使用特定的算法将数据从旧位置移动到新位置。此外,硬盘提供的容量是有限的,如果保留一部分用于数据迁移,则无法有效地为在线应用程序操作提供服务。
存储扩展中的数据再平衡
存储可扩展性带来了挑战,而且数据迁移的时机可能像股票市场的时机一样难以预测。在不影响在线操作的情况下确保无缝数据迁移是一项复杂的任务,通常需要经验丰富的专业人员进行人工干预。
除了增加容量之外,在集群中发生硬盘故障时,必须将数据传输到新的硬盘中,同时维护每个数据块的三个副本。因此,即使不进行扩容,大规模存储集群也需要每天进行数据迁移。
在如此具有挑战性的存储系统扩展条件下,存储限制通常会阻碍新算法的实现和研究人员的灵感。
3、痛点3:尽管有可用容量,但性能不足
量化对冲基金通常需要扩展,因为吞吐量性能不足,而不是存储容量不足。
硬盘具有性能限制。当现有硬盘达到其性能极限时,必须增加新的硬盘以满足增加的性能要求。即使拥有足够多的存储容量,许多量化基金仍然需要扩展他们的系统以满足新性能需求。
例如,考虑一个场景,其中需要读取的数据存储在图中圆圈表示的范围内。访问这些数据所需的性能非常高。但是,圆圈对应的硬盘已经达到了性能极限。另一位研究人员现在需要读取存储在同一硬盘上的三角形,但这块硬盘的性能也处于极限。因此,访问三角形数据将明显变慢。
性能不足导致存储扩容,导致存储空间闲置
为了提高性能,三角形中的数据需要迁移到新的硬盘上。这由上图中未突出显示的硬盘表示。
量化对冲基金行业之所以面临这一挑战是因为它依赖于来自市场的原始数据。虽然处理的原始数据量与硬盘容量相比很小,但它可以在多个研究人员之间共享。
即使在存储容量充足的情况下,数据共享和同时访问也会造成性能瓶颈。正是这一特点,促使量化基金寻求像JuiceFS这样的解决方案,以克服其业绩限制。
为在整体性能和成本之间实现更好的平衡,必须将存储与可扩展性能相匹配,特别是在需要热数据生成和极端计算弹性的场景中。
四、JuiceFS如何衡量性能并实现成本效益
当开发商在2017年开始开发JuiceFS时,其目标是为云计算环境设计一个专门的文件存储系统,并且注意到市场上现有的文件存储产品已经过时,有些甚至可以追溯到上世纪90年代,而这些产品仍被广泛应用于量化对冲基金等行业。然而,考虑到基础设施和资源环境的变化,而将JuiceFS的发展与当前环境的发展趋势保持一致是至关重要的。
JuiceFS企业版的架构
JuiceFS架构由三个组件组成:
•元数据引擎
•数据存储
•客户
1、元数据引擎
文件系统是一种用于组织、管理和访问文件和目录的技术。在计算机上,文件系统允许通过文件和目录与存储在物理介质(如硬盘)上的数据进行交互。
例如,在Linux中,在将硬件设备格式化为文件系统之后,可以将其挂载到目录中。这将创建一个包含目录、文件夹和文件的目录树。
每个文件都可以具有指定的权限,并包含元数据,例如创建和修改时间戳。存储技术服务商Juicedata公司开发了一个专门的元数据引擎来存储这些信息。文件系统的性能在很大程度上依赖于该引擎的功能。
2、数据存储
数据存储用于存储文件内容。在过去,管理存储系统涉及数据分块、存储、副本管理和迁移等复杂任务。然而,在云计算环境中,这些复杂性已经被S3之类的服务解决了。因此,当决定在云中构建文件存储系统时,使用S3并扩展其功能。在JuiceFS中,所有文件内容都存储在用户的S3桶中。
3、客户端
JuiceFS客户端提供了一个标准的POSIX接口,并支持像HDFS这样的多个API,使开发人员能够选择最合适的接口。此外,还提供性能可扩展性特性,以满足更高的性能要求。
为了克服S3在执行模型训练或量化分析等任务时在性能和语义方面的限制,JuiceFS充当了一个中间解决方案。它将数据存储在S3中,并提供POSIX和其他API来满足不同的应用程序需求。通过内部优化,JuiceFS达到最佳性能。
4、缓存
JuiceFS结合了缓存来解决量化企业中热数据的吞吐量限制。当用户的GPU计算节点访问数据时,它从S3获取数据并将其存储在JuiceFS缓存中。后续访问由缓存提供,提供类似于全闪存文件存储的性能。JuiceFS缓存是动态可扩展的,提供弹性和可扩展的吞吐量。
它可以与计算节点上的高性能存储相结合,创建多级缓存,进一步提高性能。JuiceFS企业版缓存使用JuiceFS,数据可以经济有效地存储在S3中,同时提供一个加速的缓存层,可以动态扩展吞吐量性能。
为了解决NVMe存储热数据数量有限导致的数据热点问题,采用了缓存分组的方法。用户可以创建多个缓存组来存储和管理热数据,方便用户根据需求进行配置。该方案有效解决了数据热点问题。
JuiceFS企业版中的缓存分组
用户可以定义自己的缓存组或将缓存组分配给每个团队。这提高了热数据性能,并实现了系统的近线性可扩展性。此外,在工作时间之后关闭这些缓存组有助于避免不必要的成本。
5、混合云部署
对于拥有内部部署资产的量化对冲基金,混合云部署选项允许将数据存储在S3中,同时使用内部部署数据中心中的缓存组来加速计算。
JuiceFS混合云部署架构
JuiceFS支持在云计算和内部部署环境中的两个JuiceFS实例之间透明地对用户进行数据复制,而无需任何额外步骤。通过在高性能缓存层中自动存储热数据,JuiceFS确保了对热数据的快速访问,无论任务是在数据中心还是在云中执行。这种方法有效地解决了将现有的内部部署资产与灵活的云部署集成的挑战。
六、结论
JuiceFS为人工智能量化研究提供了一个改变游戏规则的解决方案。通过优化资源利用、加快上市时间、促进无缝扩展和快速采用尖端技术,JuiceFS使企业能够释放其全部潜力,并在人工智能量化研究的动态环境中茁壮成长。