Gem5 checkkpoint使用: checkpoint恢复并运行parsec benchmark,运行和checkpoint时不同的新script

简介

Gem5 checkkpoint使用: 如何保存checkpoint,从checkpoint恢复,使用哪一层级的文件夹作为输入,-r 1制定检查点 顺序,并运行parsec benchmark。尤其提供运行和checkpoint时不同的新script的方法。不然每一次restore依旧是运行检查点创建时的脚本,就失去了检查点的加速意义(因为不能通用的跳过系统启动部分,给未知的不同的用途使用)。我们改动了hack_back_ckpt.rcs 在2023年可以使用,可以给任意生成检查点时未知的脚本提供检查点。新的脚本可以直接从这个检查点启动。

生成checkpoint

./build/X86/gem5.opt -d m5out/onlyoneCPUkvmCheckPointDifferRCS20231218  configs/deprecated/example/fs.py --kernel=/home/yz/.cache/gem5/x86-linux-kernel-4.19.83 --disk=/home/yz/.cache/gem5/x86-parsec   --cpu-type=X86KvmCPU   --num-cpus=1  --script=configs/boot/yzhack_back_ckpt.rcS
# kvm 模式如果报错perf的问题,试试下面
#sudo sysctl kernel.perf_event_paranoid=1 

耗时大概十几秒。因为我们用的X86KvmCPU,相当与用的物理机器。X86KvmCPU的结果会不准,但是我们也不关心,因为checkpoint之前的结果我们是需要跳过,不进行统计的。
结果的文件夹内会有一个cpt文件夹。名字是当前tick数。
在这里插入图片描述

restore with checkpoint 并且引入new script

./build/X86/gem5.opt -d m5out/onlyoneCPUkvmCheckPointDifferRCS20231218restore  configs/deprecated/example/fs.py --script=configs/yz2023Nov/small_n2/yzfs_canneal.script --kernel=/home/yz/.cache/gem5/x86-linux-kernel-4.19.83 --disk=/home/yz/.cache/gem5/x86-parsec --checkpoint-dir=m5out/onlyoneCPUkvmCheckPointDifferRCS20231218    -r 1  --restore-with-cpu=X86KvmCPU  --cpu-type=TimingSimpleCPU   --num-cpus=1   --script=configs/yz2023Nov/yzfs_parsec.script

从checkpoint恢复也需要几秒。 --restore-with-cpu=X86KvmCP可以选用尽可能快的,因为这只在恢复这个过程中使用。然后恢复好之后,接下来运行的通过–cpu-type=TimingSimpleCPU指定。

就可以看到进入了 tick 11768729380500,这也是我checkpoint文件夹cpt.11768729380500的名字。
在这里插入图片描述
注意,这里给的目录–checkpoint-dir=m5out/onlyoneCPUkvmCheckPointDifferRCS20231218 是cpt.11768729380500上级目录,不要给到m5out/onlyoneCPUkvmCheckPointDifferRCS20231218/cpt.11768729380500/这一级, -r 1 因为我们只有一个checkpoint文件(夹),所以-r 1 选第一个。
在这里插入图片描述

然后运行新脚本

每一次checkpoint都是fixed disk,意味着我们restore的文件是固定的,脚本命令也是固定的。 restore 时候指定的 --script=configs/yz2023Nov/yzfs_parsec.script并不会自动运行,而只是被加载进去。 但是restore的时候,依旧会执行制造检查点时的脚本命令而忽略恢复时的新加入的不同的脚本命令。

所以我们要在制造检查点的时候就预先判断需要换脚本,逻辑大概如下:

#如果不预判
checkpoint: run script_A
restore: load script but continue run scirpt_A
# what we observe when restore: the script doesn't make sense. always m5 exit.
#如果预判
checkpoint: run script_A  updated script_A to be script_B  run script_B # but script_A=script_B as it is not changed when creat checkpoint 
restore:  continue run scirpt_A, updated script_A to be script_B  run script_B   # but script_B is new as we will provide the new script if we don't provide new script, it will be the same as originial checkpoint's script.
# what we observe when restore: the script_B content is different.

具体的细节会单独有一篇博客讲述,这里就讲两个关键点:

/sbin/m5 readfile > /tmp/runscript
cat /tmp/runscript 
echo "yzzzzzz54oading second new script..."
/sbin/m5 readfile > /tmp/runscript
cat /tmp/runscript
  1. 重复load 来更新成scriptB。 原版的只load了一次,echo的值会不一样。
  2. echo显示
    结果: 当我们./util/term/m5tern 3456 时,输出如下:
    在这里插入图片描述
    这证明了老脚本被执行了。
    在这里插入图片描述
    这证明了新script是成功加载了的。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/254781.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

FinalShell的安装与使用

FinalShell是一款集成了SSH远程登录、SFTP文件传输、MySQL数据库管理、VPS服务器监控等多种功能的全能型服务器管理工具。 以下是在Linux上安装和使用FinalShell的基本步骤 1、下载FinalShell 访问FinalShell的官方网站下载对应的系统的版本。 FinalShell SSH工具,服务器管…

flask 接口处理带有图片和json数据的请求 发送图片到前端的实现

1.flask的request 从flask的源码可以看到flask的可用属性很多,包括data,form,files,header,host等,在我们接收文件传参时需要用到的属性就是form和files。不过具体的使用方式有两种,即:postman发送的和requests模拟发…

ES查询流程

在ES中查询分为两类:1.基于文档ID查询,2.按照非文档ID查询。 基于文档id查询 1.基于文档ID查询 当执行如下查询时: GET /megacorp/employee/1ES在执行上述查询的具体过程如下: 1、客户端向 Node 1 发送获取请求,此…

RocketMQ 顺序消息收发实践

目录 概述局部有序创建 Topic配置代码测试 结束 概述 顺序消息 全局有序:适用于性能不是特别高的场景,但是又要求消息又严格一致的概念。局部有序:适用于性能要求高的场景,想办法通过在设计层面处理有序的消息尽量发送至同一个 T…

Python自动化操作:简单、有趣、高效!解放你的工作流程!

今天跟大家分享一套自动化操作流程解决方案,基于Python语言,涉及pyautogui、pyperclip、pythoncom、win32com依赖包。安装命令为: pip install pyautoguipip install pyperclippip install pythoncompip install win32compyautogui 是一个自…

二级教师属于什么职称

教师的职称评定对于他们的职业发展具有重要意义。教育体系中,教师的职称分为多个等级,其中二级教师是其中的一个重要级别。那么,二级教师属于什么职称呢? 职称的定义。职称是指根据工作性质、职责、难度、能力等因素,对…

I Doc View 多个高危漏洞复现

I Doc View在线文档预览是一款在线文档预览系统。近期出现了多个高危漏洞,因此集中复现一下,有兴趣的童鞋可以收藏一下。#头条首发挑战赛# 1.Upload接口任意文件读取漏洞 1.1 漏洞级别 高危 1.2 漏洞描述 I Doc View存在代码执行漏洞,使…

研究前沿| scNanoCOOL-seq:单分子测序平台的单细胞多组学测序技术

scNanoCOOL-seq 2023年9月12日,汤富酬课题组在Cell Research上发表了题为“scNanoCOOL-seq: a long-read single-cell sequencing method for multi-omics profiling within individual cells”的论文,首次报道了scNanoCOOL-seq单细胞多组学测序技术。该…

深度学习中常见的激活函数

前文介绍 我们在前面了解到了线性回归模型,其实我们可以把线性回归看成一个单个的神经元,它实际上就完成了两个步骤 1.对输入的特征的加权求和 2.将结果通过传递函数(或者激活函数)输出 这里我们提到了传递函数(或者…

如何本地搭建Zblog网站并通过内网穿透将个人博客发布到公网

文章目录 1. 前言2. Z-blog网站搭建2.1 XAMPP环境设置2.2 Z-blog安装2.3 Z-blog网页测试2.4 Cpolar安装和注册 3. 本地网页发布3.1. Cpolar云端设置3.2 Cpolar本地设置 4. 公网访问测试5. 结语 正文开始前给大家推荐个网站,前些天发现了一个巨牛的 人工智能学习网站…

简单搭建一个Python自动化测试框架

1. 安装Python 首先需要安装Python,可以从官网下载对应的版本。安装完成后,可以在终端中输入python来检查是否安装成功。 2. 安装pip pip是Python的包管理工具,用于安装和管理Python模块。可以在终端中输入以下命令来安装pip: …

法大大邀业内大咖剖析汽车名企数智化实战路径

法大大发布中国首部《汽车行业合同数智化白皮书》,聚焦趋势,解读行业数字化转型攻坚战的破局之道;深入内部,剖析名企数字化的探索实践。 长安汽车、蔚来汽车、上汽大通、 东风汽车集团、奥托立夫、长城滨银汽金… 一众名企高层…

LiteClient工具箱:降低成本,减少监管风险

​​发表时间:2023年9月14日 BSV区块链协会的工程团队一直在为即将推出的LiteClient而努力工作,这是一套模块化的组件,可使简易支付验证(SPV)变得更加便利。 借助LiteClient工具箱,交易所可以通过区块头中…

数字化医疗新篇章:构建智能医保支付购药系统

在迎接数字化医疗时代的挑战和机遇中,智能医保支付购药系统的建设显得尤为重要。本文将深入介绍如何通过先进的技术实现,构建一套智能、高效的医保支付购药系统,为全面建设健康中国贡献力量。 1. 引言 随着医疗科技的飞速发展,…

node加密集合(前端加密、后台解密)

文章目录 一、crypto 加解密生成私密钥公钥加密(也可私钥加密)私钥解密(也可公钥解密) 二、node-rsa加解密生成公私秘钥使用公钥加密(也可私钥加密)使用私钥解密(也可公钥解密) 三、…

KSP音频抓包

1. 按照网上其他教程&#xff0c;安装KSP抓音频 Biu~笔记&#xff1a;高通蓝牙ADK&#xff08;38&#xff09;-- KSP in MDE - 大大通(简体站) Biu~笔记&#xff1a;高通蓝牙ADK&#xff08;22&#xff09;--DSP音频链路监听 - 大大通(简体站) <<Biu~笔记&#xff1a;高…

使用java调用python批处理将pdf转为图片

你可以使用Java中的ProcessBuilder来调用Python脚本&#xff0c;并将PDF转换为图片。以下是一个简单的Java代码示例&#xff0c;假设你的Python脚本名为pdf2img.py&#xff1a; import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader…

虚拟展会展览如何搭建,虚拟展会展览有哪些优势

引言&#xff1a; 随着科技的不断进步&#xff0c;虚拟展会展览正逐渐成为企业推广和交流的新方式。那么虚拟展会展览应该如何搭建&#xff0c;虚拟展会展览又能带来哪些好处呢&#xff1f; 一.什么是虚拟展会展览 虚拟展会展览是一种通过网络平台进行的展览&#xff0c;与传…

做PPT必须知道这5个PPT模板网站

做PPT千万不能错过这5个网站&#xff0c;免费下载&#xff0c;各种类型风格很齐全&#xff0c;建议收藏起来。 1、菜鸟图库 https://www.sucai999.com/search/ppt/0_0_0_1.html?vNTYxMjky 菜鸟图库素材非常齐全&#xff0c;设计、办公、图片、视频等素材这里都能找到&#xf…

面试算法58:日程表

题目 请实现一个类型MyCalendar用来记录自己的日程安排&#xff0c;该类型用方法book&#xff08;int start&#xff0c;int end&#xff09;在日程表中添加一个时间区域为[start&#xff0c;end&#xff09;的事项&#xff08;这是一个半开半闭区间&#xff09;。如果[start&…