- 博客(79)
- 收藏
- 关注
原创 OS-调度
多个程序在并发的情况下执行,最大化CPU利用率,同时要保证一定的公平性五种情况:将进程调度分为非抢占式调度(当前运行的进程不能再运行时才会进行一次调度)和抢占式调度(根据进程的优先级进行跑)可以直接用调度器来进行调度···的过程叫上下文切换,这里的上下文切换用PCB来表示FCFS:First come First Saved,非抢占式SJF:shortesr-Job-First,问题在于不知道具体运行时间RR: Round-Robin,定义一个时间片轮流跑,抢占式Priority Scheduling:选取
2022-12-04 23:03:45 523 1
原创 CDN技术介绍
随着Internet技术和多媒体技术的不断发展,图像、音频、视频服务所占的比重越来越大,加之网民数量激增,网络访问距离过长,导致网络负载迅速增加,从而使用户的访问质量受到严重影响。传统的缓存技术对交互性强和比较大的文件并不支持,因此迫切需要一种新的传输结构来解决这一问题。此外,当用户与网站之间的链路被突发的大流量数据拥塞时,对于异地互联网用户急速增加的地 区来说,访问质量不良更是一个急待解决的问题。而应运而生的CDN(Content Delivery Network,内容分发网络)技术正是针对带宽、响应速度
2022-11-28 00:26:21 1703
原创 OS-process
进程是被加载到内存中、正在运行的程序;多个进程可能对于同一个程序、一个正在运行的OS中会有多个进程进程是程序的一次执行过程,是操作系统分配资源的基本单位作业等同于进程进程的布局:每个进程都有一个不同的栈(函数调用,局部变量)heap:动态分配内存data section:存静态变量text:程序代码。
2022-11-21 00:44:06 556
原创 redis-benchmark工具学习笔记
wrk 是一款针对 Http 协议的基准测试工具,它能够在单机多核 CPU 的条件下,使用系统自带的高性能 I/O 机制,如 epoll,kqueue 等,通过多线程和事件模式,对目标机器产生大量的负载。基本上,所有后端的服务的接入,入口都是 Nginx 或经过 Nginx ,所以它的性能就会尤其重要。测试 Nginx ,主要测试 HTTP 接口的处理能力。WrkLocustJmeter因为测试nginx只关注 QPS(每秒响应请求数) 的,所以选择了 Wrk 作为测试工具。
2022-11-14 01:05:22 238
原创 redis-benchmark工具学习笔记
Redis 全称 Remote Dictionary Server(即远程字典服务),它是一个的键值型非关系(NoSQL)数据库,由意大利人 Salvatore Sanfilippo 使用 C 语言编写。与 SQL 型数据库截然不同,Redis,因为它自带了 16 (0—15)个数据库(默认使用 0 库)。在同一个库中,key 是唯一存在的、不允许重复的。键值存储的本质就是使用 key 来标识 value,当想要检索 value 时,必须使用与 value 相对应的 key 进行查找。
2022-11-08 00:18:24 501
原创 iperf 学习笔记
iperf是一个网络性能测试工具,主要用来测试TCP和UDP的带宽质量。iperf可以报告带宽,延迟抖动和数据包丢失,并支持TCP和UDP。iperf是c/s架构,运行时注意server端有super权限,
2022-11-01 00:03:54 2977
原创 netperf 学习笔记
Netperf测试结果所反映的是一个系统能够以多快的速度向另外一个系统发送数据,以及另外一个系统能够以多块的速度接收数据用来测试批量(bulk)网络流量的性能。
2022-10-26 00:09:04 740
原创 Wi-Fi6介绍
使用 1024-QAM,每个符号携带 10 位而不是 8 位,与 802.11ac 256-QAM 相比,原始速度提高了 25%。这就相当于对道路进行优化,即在不会造成交通混乱的前提下,让这条道路上的车道尽可能的靠近,增加车道数量。
2022-10-17 22:20:27 1870
原创 计算机网络—物理层
物理层的作用是要尽可能地屏蔽掉传输媒体和通信手段的差异,使物理层上面的数据链路层感觉不到这些差异,这样就可以使数据链路层只需要考虑如何完成本次的协议和服务,而不必考虑网络具体的传输媒体和通信手段是什么。
2022-10-01 14:39:23 937
原创 Docker入门(1)
Docker 是一个开源的应用容器引擎,基于 Go 语言 并遵从Apache2.0协议开源。Docker 可以让开发者打包他们的应用以及依赖包到一个轻量级、可移植的容器中,然后发布到任何流行的 Linux 机器上,也可以实现虚拟化。
2022-09-26 16:16:40 368
原创 opentuner_example
二进制文件可以让人轻松编写用户友好的命令行接口compile_result的内部数据run_result的内部数据是一个对象Run the following command to autotune our program(The --no-dups flag hides warnings about duplicate results and the --stop-after parameter specifies that we are running op
2022-09-19 23:34:08 348
原创 sysbench invalid option: --warmup-time =
安装sysbench1.0.18跑脚本时会显示invalid option: --warmip-time=30。http://linux.51yip.com/search/sysbench内没有warmup这个选择,但github的官方文档https://github.com/akopytov/sysbench#general-command-line-options 内有warmup的选项;更换版本为sysbench1.1.0可以解决这个问题。解决方法:版本升级为1.1.0。
2022-09-01 19:35:46 341
原创 XGBOOST拟合过程浅析
XGBoost是一个优化的分布式梯度提升库,旨在高效,灵活和便携。它在梯度提升框架下实现机器学习算法。假设XGBOOST生成了三棵树,将这三棵树进行组合,就会组合出一个公式,这个公式就是最终拟合出的强学习器。对于更加复杂的数据,会拟合出更加复杂的树以及更加复杂的强学习器。XGBOOST由若干个弱学习器构建成强学习器,在python的XGBOOST库中,其默认会生成一百棵树,通过这一百棵树进行组合,组合的结果就是强学习器。举下图的一个简单的例子,就能够明白XGBOOST拟合的过程。以这个简单的数据集为例。
2022-08-22 23:45:02 646
原创 Do not support special JSON characters in feature name.
[LightGBM] [Fatal] Do not support special JSON characters in feature name.经过检查发现原因为:dataframe的列名含有冒号、逗号、引号、空格、方括号和尖括号全局替换为'#'解决问题
2022-08-17 11:32:03 1700
原创 xgboost 与 lgbm
lightgbm算法由微软公司开发,它和xgboost算法一样是对GBDT算法的高效实现,原理上与xgboost算法类似,但树的生长过程不一样,xgboost的生长是level-wise的,即一层一层生长的,而lightgbm是leaf-wise即梯度优先的,同时lightgbm使用直方图算法,先对特征值进行装箱处理,形成一个一个的bins。对于连续特征来说,装箱处理就是特征工程中的离散化:如[0,0.3)—>0,[0.3,0.7)—->1等。...
2022-08-15 00:40:22 2472
原创 [LightGBM] [Fatal] Wrong size of feature_names
通过检查发现,数据集中有一列的列名过长,长度为30,删除这一列后程序能够运行。
2022-08-13 15:08:15 653 1
原创 优化类算法
self.p_best=np.zeros((self.size,self.dimension))#每个粒子最优的位置。self.x=np.zeros((self.size,self.dimension))#所有粒子的位置。self.v=np.zeros((self.size,self.dimension))#所有粒子的速度。self.g_best=np.zeros((1,self.dimension))[0]#全局最优的位置。...
2022-07-25 12:53:51 350
原创 性能之巅第一章读书笔记
系统性能是对整个计算机系统的性能研究,包括主要硬件组件和软件组件系统性能的典型目标是通过减少延时和降级计算成本来改善终端用户的体验系统性能是一项需要多类人员参与的事务,其中包括系统管理员、网站可靠性工程师、应用开发者、网络工程师、数据库管理员、网络管理员和其他支持人员系统性能是主观的、复杂的,而且常常是多问题并存的延时测量的是用于等待的时间,广义地说,它可以表示所有操作完成的耗时。可观测性是指通过观测来理解一个系统,并对完成这一任务的工具进行分类。这包括使用计数器、剖析和跟踪。实验工具大多数是基准测试工具云
2022-07-11 21:16:36 296
原创 opentuner论文翻译
OpenTuner用于构建领域特定的多目标程序自动调谐程序,OpenTuner内部的一个关键功能是同时使用各种不同的搜索技术自动调谐还提供了性能可移植性多目标自动调谐可用于在性能和准确性或其他标准(如能耗和内存使用)之间进行权衡,并提供满足给定性能或服务质量目标的程序自动调谐的三个挑战:第一个挑战是对问题使用正确的配置表示,第二个挑战是有效配置空间的大小,需要使用智能机器学习技术,通过少量的实验来寻求良好的结果。第三个挑战是配置空间的景观,如果搜索空间不连续且随机,则进化算法的性能可能会更好,还需要机器学习
2022-07-03 23:29:26 586
原创 离线学习(岭回归)
离线学习(岭回归)离线学习规则是机器学习领域最常见的学习规则。它包括梯度下降和线性回归,在储层计算领域,线性回归可能是最简单以及最常用的训练人工神经网络的方法线性回归被称为离线学习,是因为线性回归模型的参数是在给定所有可用数据样本和所有可用目标值样本的情况下学习的,一旦模型学习完成,模型不使用整个数据集再次训练就无法更新。具体的离线学习训练算法描述如下:1.选择网络结构,确定输入层的维数Nv、输出层的维数Ny以及储层内部含有的节点个数Nr2.初始化网络,设定Win的初始权值为(-0.1,0.1)的均匀分布。
2022-06-27 12:52:11 578
原创 Git教程学习
Ubuntuwindows网址安装Git 的一般工作流程如下:下图展示了 Git 的工作流程:如下图所示:Git 向仓库中添加文件流程, 如下图所示:用 git init 在目录中创建新的 Git 仓库。 你可以在任何时候、任何目录中这么做,完全是本地化的。在目录中执行 git init,就可以创建一个 Git 仓库了。比如我们创建 gitlearn 项目:添加到暂存区当我们初始化项目后, 在工作区里进行增加, 修改, 删除 文件操作.然后可以通过 git add 将文件添加到暂存区,作为下次提交的
2022-06-05 23:12:28 1368
原创 pandas courses 2
Data Types and Missing ValuesData TypesThe data type for a column in a DataFrame or a Series is known as the dtype.reviews.price.dtype[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-MMVbwaJJ-1653838505975)(C:\Users\83989\AppData\Roaming\Typora\typora-user-imag
2022-05-29 23:35:30 55
原创 pandas course from kaggle (1)
pandas coursesCreating dataDataFrame[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-im0Dt9yi-1653234126011)(C:\Users\83989\AppData\Roaming\Typora\typora-user-images\image-20220514212511660.png)][外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-YatKfbmI-1653234126012)(C:\U
2022-05-22 23:42:34 149
原创 CSAPP-第三章
CSAPP第三章:程序的机器级表示GCC C语言编译器以汇编代码的形式产生输出,汇编代码是机器代码的文本表示,给出程序中的每一条指令。然后GCC调用汇编器链接器,根据汇编代码生成可执行的机器代码程序编码源文件-汇编文件-目标代码文件假设一个C程序,命名为mstore.c。我们使用“-S”选项,就能看到C语言编译器产生的汇编代码linux>gcc -Og -S mastore.c这会使GCC运行编译器,产生一个汇编文件mstore.s,但是不做其他进一步的工作如果我们使用“-c”命令行选
2022-05-15 19:34:07 306
原创 CSAPP-第二章
第二章:信息的表示和处理整数的表示虽然只能编码一个相对较小的数值范围,但是这种表示是精确的浮点数虽然可以编码一个较大的数值范围,但是这种表示只是近似的信息存储大多数计算机使用8位的块,或者字节(byte),作为最小的可寻址的内存单位机器级程序将内存视为一个非常大的字节数组,称为虚拟内存。内存的每个字节都有一个唯一的数字来表示,称为它的地址,所有可能地址的集合就称为虚拟地址空间C语言中一个指针的值是某个存储块的第一个字节的虚拟地址。每个程序对象可以简单地是为一个字节块,而程序本身就是一个字节序列
2022-05-08 23:48:58 485
原创 CSAPP读书笔记
第一章:计算机系统的漫游程序的生命周期:从它被程序员创建开始,到在系统上运行,输出简单的消息,然后终止hello.c程序#include<stdio.h>int main(){ printf("hello world\n"); return 0;}信息就是位+上下文hello程序的生命周期是从一个源程序开始的,即程序员通过编辑器创建并保存的文本文件,文件名是hello.c源程序实际上就是由值0和1组成的位(又称比特)序列每8个位被组织成一组,称为字节每个字节表示程序中
2022-05-03 16:23:09 605
原创 LEETCODE118:杨辉三角
给定一个非负整数numRows,生成「杨辉三角」的前numRows行。在「杨辉三角」中,每个数是它左上方和右上方的数的和。示例 1:输入: numRows = 5输出: [[1],[1,1],[1,2,1],[1,3,3,1],[1,4,6,4,1]]示例2:输入: numRows = 1输出: [[1]]class Solution {public: vector<vector<int>> generate(int numRows)...
2022-04-24 22:21:49 59
原创 力扣买卖股票
解题思路①一次遍历,遍历到第i个结点时,更新下标为0-i的最小值min和最大值max②计算当前结点价格差:prices[i]-min③如果当前结点价格差大于历史最大价格差:datamax,则更新datamax④结束循环,返回datamax代码class Solution {public: int maxProfit(vector<int>& prices) { int max=0; int min=INT_MAX; ...
2022-04-17 23:31:45 132
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人