一种避免双处理器写竞争的方法技术

技术编号:2868037 阅读:233 留言:0更新日期:2012-04-11 18:40
本发明专利技术涉及一种在网络数据分组流量计数应用环境下,用于避免由于两个处理器同时对一个共享内存变量进行写操作时可能引发的系统崩溃的方法,通过在网络处理器中设置两个寄存器变量:流量计数(count)和门限值变量(bucket),进行循环计数,再依据一定的判断原则进行处理。本发明专利技术采用了流量计数变量仅由网络处理器写入,通用处理器仅读取该变量,有效避免了写竞争,没有等待信号量或解锁的过程,不降低处理效率,而且没有引入硬件锁,避免了因之引入的系统隐患。(*该技术在2023年保护过期,可自由使用*)

【技术实现步骤摘要】

本专利技术涉及一种在网络数据分组流量计数应用环境下,用于避免由于两个处理器同时对一个共享内存变量进行写操作时可能引发的系统崩溃的方法;典型应用是在针对诸如高速路由器等设计应用中,采用专用网络处理器处理分组数据转发,通用处理器处理上层协议及其它分组管理事务,应用环境对处理效率要求高。
技术介绍
对于某些多处理器系统,例如包含一个通用的主控中央处理器和一个专用的辅助处理器的系统,两个处理器间的进程间通信可以采用MP(Message Passing消息传递)机制和共享内存机制,共享内存机制有如下的一些使用特点1.共享内存可以被多个进程(包括不同CPU间的进程)所打开并访问;2.读写操作的进程在执行读写操作时其他进程不应进行写操作;3.多个进程可以交替对某一共享内存执行写操作;4.一个进程执行了内存的写操作后,不影响其他进程对该内存的访问,同时其他进程对更新后的内存具有可见性;5.在进程执行写操作时如果异常退出,对其他进程写操作禁止应自动解除;6.共享内存的处理速度和效率较高;对于不同的两个处理器共享的内存而言,如果对于同一个共享内存数据区,两个处理器的各个进程对于该数据区都是可读和可写本文档来自技高网...

【技术保护点】
一种避免双处理器写竞争的方法,其特征在于,所述方法包括以下处理步骤:1)在网络处理器中设置两个寄存器变量,流量计数和门限值变量,两个变量分别在0-2↑[n]范围循环计数,n为变量的位数;2)判断流量计数变量是否大于门限值,如 果是,则转步骤3),否则,跳转步骤4);3)判断流量计数与分组数据包字节数之和是否大于流量计数,若是,则做门限值许可处理,否则,转步骤4);4)比较流量计数与分组数据包字节数之和是否小于门限值,若是,转步骤5),否则,做门限 值超限处理;5)比较门限值与流量计数、数据包分组字节数之和的差是否小于2↑[n-1],若...

【技术特征摘要】

【专利技术属性】
技术研发人员:周宇宁方军戴进唐珂白英杰张钢钢
申请(专利权)人:深圳市中兴通讯股份有限公司南京分公司
类型:发明
国别省市:84[中国|南京]

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1
相关领域技术
  • 暂无相关专利