当前位置:首页 > EDA > 电子设计自动化
[导读]  因为NI LabVIEW是数据流编程语言,开发者们可以编写并行的应用程序,这些应用程序可以直接映射到并行的硬件(如多核心处理器和FPGA等)上以获得最优异的性能。这篇白皮书讨论了什么是数据流编程以及为什么说NI Lab

  因为NI LabVIEW是数据流编程语言,开发者们可以编写并行的应用程序,这些应用程序可以直接映射到并行的硬件(如多核心处理器和FPGA等)上以获得最优异的性能。这篇白皮书讨论了什么是数据流编程以及为什么说NI LabVIEW是多核系统编程的首选。

  免费午餐结束了

  近几年来,处理器的速度遭遇到了瓶颈。摩尔定律表明,每隔18~24个月芯片中晶体管的数量就会增加一倍。这在过去的40年里始终是适用的,但是芯片性能却不再保持线性增加了。过去,芯片生产厂商通过增加处理器的时钟速度来提高芯片的性能,如从100~200MHz,再到最近的数GHz的范围。

  但是在今天,由于功耗和散热的限制,通过提高时钟速度来增加性能的方法行不通了。芯片厂商开始转向另一种全新的芯片构架,就是在单芯片上集成多个处理器内核。相对于单核处理器,程序员们可以使用多核处理器完成更多的任务。为了充分利用多核处理器,程序员们需要重新考虑开发应用程序的方法。微软公司的软件设计师Herb Sutter曾说过,对于那些期望最终用户简单的将计算机升级到更快的处理器就可以立即看到软件程序性能提升的开发者而言,“免费午餐结束了”。简而言之,在相当长的一段时间里,软件开发是这样的,但是现在情况不同了。

图1:摩尔定律表明处理器速度不能更快了,所以Intel和AMD等芯片厂商正在转向在单个处理器上集成多个核心的方法。

  顺序执行的程序在处理器的速度提升后将得到性能的改善,将电脑升级到更快的CPU意味着一个序列中每个单独的指令都将运行得更快。为了在多核系统中继续获得性能提升,你需要设计一个在内核间分配任务的应用程序,从本质上说来就是开发并行应用程序来取代顺序执行的程序。

  LabVIEW——一种图形化数据流式编程语言

  在LabVIEW中开发应用程序的主要优势是这种语言有着直观、图形化的特点。在LabVIEW中,用户解决工程问题就像是在纸上画框图一样。现代多核处理器技术使得LabVIEW成为一种更适合的编程工具,因为它有着并行化表达和执行任务的能力。

  LabVIEW的数据流特性使得如果连线中存在着分支,或者是框图中存在并行序列,那么LabVIEW执行机构会尝试着并行的执行程序。在计算机科学术语中,这称为“潜在的并行化”,因为你不需要根据并行运行的需要明确地编写并行代码,编程语言自己会进行一定程度的并行化。

  从单核到双核计算机,理论上讲,获得的性能应该是原来的两倍。但是,与这个极限接近的程度取决于用户应用程序运行的并行化程度。LabVIEW程序员们可以很方便的以并行方式来表示他们的解决方案。对于普通的LabVIEW应用程序而言,如果不考虑多核心编程技术,在不改写代码的情况下,与最初的程序相比,可以获得25%到35%的性能提升,这都是缘于普通LabVIEW程序所具有的并行特性。

  图2是一个简单的应用程序的例子。其中,LabVIEW代码中的分支简化了两个分析任务——一个滤波器操作和一个快速傅立叶变换(FFT),使它们可以在双核机器上并行执行。在图表中没有显示的性能测试代码,它首先在单核模式下(关掉其中的一个核)运行“for loop”一次,然后在双核的模式下运行。因为这两项任务都是计算量很高的,利用任务并行化获得的性能改进为原来的1.8倍。

图2:典型的LabVIEW应用程序,它展示了数据流编程所具有的与生俱来的并行特性。

  基于文本的编程语言如C语言等,在代码中利用特殊标记来表示并行化代码,创建并行任务(也就是创建独立的线程)。管理这些多线程的应用程序将是一个挑战。

  在C语言中,用户必须使用锁操作、互斥量、原子操作和其他高级编程技术来管理同步。当多线程变得难于跟踪调试,通常的编程缺陷便出现了,如下所示:

  1. 由于线程太多而导致效率低下。

  2. 死锁——线程一直在等待某些而不能进行处理。

  3. 竞争状况- 代码运行的时序没有被正确管理,在需要数据时,数据不是没有准备好就是已经被覆盖掉了。

  4. 存储器冲突——与代码中存储器管理相关的问题。

  由于使用C语言进行开发面临的这些挑战,LabVIEW程序员们可以获得比以往更高的效率。

  LabVIEW是利用实时SMP支持,处于“Multicore Ready”软件层的最上层Intel公司定义了用户需要评估的四个软件层次来确定多核系统的可用程度。如果所用的应用程序库和设备驱动不是为多核而设计的,或者操作系统不能够在多个核心上进行负载均衡,那么并行程序在多核心系统上并不会运行得更快。

本站声明: 本文章由作者或相关机构授权发布,目的在于传递更多信息,并不代表本站赞同其观点,本站亦不保证或承诺内容真实性等。需要转载请联系该专栏作者,如若文章内容侵犯您的权益,请及时联系本站删除。
换一批
延伸阅读

凭借其全新的功能丰富的移动交易应用程序,屡获殊荣的经纪商HFM让客户实现触手可及的全方位交易体验。 毛里求斯路易港2022年10月14日 /美通社/ -- 全球多资产经纪商...

关键字: 应用程序 FM 移动应用 ADI

伦敦2022年10月13日 /美通社/ -- Ubuntu Pro是扩展式安全维护和合规订阅服务,目前针对数据中心和工作站已推出公开测试Beta版本。Canonical将按照...

关键字: UBUNTU CANONICAL BSP 应用程序

加拿大政府9月26日表示,从2022年10月1日起,加拿大将取消所有疫情下的旅行限制,包括对乘坐航班和火车乘客的疫苗接种和口罩要求。所有旅行者(无论国籍)从10月1日开始将不必通过ArriveCAN应用程序提交健康信息或...

关键字: ECAN 应用程序 飞机 ARRI

SIXT管理委员会批准整体可持续发展计划,以进一步加快二氧化碳减排和智能新能源出行需求 到2030年, SIXT在欧洲车队中的新能源车将达到70%至90% 投资5000万欧元:公司将大...

关键字: 可持续发展 新能源汽车 应用程序 移动平台

(全球TMT2022年9月22日讯)建筑项目管理软件领域企业InEight Inc.宣布了最新的软件创新,包括范围、设计和资源管理方面的新流程标准化,以及新的进展跟踪功能和创建基准验证型进程预估和时间表的能力。该更新还...

关键字: 软件 进程 应用程序 模板

InEight专注于软件创新的标准化和基准更新,从而提高了效率,增加了项目信心 InEight建筑项目管理平台的最新发展引入了新的设计管理和基准实践,提高了各个项目之间的一...

关键字: 软件 应用程序 进程 移动应用

Sumo Logic可靠性管理为企业领导者提供关键数据,以平衡创新速度和服务可靠性

关键字: LOGIC 应用程序 PEN COM

中国晋城2022年9月7日 /美通社/ -- 希尔顿集团 (NYSE: HLT)今日宣布,晋城古书院希尔顿花园酒店正式开门迎客。作为集团旗下标志性高端精选服务酒店,首次进驻山西省的晋城古书院希尔顿花园酒店,将秉承品牌在全...

关键字: MIDDOT BSP 应用程序 感应器

(全球TMT2022年9月6日讯)近年来美网在提升数字体验方面下了功夫,这背后,作为赛事主办方美国网球协会 (USTA)长期合作伙伴的IBM及其众多数字化解决方案功不可没。很长时间以来,IBM Consulting与美...

关键字: IBM 数字化 应用程序 CODE

洛杉矶2022年8月31日 /美通社/ -- 由INKA Entworks提供的领先云端到端移动应用保护解决方案AppSealing宣布,公司荣获2022年Gartner Hype Cycle应用安全"榜样供应...

关键字: PSE APPS GARTNER 应用程序

电子设计自动化

21260 篇文章

关注

发布文章

编辑精选

技术子站

关闭