自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(146)
  • 收藏
  • 关注

原创 dpdk example

摘要:DPDK运行helloworld程序的关键参数解析:-l指定CPU核心使用范围,-n设置内存通道数,--file-prefix避免多进程冲突。运行日志显示成功检测到2个CPU核心和1个NUMA节点,程序在指定核心上打印"hello"消息。源码使用VFIO驱动实现,包含多进程通信socket创建等初始化过程。这表明DPDK环境配置正确,基础功能运行正常。

2025-09-05 14:10:08 373

原创 dpdk 环境搭建

本文介绍了在Ubuntu 22.04.1环境下配置和编译DPDK 22.11.9的过程。主要内容包括:VMware虚拟机中添加多队列网卡设置;新旧版本DPDK的编译方法对比,新版本使用Meson构建系统;运行时环境配置,如挂载hugetlbfs、设置大页内存等。文档提供了详细的命令行操作和参数说明,并配有相关截图说明关键配置步骤。

2025-09-05 09:26:19 325

原创 bash的配置文件,source

source不创建子进程,bash创建子进程。配置文件脚本:用source。普通脚本:用bash。

2025-06-22 14:53:06 294

原创 shell脚本--条件判断

shell脚本--条件

2025-06-22 00:07:47 170

原创 shell脚本--变量及特殊变量,算术逻辑运算

变量是存储数据的容器,其类型可分为普通变量、环境变量和局部变量。变量命名需遵循规范,定义方式影响其作用域。动态语言变量类型灵活,静态语言需提前声明。双引号赋值能保留多行格式,不加引号则自动合并为单行。强弱类型区别在于是否允许隐式类型转换。这些特性决定了变量在程序中的使用方式。

2025-06-20 21:51:39 292

原创 shell脚本

脚本语言基础与应用摘要 脚本语言采用解释执行方式,与Java等编译型语言不同,具有快速开发优势。其基本结构包含shebang机制(如#!/bin/bash),用于指定解释器路径。在Linux系统中,可通过"./a.sh | bash"命令执行脚本,或将脚本保存为镜像文件。脚本语言广泛用于自动化任务、系统管理等领域,因其无需编译、修改灵活的特点而受到欢迎。执行方式上,脚本语言是逐行解释运行,而编译型语言需先转换为机器码。

2025-06-19 23:13:38 178

原创 muduo库源码分析: One Loop Per Thread

当该TcpConnection对象注册到SubEventLoop之后,这个TcpConnection对象的任何操作(包括调用用户自定义的连接建立后的处理函数。)都必须要在这个SubEventLoop线程中运行,所以TcpConnection::connectEstablished()函数必须要在SubEventLoop线程中运行。那么我们怎么。

2025-04-12 21:07:33 993

原创 muduo库源码分析: TcpConnection

muduo库源码分析: TcpConnection

2025-04-12 19:21:01 441

原创 Linux内存管理--fork为例

创建一个新的进程涉及多个步骤,每个结构体和内存区域的分配方式不同,我们详细拆解 fork() 时的内存分配流程,并分析 task_struct、mm_struct、页表、堆栈、物理内存 分别从哪里申请。(进程描述符)用于存储进程的基本信息,如 PID、优先级、状态等。(内存描述符)存储了进程的虚拟地址空间信息,包括堆、栈、代码段等。页表(Page Table)是进程的虚拟地址到物理地址的映射数据结构。用户进程的虚拟地址访问时,Linux 采用按需分配(Demand Paging)策略,物理页的申请流程如下:

2025-03-09 20:12:17 969 1

原创 muduo库源码分析:TcpConnection 类

muduo库源码分析:TcpConnection 类。

2025-03-05 16:16:06 486

原创 muduo库源码剖析:定时器TimeQueue相关

muduo库源码剖析:定时器TimeQueue相关

2025-03-05 16:10:48 279

原创 muduo库源码分析

1. 功能概述:- Channel类主要负责一个文件描述符的事件分发。它与一个文件描述符相关联,并封装了该文件描述符上的 I/O 事件及其对应的回调函数。- 它将底层的 I/O 复用机制(如epoll)与用户的业务逻辑进行解耦,使得用户可以专注于处理特定文件描述符上的事件,而无需关心底层的 I/O 复用细节。2. 工作原理:- Channel在构造时会关联一个文件描述符和一个EventLoop对象。它会在EventLoop中注册对特定事件(如可读、可写、异常等)的关注;

2025-03-04 20:21:05 997

原创 Reactor模式(单/主从)

优缺点优点:逻辑简单,避免业务阻塞I/O缺点:Reactor单线程可能成为I/O瓶颈(每秒处理10万+请求时)线程切换开销大(I/O线程与Worker线程频繁切换)适用场景:中小型系统(如API网关、低频交易系统)

2025-02-19 22:27:57 631

原创 Redis基础--常用数据结构的命令及底层编码

Redis基础--常用数据结构的命令及底层编码

2025-02-07 17:47:50 292

原创 一.MySQL程序简介

mysqld --verbose --help

2025-01-09 22:16:59 400

原创 第5章 共享内存范式:C语言层面

编译制导指令以#pragma omp 开始,后边跟具体的功能指令,格式如:#pragma omp 指令[子句[,子句].]。

2025-01-01 20:57:06 309

原创 第4章 共享内存范式:基于R(Rdsm)的简单介绍

共享内存

2024-12-28 20:37:37 338

原创 第3章 并行循环调度的准则

此时total还需要进行同步…首先,让我们来定义一下要考察的类型。在本章中,我们假设每个循环的迭代都与其他循环是相互独立的,也就是说,一个迭代的执行,并不使用前一个迭代的结果。如果我们不认真处理如何,例如如何做循环调度就可能引起比较大的。并且,通常我们不可能提前知道循环迭代的时间,因此,是非常困难的。解决这些问题的方法是本章的重点。

2024-12-27 11:12:04 863

原创 第二章 并行为什么有时会慢?

高速缓存的定义:高速缓存(Cache)是一种小型、快速的内存存储,用于存放最近或最常使用的数据。它位于处理器和主内存(RAM)之间,目的是减少数据访问的延迟,提高数据访问速度。缓存的工作原理:当处理器需要访问内存中的数据时,首先检查高速缓存是否有这个数据(叫做缓存命中)。如果缓存中有这个数据,处理器直接从缓存获取,速度非常快(称为“缓存命中”)。如果缓存中没有该数据(叫做缓存未命中),则处理器从较慢的主内存中读取数据,并把这个数据加载到缓存中,供以后使用(称为“缓存未命中”)。

2024-12-26 21:32:53 1208

原创 第1章 R语言中的并行处理入门

先来总结一下 snow 包的操作:使用了scatter/gather范式:我们同时有多个R的实例在运行,它们可能在集群中的好几个机器上,也有可能在一个多核机器上,我们把其中的一个实例称为manáger,其他的称为worker。

2024-12-26 16:23:55 911

原创 【无标题】

创建数据框data

2024-12-17 16:51:05 608

原创 VPP学习

【代码】VPP。

2024-10-22 10:21:15 431

原创 Client客户端模块

Client客户端模块

2024-08-31 11:58:46 1176 1

原创 Broker服务器模块

Broker服务器模块

2024-08-31 11:38:03 1561

原创 Connection连接管理模块

Connection连接模块的实现

2024-08-22 11:36:49 599

原创 Channel信道管理模块

Channel信道模块的实现

2024-08-22 11:15:46 2518

原创 consumer.hpp消费者管理模块

Consumer类封装了一个消费者的基本属性,包括消费者标识、订阅的队列名称、是否自动确认、以及一个回调函数。ptr:定义了一个类型,表示,方便后续使用智能指针管理Consumer对象。:回调函数类型,接收三个参数,分别为消息的标签、消息的基本属性和消息内容,用户可以自定义回调逻辑。构造函数:初始化Consumer对象时设置消费者标识、队列名称、自动确认标志以及回调函数。(消费者调用回调函数,将收到的消息推送给客户端)析构函数:销毁Consumer对象时记录日志,方便调试。

2024-08-16 10:17:21 897

原创 routine.hpp路由匹配模块

Routine类处理了不同类型的消息路由需求,特别是在处理Topic类型的复杂路由规则时,使用了动态规划来高效地完成匹配。

2024-08-16 09:00:00 594

原创 virtual_host.hpp模块

VirtualHost模块

2024-08-15 20:54:59 976

原创 message.hpp消息管理模块

QueueMessage模块的实现

2024-08-15 16:07:01 1237

原创 binding.hpp绑定模块

Binding模块

2024-08-14 15:57:08 1091

原创 msgqueue.hpp队列模块

MsgQueue模块

2024-08-14 10:57:04 1263

原创 exchange.hpp交换机模块

Exchange交换机模块的具体实现

2024-08-12 11:37:46 1176

原创 消息队列项目

仿rabbit实现消息队列项目

2024-08-11 18:02:35 300

原创 common_mq共享模块

common.hpp

2024-08-11 18:01:58 1147

原创 仿TCMalloc高并发内存池

仿TCMalloc高并发内存池

2024-07-17 09:57:39 688

原创 PageCache页缓存

PageCache负责使用系统调用向系统申请页的内存,给CentralCache分配大块儿的内存,以及合并前后页空闲的内存,整体也是一个单例,需要加锁.PageCache桶的下标按照页号进行映射,每个桶里span的页数即为下标大小.

2024-07-06 19:28:42 1842

原创 CentralCache中心缓存

有与ThreadCache相同数量的哈希桶,分别管理一个SpanList,Span,完成后挂到freeList,当ThreadCache对应的桶无内存时,再从对应的。

2024-07-04 18:01:50 821

原创 第九章 支持向量机

加一维度,线性不可分==>线性可分

2024-06-24 10:00:00 340 1

原创 第八章 基于树的方法

多数投票方法是根据每个自举样本的分类结果进行投票,然后选择票数最多的类别作为最终分类结果。红色类的票数:6 绿色类的票数:4多数投票结果是“Red”

2024-06-23 08:58:02 269

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除