一種多核架構(gòu)下流量限速無(wú)鎖并發(fā)實(shí)現(xiàn)的方法
基本信息
申請(qǐng)?zhí)?/td> | CN202110122692.7 | 申請(qǐng)日 | - |
公開(公告)號(hào) | CN112799861A | 公開(公告)日 | 2021-05-14 |
申請(qǐng)公布號(hào) | CN112799861A | 申請(qǐng)公布日 | 2021-05-14 |
分類號(hào) | G06F9/54;H04L12/819 | 分類 | 計(jì)算;推算;計(jì)數(shù); |
發(fā)明人 | 靳龍 | 申請(qǐng)(專利權(quán))人 | 上海弘積信息科技有限公司 |
代理機(jī)構(gòu) | 北京盛凡智榮知識(shí)產(chǎn)權(quán)代理有限公司 | 代理人 | 李朦 |
地址 | 201206 上海市浦東新區(qū)新金橋路58號(hào)銀東大廈23A | ||
法律狀態(tài) | - |
摘要
摘要 | 本發(fā)明公開了一種多核架構(gòu)下流量限速無(wú)鎖并發(fā)實(shí)現(xiàn)的方法,將令牌桶設(shè)計(jì)成循環(huán)免鎖隊(duì)列,隊(duì)列長(zhǎng)度為N;每一個(gè)處理數(shù)據(jù)流的CPU核分配一個(gè)令牌桶,處理數(shù)據(jù)流的核數(shù)為M;一個(gè)單獨(dú)CPU核輪詢?cè)L問(wèn)M個(gè)免鎖隊(duì)列,往隊(duì)列添加令牌;以C0表示添加令牌的CPU核,C0周期輪詢給各個(gè)隊(duì)列添加令牌,每個(gè)周期C0首先計(jì)算各個(gè)隊(duì)列消耗令牌比例,把這個(gè)周期要添加的令牌按比例添加到各個(gè)隊(duì)列中;處理數(shù)據(jù)流的CPU核,通過(guò)計(jì)算數(shù)據(jù)報(bào)大小獲取自己隊(duì)列的令牌,如果令牌不夠,根據(jù)策略選擇緩存或丟棄數(shù)據(jù)報(bào)文;本發(fā)明通過(guò)把令牌桶分布在不用CPU處理核上,把生產(chǎn)令牌核消費(fèi)令牌分別處理,通過(guò)免鎖隊(duì)列實(shí)現(xiàn)令牌計(jì)算。 |
