Java 和并行计算:Java 开发人员和研究人员 Gilda Garretón 博士访谈

   
作者:Yolande Poirier  
2011 年 6 月发布
Stephen Chin 的照片
Gilda Garretón 博士
 

Gilda Garretón 博士是 Oracle 实验室 VLSI 研究小组的首席工程师。她兼具 Java 和并行计算两方面的专长。作为研究人员,她的工作主要涉及计算机辅助设计 (CAD) 的超大规模集成 (VLSI) 算法。在本访谈中,她与大家分享了她对 Oracle 的 Electric VSLI 设计系统项目和并行趋势 的看法。

她具有智利天主教大学 (PUC) 的文学学士和工程学位,以及瑞士联邦理工学院苏黎世分校 (ETHZ) 的博士学位。她于 2004 年加入 Sun Laboratories,并于 2010 年加入 Oracle。她之前曾就职于智利和瑞士的大学和金融行业。她还参加 Electric VLSI 设计系统开源项目的工作。

她热衷于技术并于 2006 年与人共同创建了 Latinas in Computing 社区,以鼓励拉美女性加入工程领域。

Oracle 技术网: 什么是 Electric VLSI 设计系统项目?

Garretón:Electric VLSI 设计系统是一个开源 VLSI CAD 应用程序,用作新 CAD 算法的研究平台以及硬件测试芯片的研究流程。Electric 在全球广泛用于学术和小企业领域。

CAD 应用程序是适用于超大规模数据集(电路设计)的耗时的工具。凭借这些重要特性,再加上 Electric 完全用 Java 实现的事实,该框架已经成为使用 Java 在多核处理器上应用前沿并行技术的完美环境。Electric 可用于 TLP(线程级并行)和 DLP(数据级并行)研究。在 DLP 方面,有关 CAD 环境线程安全数据库的研究已经完成。在 TLP 方面,已经针对 P+R(布置和路由)、DRC(设计规则检查器)和 ERC(电子规则检查器)工具等 CAD 工具对新的并行引擎进行了测试。

Oracle 技术网: 对于您正在进行的工作,Java 扮演了什么角色,它有什么优势?

Garretón: Java 作为一种高效语言,一直是 Electric 的基础。自 2004 年以来,Electric 一直是一种 Java 框架(在这之前,是用 C 实现的),该语言允许我们在探索新算法的同时可以充分利用 Java 中可用的程序包。

 
“因为 VLSI 领域非常专业,所以人们一般认为在其他领域开发的算法不能很好的适合或应用于这一领域。”
 

Gilda Garretón 博士
Java 开发人员

Java 还打开了与其他 Java 小组和学术界人士进行合作的大门。因为 CS 课程讲授 Java,通过它可以接触到有趣的学术研究领域和许多天才的学生,并因此有机会将其招募进来。我们目前正在与德国卡尔斯鲁厄理工学院 (KIT) 的 Victor Pankratius 博士合作,在该学院 Electric 已被作为研究案例用于 Pankratius 博士的多核软件实验室。

自 2011 年 1 月以来,Electric 已可在 java.net 上获取,因此我们期待在 CAD 工具所覆盖的所有领域有更多的合作。Java 正以前所未有的方式向其他社区提供我们的研究成果。

Oracle 技术网: 您的工作领域非常专业。人们对于该领域主要有什么误解和认知上的不足?

Garretón:因为 VLSI 领域非常专业,所以人们一般认为在其他领域开发的算法不能很好的适合或应用于这一领域。在 Electric 中引入并行性之后,我们就解开了这一误解,因为 TLP 和 DLP 创新计划使我们能够寻找标准方法的替代技术。

对于新进入此领域的软件工程师,可能需要一段时间来针对特定的 CAD 工具对相关的 Electric 组件进行抽象,但一旦完成抽象,开发过程不会比任何其他科学专业领域中的过程更难。在 VLSI 中肯定有些计算机科学主题(如图形理论)比其他主题更具相关性。

Oracle 技术网: 为什么大多数现有软件未利用芯片中已可用多时的多线程功能?

 
“随着 Java SE 6 中新增并发程序包以及 Java SE 7 中新增分叉/合并特性,开发人员有机会更多依赖于现有框架,从而将更多时间专心用于其并行算法的本质。”
 
Gilda Garretón 博士
Java 开发人员

Garretón: 并行编程比较难而且复杂,尤其是必须考虑多核规范(线程数、内核数、末级缓存)时。而且,新的并行硬件架构不断发布,这样就很难仅专注并行任务的软件方面。

并行编程不仅仅是通过将任务分解成多个并行运行的任务而并行执行顺序程序的操作。除非顺序程序本质上是简单并行的,否则可能需要重新编写应用程序来考虑顺序版本中未公开的并发约束和数据依赖性。

对于开发人员,对并行革命开始以来所提供的新并行模式和技术已有一个学习曲线。在此基础之上,还必须考虑 Java 等高效语言提供(或对于此问题,不提供)的特性。随着 Java Platform, Standard Edition (Java SE) 6 中新增并发程序包以及 Java SE 7 中新增分叉/合并特性,开发人员有机会更多依赖于现有框架,从而将更多时间专心用于其并行算法的本质。

自 2010 年 6 月以来,我们一直在新的轻量级并行基础架构上工作来运行 VLSI 任务。该基础架构提供了一个基于任务窃取并行模式的简洁框架以在多核计算机上运行。最近我们测试了 Java SE 7 中新的分叉/合并框架(JSR166y 中并发和集合更新的一部分)。基于我们的初步基准测试,此 Java SE 7 框架是对我们的任务窃取实现的极佳替代,因此我们正期待即将发布的新版本。

对我来说,这只是个时间问题。顺序编程已经存在了数十年,而并行编程只是需要更多时间来趋于成熟。

Oracle 技术网: 除了日常工作之外,您还是一些女性组织的成员,还共同赞助了“Latinas in Computing (LiC)”社区。能否告诉我们您为什么创建这一社区吗?

Garretón: 自从我参加工作以来,一直很难在高科技公司遇到拉丁女工程师,我总是很奇怪为什么很少的女性能够像我一样享受技术并成长于西班牙语社会。当然,女性在高科技领域是少数,但拉丁女性由于其传统的原因,更是少数中的少数。而且,我在智利和瑞士读学位的时候得到过很多帮助和指导,现在是我回报社会的时候了。

因此,我在 2006 年与人共同创建了 Latinas in Computing 社区,作为促进拉丁女性在计算机相关领域的领导力和专业发展的渠道。从那以后,我们在与学院及相关方合作以帮助学生和职业初期的拉丁女性方面取得了极大成功。通过该社区,我们遇到了许多令人鼓舞的天才拉丁女性,我本来只能通过更正式的组织才能认识这些女性。

Oracle 技术网: 下一步您打算做什么?

Garretón: 我是 Grace Hopper 2011 (#ghc11) 的博士论坛联席主席。下一次计算界女性的 Grace Hopper 庆典将于 11 月在俄勒冈州波特兰市举行,这是计算领域女性们见面和联络的极好机会。我希望在这次大会上接触一些 Oracle 技术网的女性。

Oracle 技术网: 感谢您接受采访!

Garretón: 不客气。

另请参见