CSAPP 存储器山数据的测量以及绘制,Cache lab part A:Cache simulator

一、存储器山的数据测量以及绘制

1.存储器山的数据测量(包含我所测试的数据)

这一部分很简单,因为代码已经由CMU提供给大家了,大家只需要简单地修改代码,将结果输出到txt文件即可,然后再用MATLAB或者Python写一个脚本读取该txt文件,然后将结果绘制出来即可。

首先,将结果输出到文件,很简单,这个大家都会。不过这里还是有一个要注意的点,将修改的代码编译时,(由于我是在Linux系统上完成这个实验的),mountain.c这个文件中包含对另外两个自定义的头文件(“clock.h”以及“fcyc2.h)的引用,因此编译时需要执行:

gcc -Og -o my_memory_mountain moutain.c clock.c fcyc2.c

然后会得到一个可执行文件 my_memory_mountain,然后直接执行./my_memory_moutain等待一段时间之后就会得到存储器山的测量结果了。以我自己所测量的结果为例:

首先是原始输出的数据:

其中s1-s15为步长,128m是数据大小,表格结果为读吞吐量。为了便于后期脚本的数据读取与处理,将原始结果人工进行处理,结果如下:

2.存储器山的绘制(包含代码以及结果)

因为我Matlab用得不熟,所以这里是用python的第三方库pyecharts的Surface3D来绘制的存储器山,但是绘制出来的结果不是很理想,因为我看了很久文档都没有弄太明白如何设置颜色的渐变,或者是说将存储器上的不同区域着上不同的色。

其实从pyecharts的官方文档中,我只找到了一个设置颜色渐变的系列配置项,ItemStyleOpts,但是,我设置的时候老出问题,而且好像没有什么效果

先上python的代码(全局配置项当中的VisualMapOpts其实可以忽略,我当时是想设置颜色渐变的,但是没弄出来,所以把这一部分的代码去掉也是没有问题的):

# author Morty
# 2019-8-25
# python 3.6
from pyecharts.charts import Surface3D
from pyecharts import options as opts

class CreateMountain:
    def __init__(self):
        self.data_set = []
        self.gragh = Surface3D()

    def data_process(self):
        with open(r"C:\Users\54235\Desktop\m_data_set.txt", "r") as f:
            data_set_origin = f.readlines()

        for line in data_set_origin:
            for index, item in enumerate(line.split("\t")[:-1], start=0):
                # index即为步长
                if index == 0:
                    read_throughput = int(item[0:-1])
                    flag = item[-1]
                    if flag == "m":
                        read_throughput *= 1000000
                    elif flag == "k":
                        read_throughput *= 1000
                else:
                    size = int(item)
                    self.data_set.append([index, read_throughput, size])
    
    def plot(self):
        self.data_process()
        self.gragh.add(
            # series name
            "",
            # 通过k*k循环展开测出来的数据集
            data=self.data_set,
            # 三维图形的着色效果配置,realistic即为真实感渲染
            shading="realistic"
  • 6
    点赞
  • 34
    收藏
    觉得还不错? 一键收藏
  • 3
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值