小编lar*_*ary的帖子

了解CYCLE_ACTIVITY.*Haswell性能监控事件

我试图分析英特尔Haswell的CPU(英特尔®酷睿™i7-4900MQ)与自上而下的微架构分析方法(TMAM),在各章B.1和B.4所述,在执行英特尔®64和IA-32架构优化参考手册.(如果需要,我将B.4中描述的Sandy Bridge公式调整为Haswell Microarchitecture.)

因此,我使用Perf执行性能计数器事件测量.有些结果我不明白:

  1. CPU_CLK_UNHALTED.THREAD_P < CYCLE_ACTIVITY.CYCLES_LDM_PENDING

这仅适用于少数测量,但仍然很奇怪.PMU计数是否会停止CYCLE_ACTIVITY.CYCLES_LDM_PENDING

  1. CYCLE_ACTIVITY.CYCLES_L2_PENDING> CYCLE_ACTIVITY.CYCLES_L1D_PENDINGCYCLE_ACTIVITY.STALLS_L2_PENDING>CYCLE_ACTIVITY.STALLS_L1D_PENDING

这适用于所有测量.当L1D高速缓存未命中时,负载会转移到L2高速缓存,对吧?因此早先错过L2的负载也错过了L1.这里没有计算L1指令高速缓存,但是它的大小*_L2_PENDING是100倍甚至1000倍*_L1D_PENDING,可能不是这样.是否分别以某种方式测量了档位/周期?但是有这个公式:

%L2_Bound = (CYCLE_ACTIVITY.STALLS_L1D_PENDING - CYCLE_ACTIVITY.STALLS_L2_PENDING) / CLOCKS

因此CYCLE_ACTIVITY.STALLS_L2_PENDING< CYCLE_ACTIVITY.STALLS_L1D_PENDING假定(公式的结果必须为正).(这个公式的另一个原因是它可能应该CYCLES代替STALLS.但是这不能解决上面描述的问题.)那么如何解释呢?

编辑:我的操作系统:Ubuntu 14.04.3 LTS,内核:3.13.0-65-通用x86_64,性能版本:3.13.11-ckt26

intel performancecounter cpu-architecture cpu-cache perf

5
推荐指数
1
解决办法
635
查看次数

Perf:在 perf stat 输出中 [&lt;n percent&gt;] 记录是什么意思?

perf stat -e <events> <command> 许多不同的事件通常会返回这样的输出

   127.352.815.472 r53003c                                                      [23,76%]
    65.712.112.871 r53019c                                                      [23,81%]
   178.027.463.861 r53010e                                                      [23,88%]
   162.854.142.303 r5302c2                                                      [24,05%]
   ...
Run Code Online (Sandbox Code Playgroud)

百分比记录是什么意思?

performancecounter perf

3
推荐指数
1
解决办法
1296
查看次数

Flink:写入dev/null

我想执行我的Flink Scala程序而不将结果写入文件.无法将结果保存DataSet到a中运行程序DataSink.所以我试过了<result dataset name>.writeAsText("file:///dev/null", WriteMode.OVERWRITE).那没用.发生以下错误:

> java.io.IOException: Output path 'file:/dev/null' could not be
> initialized. Canceling task...    at
> org.apache.flink.api.common.io.FileOutputFormat.open(FileOutputFormat.java:228)
>   at
> org.apache.flink.api.java.io.TextOutputFormat.open(TextOutputFormat.java:77)
>   at
> org.apache.flink.runtime.operators.DataSinkTask.invoke(DataSinkTask.java:187)
>   at org.apache.flink.runtime.taskmanager.Task.run(Task.java:584)     at
> java.lang.Thread.run(Thread.java:745)
Run Code Online (Sandbox Code Playgroud)

有没有办法将DataSink与dev/null路径一起使用?

apache-flink

3
推荐指数
1
解决办法
321
查看次数

Flink:默认分区/改组策略/功能

Flink默认使用哪些策略(散列,排序)对数据集进行缩小/分组(例如groupBy或reduce函数)?Flink使用哪些API函数

  1. 在洗牌步骤中进行分区并
  2. 对分区中的元素进行排序

默认?

apache-flink

3
推荐指数
1
解决办法
1240
查看次数

Flink:内存使用情况

我正在测量Flink中的应用程序(WordCount)的内存使用情况ps -p TaskManagerPID -o rss.然而,结果没有任何意义.因为对于每个数据量(1MB,10MB,100MB,1GB,10GB),所使用的内存量相同.对于10GB数据,测量结果甚至小于10GB.TaskManager是否是测量内存使用量的错误过程?Flink Process Model的哪个进程负责内存分配?

apache-flink

2
推荐指数
1
解决办法
2064
查看次数