加入收藏 | 设为首页 | 会员中心 | 我要投稿 济宁站长网 (https://www.0537zz.cn/)- 行业智能、边缘计算、专有云、AI硬件、5G!
当前位置: 首页 > 站长资讯 > 传媒 > 正文

强烈建议卸载Adobe Flash

发布时间:2021-01-30 10:04:49 所属栏目:传媒 来源:互联网
导读:美国宇航局(NASA):保持供应链的完整性 2013年,美国国会指令美国宇航局(NASA)改善其供应链风险管理流程,尤其是涉及IT和运营技术方面逾8亿美元的技术采购。 分析技术在帮助NASA遵守这一要求方面起到了重要作用。NASA供应链风险管理(SCRM)服务的负责人Kanitr

美国宇航局(NASA):保持供应链的完整性

2013年,美国国会指令美国宇航局(NASA)改善其供应链风险管理流程,尤其是涉及IT和运营技术方面逾8亿美元的技术采购。

分析技术在帮助NASA遵守这一要求方面起到了重要作用。NASA供应链风险管理(SCRM)服务的负责人Kanitra Tyler表示,关键是这家航空航天研究机构采用了Interos公司基于人工智能的供应链风险管理工具,以提供分析和洞察力。他说:“我们在这个工具上取得的成功最终促使我们的计划成为整个宇航局的共享服务。”

SCRM集中审查的产品清单让NASA内部的所有中心和任务主管都可以共享该平台收集的信息,同时仍可以使用他们各自的风险管理流程,根据各自的风险状况和承受力做出是否购买的决策。

Tyler说:“保持供应链的完整性对NASA来说至关重要。我们对来自敏感国家的产品和部件有限制,对假冒或安全差的产品奉行零容忍政策。对供应链保持这种可见性并非一直很容易。”

Tyler表示,由于新冠疫情对全球各地的供应链构成了重大挑战,迅速有效地应对混乱这一要求变得比以往任何时候都来得重要。

“疫情还加大了出现风险的可能性,尤其在次级供应商层面。我们已经能够利用分析技术,通过提供多层多因子可见性,实时评估宇航局在疫情期间的整条供应链,从而有效地应对这些风险。”他说。

NASA保持供应链的完整性历来手动完成,每个分析师逐一调查供应商。Tyler说:“为了跟上技术变革不断加快的步伐,我们知道自己需要某种技术,以便提供更大的可见性,腾出人力资源,并使我们能够将自己的产品和专业服务方面的信息和分析结果持续地提供给我们的各项计划。”

风险管理服务的目标是事先识别和降低风险,使NASA的各项计划能够专注于其目标,没必要担心IT部件的安全性和完整性。

NASA利用Interos平台提供的分析结果,已经能够实现流程自动化,大大提高了供应链的可见性。

Tyler说:“机器学习提供的分析功能为我们在这方面节省了大量时间,使我们能够自动持续地处理大部分工作,腾出人力资源,在需要时进行有针对性的深入调查。”
 

讲到单线程和多线程,还需要讲下异步IO和多线程之间的区别:

  • 异步IO是单线程,而多线程顾名思义就是多线程。
  • 异步IO和多线程的区别在于它们的机制不一样,多线程使用的是抢占式多任务处理(Pre-emptive Multitasking) 。在这种抢占式环境下,操作系统本身具有掌控所有任务(也就是程序)的能力,能随心所欲地剥夺每个任务的时间片来提供给其他任务,也就是有一个幕后大boss掌控一切。而异步IO的机制为协作式多任务处理(Cooperative Multitasking), 这种机制没有幕后大boss,在协作式环境下,每个任务被调度的前提是当前任务主动放弃时间片。
  • 异步IO的核心是协程(Coroutine),这个是多线程不具备的。协程是一种轻量级线程,它是一种特殊的生成器函数,它可以在return语句被执行前停止该函数当前正在执行的任务,并且能在一段时间内间接地将执行权交给另外一个协程函数。协程强调的是合作,而不是多线程强调的抢占,asyncio是Python中唯一支持协程的标准库。

4. 并发(Concurrent) VS 并行 (Parallesim)

并发是一个笼统的概念,在Python里,在逻辑上同时发生的任务有多种称谓:多线程,异步IO(多任务),多进程,它们都是并发的一种。深入地说,只有调用多核CPU的多进程(Multiprocessing)是用来处理在物理上同时发生的任务的,这个叫并行。基于单核CPU的多线程和异步IO(多任务)同一时间内只能处理一件事件(但是它们有自己独特的机制来加快处理不同事件的能力),这个叫做并发。

借用某知乎网友举的例子来说明同步、并发、并行三者之间的区别。

当你吃饭的时候突然有人给你打电话,如果此时你:

  • 不接听电话,继续吃饭,等把饭吃完过后再来回电话,这个叫做同步。
  • 接听电话后放下筷子停止进食,等通话完毕后再接着吃,这个叫做并发。
  • 接听电话的同时继续进食,这个叫做并行。

综上,并行是并发的一种,但是并发并不等于并行。

5. I/O密集型(I/O bound) VS CPU密集型(CPU bound)

I/O密集型(I/O bound) 是指不会特别消耗 CPU 资源,但是I/O比较频繁的任务和操作,比如文件的读写、网络通信、数据库访问等等。

CPU密集型(CPU bound)是指需要大量耗费CPU资源的任务和操作,比如计算、解压缩、加密解密等等。

异步和多线程适合I/O密集型场景, 多进程适合CPU密集型场景。

上述内容可以归纳总结成下表:

  • 并发类型切换机制CPU数量适用场景代表Python库多线程(抢占式多任务处理)操作系统决定何时切换任务1个I/O密集型_thread(已淘汰), threading,
  • cocurrent.futures, nornir异步(协作式多任务处理)任务本身决定何时切换1个I/O密集型asyncio, netdev, aiohttp, aioping, gevent,
  • tornado, twisted多进程 (并行)所有任务同时运行多个CPU密集型multiprocessing

好了,说了那么多下面进入本篇正文:concurrent.futures。

(编辑:济宁站长网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读