随笔分类 -  os

上一页 1 ··· 3 4 5 6 7 8 9 10 11 ··· 23 下一页

Tars在鲲鹏ARM64服务器上的移植分享
摘要:Tars介绍 Tars是将腾讯内部使用的微服务架构TAF(Total Application Framework)多年的实践成果总结而成的开源项目。是基于名字服务使用Tars协议的高性能RPC开发框架,同时配套一体化的服务治理平台,帮助个人或者企业快速的以微服务的方式构建自己稳定可靠的分布式应用。 阅读全文

posted @ 2021-03-31 09:58 tycoon3 阅读(568) 评论(0) 推荐(0)

5G MEC
摘要:5G关键能力 近年来,5G已成为各国战略竞争制高点和未来社会发展、信息化的关键技术。目前,各国纷纷加快5G战略和政策布局。2019年工业和信息化部正式向中国电信、中国移动、中国联通、中国广电发放5G商用牌照,中国正式进入5G商用元年,这比原计划商用提前了一年。最新报告显示,截至2020年12月,我国 阅读全文

posted @ 2021-03-29 20:03 tycoon3 阅读(904) 评论(0) 推荐(0)

实时linux
摘要:前言 NFV(网络功能虚拟化)由运营商联盟提出,为了加速部署新的网络服务,运营商倾向于放弃笨重昂贵的专用网络设备,转而使用标准的IT虚拟化技术来拆分网络功能模块。在传统CT网络中对于服务质量保证的要求是非常高的,简而言之就是高带宽,高可靠,低时延。这些要求对于虚拟化技术而言本身就具有非常大的挑战。在 阅读全文

posted @ 2021-03-26 10:02 tycoon3 阅读(1228) 评论(0) 推荐(0)

鲲鹏CompareAndSwap
摘要:x86平台 CompareAndSwap实现如下所示 #define barrier() __asm__ __volatile__("": : :"memory") int CompareAndSwap(volatile int* ptr, int old_value, int new_value) 阅读全文

posted @ 2021-03-17 17:50 tycoon3 阅读(271) 评论(0) 推荐(0)

C++并行编程之原子操作的内存顺序
摘要:读完了C++并发编程实战,记录一下对memory order的理解。 1. C++原子操作的内存顺序概述 memory order主要有以下几种: memory_order_relaxed只提供对单个atomic变量的原子读/写,不和前后语句有任何memory order的约束关系。 memory_ 阅读全文

posted @ 2021-03-16 18:09 tycoon3 阅读(949) 评论(0) 推荐(0)

CPU上下文的切换
摘要:CPU上下文切换是保证 Linux系统正常工作的一个核心功能,按照不同场景,可以分为进程上下文切换、线程上下文切换和中断上下文切换。究竟怎么分析CPU上下文切换的问题。 过多的上下文切换,会把CPU时间消耗在寄存器、内核栈以及虚拟内存等数据的保存和恢复上,缩短进程真正运行的时间,成了系统性能大幅下降 阅读全文

posted @ 2021-03-16 17:49 tycoon3 阅读(799) 评论(0) 推荐(0)

理解 C++ 的 Memory Order
摘要:为什么需要 Memory Order 如果不使用任何同步机制(例如 mutex 或 atomic),在多线程中读写同一个变量,那么,程序的结果是难以预料的。简单来说,编译器以及 CPU 的一些行为,会影响到程序的执行结果: 即使是简单的语句,C++ 也不保证是原子操作。 CPU 可能会调整指令的执行 阅读全文

posted @ 2021-03-16 10:05 tycoon3 阅读(251) 评论(0) 推荐(0)

GCC的原子操作函数
摘要:CAS类 CAS 即 compare-and-swap , 下面这两个函数提供原子的比较和交换,如果 *ptr == oldval,就将 newval 写入 *ptr 此函数在相等并写入的情况下返回 true bool __sync_bool_compare_and_swap (type *ptr, 阅读全文

posted @ 2021-03-15 20:08 tycoon3 阅读(1874) 评论(0) 推荐(1)

barrier内存屏障
摘要:pthread使用barrier栅栏方式同步 Linux中提供了多种同步机制,其中使用barrier(栅栏)是多线程之间进行同步的方法之一。 基本原理: 假设多个线程约定一个栅栏,只有当所有的线程都达到这个栅栏时,栅栏才会放行,否则到达此处的线程将被阻塞。 使用场景: 程序启动的时候,需要建立一个独 阅读全文

posted @ 2021-03-15 19:51 tycoon3 阅读(318) 评论(0) 推荐(0)

tcp重传机制,流量控制,拥塞控制
摘要:三次握手 三次握手协议的过程: a.客户端 向 服务器端 发送一个 SYN 包,请求一个主动打开。该包携带客户端为这个连接请求设定的随机数A作为消息列号。 b.服务器端接收到一个SYN包后,把该包放入SYN队列中;回送一个SYN/ACK。ACK的确认码应为A+1,SYN/ACK包本身携带一个随机产生 阅读全文

posted @ 2021-03-15 11:33 tycoon3 阅读(764) 评论(0) 推荐(0)

TCP 的拥塞控制
摘要:思维导图 1、什么是拥塞控制? 拥塞控制是一种用来调整传输控制协议(TCP)连接单次发送的分组数量的算法。它通过增减单次发送量逐步调整,使之逼近当前网络的承载量。 简单易懂的话来说,所谓的拥塞控制,从字面的意思来讲,网络通信就像是一个水管里的水,如果水突然因为水管的赃物阻塞了,那么我们就应该采取一定 阅读全文

posted @ 2021-03-15 11:26 tycoon3 阅读(408) 评论(0) 推荐(0)

Monitoring and Tuning the Linux Networking Stack: Receiving Data
摘要:This blog post explains how computers running the Linux kernel receive packets, as well as how to monitor and tune each component of the networking st 阅读全文

posted @ 2021-03-15 11:05 tycoon3 阅读(528) 评论(0) 推荐(0)

kernel网络之软中断
摘要:从网卡收包到上送协议栈有两个模式: 一种是传统的中断模式,即收到一个数据包,执行一次中断处理函数(比如e100_rx),在此函数中分配skb,替换有数据的skb(DMA已经将数据拷贝到初始化的skb),调用netif_rx将有数据的skb放在percpu的队列上(如果开启了RPS,这个队列有可能是本 阅读全文

posted @ 2021-03-15 11:00 tycoon3 阅读(567) 评论(0) 推荐(0)

rps ipi
摘要:Linux SMP 多核调用示例 在多core系统中,系统启动后内核将会在一个core上执行,且会在不同core上进行调度。即内核模块(驱动)加载只会在一个core中执行一次初始化。那么需要在所有core,或某个特殊的core执行那么我们需要smp提供的多核接口。 smp相关api 在linux/s 阅读全文

posted @ 2021-03-15 10:50 tycoon3 阅读(396) 评论(0) 推荐(0)

NAPI
摘要:来看下NAPI和非NAPI的区别: (1) 支持NAPI的网卡驱动必须提供轮询方法poll()。 (2) 非NAPI的内核接口为netif_rx(),NAPI的内核接口为napi_schedule()。 (3) 非NAPI使用共享的CPU队列softnet_data->input_pkt_queue 阅读全文

posted @ 2021-03-14 12:20 tycoon3 阅读(643) 评论(0) 推荐(0)

SR-IOV使用示例
摘要:开启VF: modprobe -r igb modprobe igb max_vfs=7 echo "options igb max_vfs=7" >>/etc/modprobe.d/igb.conf 查找Virtual Function: # lspci | grep 82576 0b:00.0 阅读全文

posted @ 2021-03-12 17:44 tycoon3 阅读(753) 评论(0) 推荐(0)

virtio+ovs转发原理和性能分析
摘要:virtio 是一种 I/O 半虚拟化解决方案,ovs是一个虚拟交换机,利用软件的方式实现交换功能。本文将对virtio+ovs的转发原理进行介绍和并对其性能展开分析。 1、 virtio和ovs介绍 传统数据中心的硬件服务器上运行着linux,linux使用硬件网卡收发包,硬件网卡连接的硬件交换机 阅读全文

posted @ 2021-03-12 16:48 tycoon3 阅读(3001) 评论(0) 推荐(0)

Hairpin NAT
摘要:NAT Lookback Introduction 其實網路上關於 NAT Loopback 的文章到處都有,從原理,到如何在Linux實作等網路上各種資源都有,那這篇文章跟網路上的教學又有什麼不同?我唯一能夠貢獻的是 NAT Loopback 關於 Linux Kernel 的問題,在某些情況下, 阅读全文

posted @ 2021-03-12 10:29 tycoon3 阅读(2539) 评论(0) 推荐(0)

vxlan tso
摘要:mellanox DEV_TX_OFFLOAD_UDP_TNL_TSO 阅读全文

posted @ 2021-03-10 20:11 tycoon3 阅读(123) 评论(0) 推荐(0)

tcpdump 报文超过 MTU tso
摘要:root@-x86:~# ethtool -K eno3 gso onroot@-x86:~# ethtool -k eno3|grep generic-generic-segmentation-offload: ongeneric-receive-offload: onroot@-x86:~# e 阅读全文

posted @ 2021-03-10 19:47 tycoon3 阅读(855) 评论(0) 推荐(0)

上一页 1 ··· 3 4 5 6 7 8 9 10 11 ··· 23 下一页

导航