# @name SMP CPU Affinity
# @desc Check that processes assigned to multiple CPUs complete without errors
# @requires smp
# @setup_requires

SMP_S_FUNC_CPUAFFINITY_NO-LB_CORE1
source 'common.sh';  num_cores=`cat /sys/devices/system/cpu/online`;
echo $num_cores | grep -E '[[:digit:]]+\-' > /dev/null &&
multi_run_processes.sh -s "dd if=/dev/urandom of=/dev/null bs=1M
count=10" -l "-n 10 -a 0x1 -d 0"

SMP_S_FUNC_CPUAFFINITY_NO-LB_CORE2
source 'common.sh';  num_cores=`cat /sys/devices/system/cpu/online`;
echo $num_cores | grep -E '[[:digit:]]+\-' > /dev/null &&
multi_run_processes.sh -s "dd if=/dev/urandom of=/dev/null bs=1M
count=10" -l "-n 10 -a 0x2 -d 0"

SMP_S_FUNC_CPUAFFINITY_LB
source 'common.sh';  num_cores=`cat /sys/devices/system/cpu/online`;
echo $num_cores | grep -E '[[:digit:]]+\-' > /dev/null &&
multi_run_processes.sh -s "dd if=/dev/urandom of=/dev/null bs=1M
count=10" -l "-n 20 -a 0xFFFFFFFF -d 0"

 
multi_run_processes.sh -s "dd if=/dev/urandom of=/dev/null bs=1M count=10" -l "-n 10 -a 0x1 -d 0"
 
# usage:
# multi_run_processes.sh <process list> [<process list2> ...] -v
#   where        -v is an optional flag and when present indicates that priority
#                 of two processes has to be verified using time taken
#                 for process execution
#
#                 process_list= -s "#-separated commands" -l "-n <num_instances>
#                        -a <cpu affinity mask> -d <inter-process start delay>
#                        -p <priority> -r <realtime priority>"
 
-s "dd if=/dev/urandom of=/dev/null bs=1M count=10"
-l "-n 10 -a 0x1 -d 0"
 
 
run_processes.sh -c  "dd if=/dev/urandom of=/dev/null bs=1M count=10" -n 10 -a 0x1 -d 0
 
# usage: run_processes.sh -c <"#-separated commands">
#                  [-n <num_of_instances> ]
#                  [-a <cpu_affinity_mask>]
#                  [-d <delay_in_sec> ]
#                  [-p <priority> ]
#                  [-r <realtime priority> ]
#                  [-w] On first failure, wait for all processes
# if cpu affinity is set, then taskset is used to spawn the processes
 
[-a <cpu_affinity_mask>]
在哪个CPU上运行,二进制就在哪一个上赋值为1
那么例如出现pid 8987's current affinity mask: ff   ff是16进制,转换二进制:11111111,意思就是在8个CPU上运行!
比如说16进制的40,那么转换二进制01000000,意思就是在第7块CPU上运作
 

ltp-ddt smp_cpu_affinity的更多相关文章

  1. LTP随笔——本地调用ltp之ltp4j

    关于ltp本地调用的相关参考请见LTP的Git项目:https://github.com/HIT-SCIR 以下以/home/lion/Desktop路径为例下面教程中出现的具体路径以你实际配置的为准 ...

  2. ZH奶酪:自然语言处理工具LTP语言云调用方法

    前言 LTP语言云平台 不支持离线调用: 支持分词.词性标注.命名实体识别.依存句法分析.语义角色标注: 不支持自定义词表,但是你可以先用其他支持自定义分词的工具(例如中科院的NLPIR)把文本进行分 ...

  3. Eclipse DDT

    http://www.eclipse.org/downloads/ https://github.com/DDT-IDE/DDT/blob/latest/documentation/UserGuide ...

  4. ASP.NET中常用的几个李天平开源公共类LTP.Common,Maticsoft.DBUtility,LtpPageControl

    ASP.NET中常用的几个开源公共类: LTP.Common.dll: 通用函数类库     源码下载Maticsoft.DBUtility.dll 数据访问类库组件     源码下载LtpPageC ...

  5. 很好的一篇讲LTP在编解码中的作用的文章

    原文链接 LONG-TERM PREDICTION by: Adit Aviv       Kfir Grichman introduction: The speech signal has been ...

  6. ASP.NET中常用的几个李天平开源公共类LTP.Common,Maticsoft.DBUtility,LtpPageControl (转)

    ASP.NET中常用的几个开源公共类: LTP.Common.dll: 通用函数类库     源码下载Maticsoft.DBUtility.dll 数据访问类库组件     源码下载LtpPageC ...

  7. 编译哈工大语言技术平台云LTP(C++)源码及LTP4J(Java)源码

    转自:编译哈工大语言技术平台云LTP(C++)源码及LTP4J(Java)源码 JDK:java version “1.8.0_31”Java(TM) SE Runtime Environment ( ...

  8. LTP学习

    下载LTP源码和模型文件: https://github.com/linux-test-project/ltp 官方说明文档 http://ltp.readthedocs.org/zh_CN/late ...

  9. LTP 分词算法实践

    参考链接: https://github.com/HIT-SCIR/ltp/blob/master/doc/install.rst http://www.xfyun.cn/index.php/serv ...

  10. ltp工具使用配置

    ltp是一个比较全的自然语言处理工具,可以用它进行分词.词性标注.语法分析等任务. ---- 准备 下载 下载ltp和ltp4j,在cmake官网下载并安装相应版本的cmake,并且下载ant. 构建 ...

随机推荐

  1. 16 :IDEA快速键

    ctrol+z ctrol+shift+z  重做 复制,粘贴,删除,(行操作,光标放在那里就可以操作,不要全选择) 注:特别:查询出来,文件是可以直接编辑的 crtol+F double +shif ...

  2. python 3.6连接数据库(pymysql方式)

    pymysql 模块可以通过 pip 安装.但如果你使用的是 pycharm IDE,则可以使用 project python 安装第三方模块. [File] >> [settings] ...

  3. 匈牙利算法&模板O(mn)HDU2063

    #include<cstdio> #include<cstring> #define maxn 510 using namespace std; int k,g,b,x,y,a ...

  4. HY 的惩罚 (Trie 树,博弈论)

    [问题描述] hy 抄题解又被老师抓住了,现在老师把他叫到了办公室. 老师要 hy 和他玩一个游 戏.如果 hy 输了,老师就要把他开除信息组; 游戏分为 k 轮.在游戏开始之前,老师会将 n 个由英 ...

  5. Intellij IDEA中如何给main方法赋args

    Intellij IDEA中如何给main方法赋args 程序: package com.otherExample; /** * Created by 谭雪娇 on 2017/3/29. */publ ...

  6. 浅谈关于SQL优化的思路

    零.为什么要优化 系统的吞吐量瓶颈往往出现在数据库的访问速度上 随着应用程序的运行,数据库的中的数据会越来越多,处理时间会相应变慢 数据是存放在磁盘上的,读写速度无法和内存相比 一.观察 MySQL优 ...

  7. Session实现验证码登陆笔记

    1.生成验证码Servlet package com.isit.servlet; import javax.imageio.ImageIO; import javax.servlet.ServletE ...

  8. Getting Started Tutorial from msdn

    Getting Started Tutorial The topics contained in this section are intended to give you quick exposur ...

  9. 牛客提高D2t1 ACGT

    分析 用map维护一下每种字符串当前有几个即可 代码 #include<iostream> #include<cstdio> #include<cstring> # ...

  10. JavaScript 获取随机整数

    Math.random()方法会返回介于 0(包含) ~ 1(不包含) 之间的一个随机数 假如想要拿到0-10之间的数,只需要将该方法的值*10 即Math.random()*10: 假如想要拿到0- ...