Blinder: Partition-Oblivious Hierarchical Scheduling

authors:Man-Ki Y oon, Mengqi Liu, Hao Chen, Jung-Eun Kim, Zhong Shao
Yale University

背景简介

随着现代计算和通信技术的进步,越来越多的趋势是将大量软件应用程序集成到高性能片上系统中,以降低通信和维护的复杂性,同时使它们能够有效地利用公共硬件资源。这种组合要求在集成系统级别上保留为单个子系统建立的属性。特别是对于安全要求较高的关键系统(如航空电子设备、汽车、工业控制系统),在不同临界级别的应用程序之间提供强大的隔离以限制它们之间的干扰是非常重要的,具体来说:保护高优先级应用程序(例如,数字驾驶舱中的仪表盘)来自较低优先级的仪表盘(例如,信息娱乐系统)的故障行为。由于先进的功能,单个子系统变得越来越复杂,这一点越来越具有挑战性。
子系统应用程序之间的隔离是通过资源分区的形式实现的。即:对程序的时间和空间进行划分。

  • 现在我们观察到传统的分层调度方案使得非法信息能够在应该彼此隔离的分区之间流动。由于共享CPU时间的多个线程可以协作影响一个应用的执行进度并推断其中的敏感信息,因此时间分区可以通过改变其时间行为形成算法隐蔽的时间通道。

动机

  • 由于传统的cpu时间分割机制无法从安全角度实现强的时间隔离;其他应用可以感知分区执行中的变化,这使得在时间利用率上彼此完全隔离的分区之间有一个称作算法隐蔽的定时通道。
  • 所以该文章提出了一种运行时算法,即使对手完全控制了分区的计时,该算法也使得分区对其他分区的不同行为不敏感,

算法隐蔽的时间通道

  • 算法隐蔽的时间通道(参见“Avoiding Timing Channels in Fixed-Priority Schedulers”)
  • 简单来讲就是:恶意代码可以利用调度子系统非法传输信息,并且可以通过信息泄露,将阻塞线程视为准备就绪。
  • 举例说明:
  • 如图,当Th阻塞时,T2线程会比T1线程先运行。当Th未阻塞时,T1会比T2先运行。由于只要知道了消息到达的顺序,就有可能会泄露信息。所以当可以控制更高优先级的线程时,就有可能造成消息泄露。

Blinder介绍

  • 本文提出的工具Blinder(运行时调度转换工具),通过保证本地执行状态(即分区本地调度),并且不管全局状态如何变化,都可以保证调度的顺序和时间。以避免攻击者利用算法隐蔽的时间通道泄露信息。

  • 此外,它是模块化的,所以它不需要对全局和本地调度策略进行任何修改,因此可以应用于采用分层调度的各种现有系统。

  • 这篇论文不是一个新的调度规则,而是为当下系统的调度给出一些限制条件。例如:如果此时轮转到任务T1,如果T1此时的任务已提前完成且有其他就绪进程,则此时仍然不运行立刻运行就绪进程,而是通过该工具,对此时的就绪进程进行重新的再排队。通过这个策略,其他任务无法通过调度的时间来判断任务T1的执行情况。

举其中一个例子(算法隐蔽的时间通道)

  • 当ts优先级>tr,存在这样的一种可能,简化模型之后例如:ts发送比特0和发送比特1的cpu使用时间长度不同,则通过tr1和tr2调度的顺序可以判断出ts发送的是什么比特。若发送比特0,tr1会比tr2先执行完成,反之亦然,最后通过tr1末尾的c的值来判断,就可以知道ts发送的比特是多少。

Blinder工具原理

  • 总的来说:使其不受全局和本地调度机制的影响。通过控制何时将任务引入分区来实现这一点。例如:规定task释放/运行 时间。举例:
  • 如上图所示,由于更高优先级任务的到来,抢占了ti1的cpu时间,此时ti1剩余▲y的时间长度未运行,将后续的其他线程的时间长度全部后移一定的时间长度(该时间长度可通过延迟大小分别计算出来)即可。否则,ti2将在ti1后半段前先执行。从而可能导致信息泄露。总的来说,该工具实现了全局调度不会影响到本地调度的顺序,进而避免了信息泄露。

后续

  • 文章后续部分在讨论当面对多种复杂真实的调度情况时,该工具如何计算延迟的时间大小,以及演示了这个实时原型系统的部署,最后评估该工具的性能开销等等。

Blinder: Partition-Oblivious Hierarchical Scheduling论文笔记相关推荐

  1. CCL: Cross-modal Correlation Learning With Multigrained Fusion by Hierarchical Network 论文笔记

    摘要&introduction 大多数现有的基于深度神经网络(DNN)的方法采用两阶段学习框架:第一个学习阶段是为每个模态生成单独的表示,第二个学习阶段是利用跨模态相关学习跨模态公共表示. 现 ...

  2. Hierarchical Graph Network for Multi-hop Question Answering 论文笔记

    Hierarchical Graph Network for Multi-hop Question Answering 论文笔记 2020 EMNLP,Microsoft 365, 这篇文章所提出的层 ...

  3. [论文笔记] Fast Quality Driven Selection of Composite Web Services (ECOWS, 2006)

    Time: 4.0 hours Jae-Ho Jang, Dong-Hoon Shin, Kyong-Ho Lee, "Fast Quality Driven Selection of Co ...

  4. 论文笔记 A Spatial-Temporal Decomposition Based Deep Neural Network for TimeSeries Forecasting

    0 abstract 空间时间序列预测问题出现在广泛的应用中,如环境和交通问题.由于存在特定的空间.短期和长期模式,以及维度的诅咒,这些问题具有挑战性. 在本文中,我们提出了一个用于大规模空间时间序列 ...

  5. 论文笔记 《Selective Search for Object Recognition》

    论文笔记 <Selective Search for Object Recognition> 项目网址:http://koen.me/research/selectivesearch/ 一 ...

  6. GAN for NLP (论文笔记及解读

    GAN 自从被提出以来,就广受大家的关注,尤其是在计算机视觉领域引起了很大的反响."深度解读:GAN模型及其在2016年度的进展"[1]一文对过去一年GAN的进展做了详细介绍,十分 ...

  7. 论文笔记 -- Communication Lower Bound in Convolution Accelerators 卷积加速器中的通信下界

    论文笔记 – Communication Lower Bound in Convolution Accelerators 卷积加速器中的通信下界 @(论文笔记) 文章目录 论文笔记 -- Commun ...

  8. 论文笔记目录(ver2.0)

    1 时间序列 1.1 时间序列预测 论文名称 来源 主要内容 论文笔记:DCRNN (Diffusion Convolutional Recurrent Neural Network: Data-Dr ...

  9. 论文笔记【A Comprehensive Study of Deep Video Action Recognition】

    论文链接:A Comprehensive Study of Deep Video Action Recognition 目录 A Comprehensive Study of Deep Video A ...

最新文章

  1. Java编译那些事儿【转】
  2. ShareEntryActivity java.lang.ClassNotFoundException | Android类找不到问题
  3. 惊心动魄两秒钟——刷X200 SLIC2.1程序
  4. Serverless应用场景
  5. 聊聊高并发(四十)解析java.util.concurrent各个组件(十六) ThreadPoolExecutor源码分析
  6. [蓝桥杯][算法训练VIP]乘积最大(动态规划)
  7. 排序算法(一)--桶排序、冒泡、快排(JAVA)
  8. c语言变量申明和定义区别,C语言中变量定义与声明的区别
  9. 从偶然的机会发现一个mysql特性到wooyun waf绕过题
  10. ContentLoadingProgressBar不显示问题
  11. Nginx 1.5.2 + PHP 5.5.1 + MySQL 5.6.10 在 CentOS 下的编译安装
  12. atomic一定线程安全吗
  13. [算法]bitmap算法
  14. string取某个符号后面的的_String.replace 用的不对性能可能差 10 倍,你用对了吗?...
  15. 三维错切变换矩阵_三维基本几何变换矩阵.PPT
  16. 600度近视眼恢复方法_600度的近视眼,恢复视力要注意
  17. 两个列向量相乘怎么计算_两个矩阵相乘怎么算?
  18. 纹理识别——GLCM空间灰度共生矩阵
  19. 抖音国庆小游戏是如何实现的?带你走近 Cocos
  20. 梯度下降算法的解释及直观展示

热门文章

  1. 如何给老师写信?收到斯坦福/UCL/CMU/NYU/UW的博士offer的经验
  2. 操作系统虚拟存储器实验---Python实现
  3. 【免费SEO工具分享】长尾关键字挖掘器:外贸拓词长尾关键词挖掘工具
  4. SRE运维面试相关高频题库
  5. 【索引】Chapter 1. Algorithm Design
  6. Android中使用Volley开源库进行Http网络请求(GET方式)
  7. 毕业设计-基于微信小程序的疫情防控系统
  8. 镜像底层原理详解和基于Docker file创建镜像
  9. HTML预格式化文本pre标签
  10. mahout使用PFP和FPG算法