编者按:英国利兹大学(University of Leeds)计算机学院讲席教授徐洁是分布式系统和可信计算领域国际著名专家,他在面向服务系统工程、资源管理等方面作出了重要贡献,与中国学者合作领导了可信虚拟计算环境等大型基础设施建设,持续推动我国的分布式系统领域研究和人才培养。为此,CCF授予徐洁教授2023年“CCF海外科技人物奖”。在CCCF的专访中,徐洁教授分享了他的学术经历、理念和成功经验,以及对年轻学者的建议。
首先祝贺您获得2023年度“CCF海外科技人物奖”这一殊荣。请问是什么激励您投身分布式系统和可信计算研究领域?
徐洁:首先感谢您的祝贺,也非常感谢CCF对我的科研工作的认可。
谈到研究初衷,这个问题还要追溯到本科时期。1983年,我在本科最后一年的项目中,分析了UNIX操作系统一个版本的源代码,学习研究了如何高效协调和管理各类计算机资源。这段经历激发了我对分布式系统的兴趣,同时也让我意识到优化计算资源对系统效率和成本的重要性。
分布式系统的优势在于支持多租户资源共享,能够高效地挖掘和利用闲置计算能力,从而显著降低成本。然而,随着计算环境和设备多样性的增加,不同系统和平台之间需要无缝协作,这给分布式系统的研究带来了巨大挑战。如何解决异构系统的互操作性和集成问题是这一领域的核心挑战。例如,在分布式系统中,如何保持不同节点之间的数据一致性,如何确保分布式组件之间的协调和同步,都是复杂且关键的问题。
1983~1988年的硕士和博士学习给我提供了重要的机会和平台,让我可以从事对可用性和可靠性有极高要求的真实工业系统的研究。容错和可信计算是任务关键型(mission-critical)应用的必要条件。在此场景下,分布式系统的设计初衷就是保证系统在某些组件出现故障的情况下,依然能够继续无差错地稳定运行。该领域的研究重点是确保系统能够检测、容忍故障并从故障中快速恢复,使其更加健壮和可靠。
任务关键型系统兼顾了安全性和可信度。可信计算研究解决了分布式环境中的数据完整性、机密性、身份验证和防止恶意攻击等问题。同时,可信计算还涉及如何通过构建弹性系统防御网络威胁。
随后,云计算、边缘计算、物联网(IoT)和区块链的兴起为推动分布式系统的研究创造了新的机遇和挑战。这些技术在很大程度上依赖分布式系统领域的基本原理。例如,分布式计算系统要求具备高效的资源扩展能力。随着数据和计算需求的增长,集中式管理系统将面临中心节点瓶颈问题。而分布式系统可以在多台计算机之间均衡地分配工作负载,从而提升系统性能。
2023年10月,梅宏与廖湘科为徐洁(中)颁奖
在您的研究过程中遇到了哪些挑战,您是如何克服这些困难的?
徐洁:在分布式系统和可信计算的研究过程中,我们不可避免地会遇到各种困难和挑战,研究人员通常也会通过多种策略克服这些问题。我想从技术研究的角度来回答这个问题。
1990年,我在英国纽卡斯尔大学(Newcastle University)开始了第一份博士后研究工作。当时,我与软件工程领域的奠基人之一布莱恩·兰德尔(Brian Randell)教授合作。兰德尔教授是复杂分布式系统开发设计方法和技术的先驱,他的主要杰出成果可以追溯到20世纪60年代他在IBM公司的工作。
设计分布式系统本质上非常复杂,因为需要协调多个独立组件、处理异步通信并管理不同节点之间的数据一致性。我们通常使用模块化设计原则(例如递归系统模型)将问题分解为更小的可管理的组件。我们采用仿真工具和数学建模在方案实施之前预测系统行为。
确保分布式系统在某些组件发生故障时也能继续正常运行是一个巨大的挑战。这需要强大的故障检测、隔离和恢复机制。我们开发并实施了冗余、故障切换(failover)策略和恢复算法,例如t/(n-1)版本编程方法和协调性原子操作。我们通常会构造各种故障场景来测试系统,以确保其弹性,同时也会利用形式化的方法验证容错机制的完备性。
在分布式系统中保持数据一致性是另一个挑战,尤其是存在网络分区、延迟或故障的情况下。CAP定理说明了一致性(Consistency)、可用性(Availability)和分区容错性(Partition tolerance)之间的权衡(一个分布式系统最多只能同时满足这三个特性中的两个)。我们通常会根据具体场景选择最合适的一致性模型。例如,在可用性至关重要的系统中,我们通常使用两阶段提交或多版本并发控制(Multi-Version Concurrency Control, MVCC)等算法来管理数据一致性。
还有其他问题,例如系统性能优化、可扩展性以及测试和调试,鉴于时间限制,我就不在此进一步讨论了。
近年来,我们将研究重点集中在两个领域:一是能源效率,二是大规模语言模型训练加速。在云计算和边缘计算领域,分布式系统会消耗大量能源,从而导致运营成本过高和环境污染等问题。我们不仅提出并使用了能源感知调度算法提升能源效率,还探索了新的硬件架构和冷却方法,以降低数据中心能耗。另外,我们还提出了一个用于大规模语言模型训练的三元悖论定理,该定理阐释了在有限的计算资源、模型大小和训练速度之间的权衡关系。此定理指导我们设计并实现了一个高效的面向大模型训练的软件系统。
您认为分布式系统领域未来将如何发展?
徐洁:分布式计算系统的未来发展将受到新兴技术和科技创新突破的推动,包括边缘计算与联邦学习(federated learning)、微服务、量子计算的集成技术、安全和隐私增强的区块链、人工智能等。
人工智能和机器学习将越来越多地集成到分布式系统中,实现决策流程的自动化并优化系统性能。人工智能驱动的分布式系统将能够动态适应不断变化的条件,预测和防止出现故障,并更有效地优化资源分配。自治分布式系统的出现将减少对人工干预的需求。
对容错系统的研究将加速更具弹性的分布式系统的诞生,这类系统可以自动检测、隔离故障并从故障中恢复。未来的系统将具有故障预判和自我修复功能,能够在故障发生前或发生后自动修复,从而提高系统整体可靠性并减少停机时间。
联邦学习通过分布式设备训练机器学习模型,但不共享原始数据。这种需求将推动分布式系统更加关注隐私保护与数据安全,减少数据传输。这种方式在个性化医疗系统、智慧城市等应用中较为普遍。
基于微服务架构的应用将继续增长。微服务和无服务器(serverless)架构使开发人员能够快速地开发、构建和部署应用程序,而无须担心底层基础设施。分布式系统将变得更加模块化和灵活,功能即服务(FaaS)的开发范式也会更加普及,实现计算资源根据需求动态分配。
随着人们对电力能源对环境影响的日益关注,分布式系统的能源效率和可持续性将受到高度重视。英国利兹大学和中国西南交通大学新成立的联合研究中心将重点研究这一领域。未来的分布式系统将通过更好的资源管理、低功耗硬件和智能调度来优化能源效率。绿色计算将推动可持续系统的开发与推广,以最大限度地减少碳足迹。
总之,未来的分布式计算系统将具有更强的数据安全和隐私保护能力、更智能化的自控能力、更环保的运行方式,以及对异构环境和异构硬件更灵活的扩展能力。
对于年轻一代的科研工作者,您有哪些建议或忠告?
徐洁:我自工作以来,带领了许多科研工作者,目前我的科研团队中以年轻科研工作者为主。在当前的科研环境和技术背景下,我对他们有以下几点建议:
1.扎实的学科基本素养。从事分布式系统领域的研究工作,扎实的计算机基础知识是必不可少的,比如操作系统、计算机网络等基本原理必须熟练掌握。此外,领域内一些经典著作的学习也是必不可少的,比如兰德尔撰写的“System structure for software fault tolerance”、安德鲁·特尼博姆(Andrew S. Tanenbaum)与马尔腾·范·斯蒂恩(Maarten van Steen)合作撰写的Distributed Systems: Principles and Paradigms。
2.保持阅读最新论文的习惯。科技创新日新月异,发展迅猛。作为科研人员,应积极关注国际顶尖学术会议,了解最新的研究进展,掌握技术发展方向和趋势。只有如此才有可能实现技术的突破与创新。
3.高效的沟通能力。作为一名合格的科研者,需要具备良好的沟通能力,因为科研工作的推进依赖于与团队成员或业内同行的不断交流和沟通。沟通包括书写和口述两个方面。书写体现在论文发表、项目申请等方面,口述则主要是在会议或论坛上对工作的阐述。
4.勇于面对挑战与失败。不要回避具有挑战性的研究问题。遇到挑战性难题时,应感到开心与兴奋,因为这意味着可以做更有意义的事情。解决难题将有助于对该领域更深入地了解,并可能产生突破。科研成果是不可预测的,失败是科研过程的一部分。分析失败原因,从中吸取教训,并将这些经验应用到未来的工作中,这才是科研的意义。相反,没有失败的科研,反而是经不起时间或实践考验的。
5.积极参与学术交流。科研工作的推进是一个不断交流、学习的过程。交流既包括与导师和团队成员的交流,也包括与业内同行的沟通。因此,鼓励大家积极参与学术会议和各类研究社区活动,与其他研究人员面对面交流,分享自己的研究进展与心得。当然,交流不仅限于对话,阅读也是一种交流。对于年轻的科研工作者,我鼓励在学术论文的研读过程中,寻找机会与论文原作者进行研讨会交流,这种交流方式可以帮助研究人员更深入地了解他人的工作。
6.发现真正问题的能力。大多数时候,发现问题比解决问题更难。作为科研工作者,一定要从一线、企业、社会中发现并提取真正的科研问题,而不是闭门造车。这需要科研工作者有足够的知识积累、专业背景和洞察能力。
7.制定长期规划。科技信息领域不断发展,我们应致力于终身学习,走在领域前沿。虽然专注于眼前的研究目标很重要,但也要设定长期的职业目标。无论一个人的目标是搞学术研究、做行业领袖,还是创业,一个明确的目标能够为其指明努力方向。
我希望年轻一代的科研工作者能够在这快速发展的科技浪潮中有所建树,取得成功。
最后,您想对您所在研究领域的一线科研工作者说些什么,有哪些建议供他们借鉴和参考?
徐洁:对于从事分布式计算和可信任计算的科研工作者们,我有以下几点忠告。这些观点主要基于个人的研究经历和时代背景,希望各位年轻工作者能择其所需,推陈出新。
第一,优先考虑系统设计的安全性和可信性。从系统构建开始,就要将安全性作为核心设计原则,包括数据完整性、信息机密性与可控性、身份验证等。分析潜在的安全漏洞,并实时监控最新的安全威胁。此外,我们还需要探索在不同的安全模型下,如零信任架构,如何提升分布式系统的可靠性、可用性和可信度。
第二,时刻保持学习心态,关注新兴技术。过去二十年,分布式计算和可信任计算领域发展迅速,尤其是从理论研究到工程实践的过渡,以及大规模应用的普及。作为一线科研工作者,应时刻保持对新兴技术的好奇心,拓宽知识广度,例如量子计算、边缘计算、区块链、人工智能、系统芯片(SoC)的软硬件协同设计等。这些技术的发展与分布式系统和可信任计算相辅相成,彼此影响未来发展。
第三,拥抱交叉学科并积极拓展合作。传统单一学科的技术发展已无法满足科技创新的复杂需求,无法为社会创造更多有益价值。例如,与人工智能、网络安全专家合作,他们的科研成果将为分布式系统设计带来创新性解决方案;与医疗、金融、智慧城市等领域专家合作,能帮助我们迅速捕捉领域困点,将可信任的分布式系统应用于这些领域,促进不同研究应用的发展与普及。
第四,兼顾系统的可扩展性与性能。无论是处理更多用户、更大的数据集,还是在更广泛的网络中操作,分布式系统的可扩展性对于实际应用至关重要。这将直接决定系统能否用于工业实践。同时,要考虑系统在扩展时的性能表现。高效的资源管理与任务调度可以最大限度地减少延迟,降低成本开销。通过优化算法和系统设计,实现软件系统的降本增效也非常重要。
第五,为开源社区作贡献。无论是学术界还是工业界的研究者,都应被鼓励拥抱开源、标准化和共享。只有这样,才能推进相关领域的创新与突破,给新一代年轻研究人员更多资源和机会去加入、探索。而且,开源自己的工作,还可以提高科研成果的知名度与影响力,一举双得,何乐而不为呢?
陈 娟
CCF杰出会员、理事、高性能计算专委会常委,CCCF动态栏目编委。国防科技大学教授。主要研究方向为高性能计算、低功耗编译优化等。
juanchen@nudt.edu.cn
CCF推荐
【精品文章】
点击“阅读原文”,加入CCF。