[發(fā)明專利]一種基于配置文件的幫助線程構(gòu)造方法無效
| 申請?zhí)枺?/td> | 201210396209.5 | 申請日: | 2012-10-18 |
| 公開(公告)號: | CN102929616A | 公開(公告)日: | 2013-02-13 |
| 發(fā)明(設(shè)計)人: | 鄭寧漢;古志民;付引霞;楊四才 | 申請(專利權(quán))人: | 北京理工大學(xué) |
| 主分類號: | G06F9/44 | 分類號: | G06F9/44 |
| 代理公司: | 暫無信息 | 代理人: | 暫無信息 |
| 地址: | 100081 *** | 國省代碼: | 北京;11 |
| 權(quán)利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關(guān)鍵詞: | 一種 基于 配置文件 幫助 線程 構(gòu)造 方法 | ||
1.一種基于配置文件的幫助線程構(gòu)造方法,其特征在于其基本思想是在基于共享緩存的多核架構(gòu)基礎(chǔ)上,針對多核應(yīng)用中非規(guī)則數(shù)據(jù)缺失的問題,通過引入“構(gòu)造幫助線程的配置文件、構(gòu)造幫助線程的控制變量和初值、構(gòu)造幫助線程的生成代碼”等步驟,來自動生成幫助線程,以降低程序員或用戶的編程難度,提高應(yīng)用程序的執(zhí)行性能,并為多核編譯輔助工具提供有效的支撐技術(shù)。具體實現(xiàn)步驟如下:?
步驟一、構(gòu)造幫助線程的配置文件?
利用應(yīng)用程序中的多個熱數(shù)據(jù)區(qū),人工或自動從中提取幫助線程的構(gòu)造特征序列,經(jīng)合并構(gòu)造后,生成一個配置文件。?
步驟二、構(gòu)造幫助線程的控制變量和初值?
在步驟一構(gòu)造的配置文件基礎(chǔ)上,步驟二自動轉(zhuǎn)換配置文件序列中的數(shù)據(jù)為構(gòu)造幫助線程所需的控制變量和初值,并對推送變量和同步變量的初值進(jìn)行完整性驗證和修正。?
步驟三、構(gòu)造幫助線程的生成代碼?
在步驟二構(gòu)造的幫助線程控制變量和初值基礎(chǔ)上,步驟三構(gòu)造幫助線程的生成代碼。?
2.根據(jù)權(quán)利要求1所述的一種基于配置文件的幫助線程構(gòu)造方法,其特征在于步驟一中構(gòu)造幫助線程的配置文件步驟為:?
第(1)步:設(shè)置SUM總序列變量為空;依據(jù)定義1,確定應(yīng)用程序P中所有熱函數(shù)的集合HS;從HS中選擇任一熱函數(shù)f(P)作為當(dāng)前需處理的熱函數(shù);?
第(2)步:依據(jù)定義2確定該熱數(shù)據(jù)區(qū),提取和構(gòu)造其中與幫助線程相關(guān)的代碼區(qū)標(biāo)定序列A=‘<hot_spot_area><換行控制符>hotspotarea_begin=熱數(shù)據(jù)區(qū)的起始行號<換行控制符>hotspotarea_end=熱數(shù)據(jù)區(qū)的結(jié)束行號<換行控制符>source_file=熱數(shù)據(jù)區(qū)所在的源文件名<換行控制符>function_name=熱數(shù)據(jù)區(qū)所在的函數(shù)名’;?
第(3)步:設(shè)置該熱數(shù)據(jù)區(qū)的幫助線程控制變量組序列B=‘a(chǎn)head_size=設(shè)定的預(yù)取提前量大小<換行控制符>push_size=設(shè)定的預(yù)取量大小<換行控制符>sync_size=設(shè)定的同步量大小’;這里ahead_size、push_size和sync_size均為一個非負(fù)整數(shù);?
第(4)步:如果該熱數(shù)據(jù)區(qū)中不存在任何子區(qū),則依據(jù)性能分析工具的數(shù)據(jù)缺失標(biāo)注信息,從該熱數(shù)據(jù)區(qū)中提取和構(gòu)造幫助線程的“推送變量和同步變量”組序列C=‘hotspot_line=第1個推送變量所在的行號<換行控制符>?push_variable=第1個推送變量名<換行控制符>…h(huán)otspot_line=第n個推送變量所在的行號<換行控制符>push_variable=第n個推送變量名<換行控制符>sync_variable=應(yīng)用程序和幫助線程間第1個同步變量名<換行控制符>…sync_variable=應(yīng)用程序和幫助線程間第m個同步變量名<換行控制符></hot_spot_area>’;否則,如果推送變量在該熱數(shù)據(jù)區(qū)中的某個函數(shù)內(nèi)部,則需產(chǎn)生一個<child_hot_spot>...</child_hot_spot>子區(qū),從該熱數(shù)據(jù)區(qū)中提取和構(gòu)造幫助線程的“推送變量和同步變量”組序列C=‘hotspot_line=推送變量所在的行號<換行控制符><child_hot_spot><換行控制符>child_source_file=子區(qū)中該函數(shù)所在的文件<換行控制符>child_function_name=子區(qū)中該函數(shù)名<換行控制符>child_hotspot_line=子區(qū)第1個推送變量所在的行號<換行控制符>child_push_variable=子區(qū)中第1個推送變量名<換行控制符>…child_hotspot_line=子區(qū)第n個推送變量所在的行號<換行控制符>child_push_variable=子區(qū)中第n個推送變量名<換行控制符></child_hot_spot><換行控制符>sync_variable=應(yīng)用程序和幫助線程間第1個同步變量名<換行控制符>…sync_variable=應(yīng)用程序和幫助線程間第m個同步變量名<換行控制符></hot_spot_area>’;?
第(5)步:SUM=SUM+<換行控制符>+序列A+<換行控制符>+序列B+<換行控制符>+序列C;?
第(6)步:若HS中存在任何其他未處理的熱函數(shù),則轉(zhuǎn)第(2)步;否則,依據(jù)定義3,由SUM序列生成幫助線程的配置文件,并在第一行插入<begin>,最后一行插入</end>,結(jié)束。?
該專利技術(shù)資料僅供研究查看技術(shù)是否侵權(quán)等信息,商用須獲得專利權(quán)人授權(quán)。該專利全部權(quán)利屬于北京理工大學(xué),未經(jīng)北京理工大學(xué)許可,擅自商用是侵權(quán)行為。如果您想購買此專利、獲得商業(yè)授權(quán)和技術(shù)合作,請聯(lián)系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/201210396209.5/1.html,轉(zhuǎn)載請聲明來源鉆瓜專利網(wǎng)。
- 在多線程處理器中用于高速線程間中斷的方法和設(shè)備
- 一種多線程系統(tǒng)中實現(xiàn)實時監(jiān)控各線程狀態(tài)的方法
- 移動終端系統(tǒng)線程池實現(xiàn)方法及裝置
- 一種基于策略模式的信號發(fā)生器多線程管理方法
- 多線程并發(fā)處理方法和多線程并發(fā)處理系統(tǒng)
- 分布式系統(tǒng)的線程管理方法和裝置
- 線程執(zhí)行方法、裝置、終端及存儲介質(zhì)
- 線程監(jiān)控方法、裝置、電子設(shè)備及計算機(jī)可讀存儲介質(zhì)
- 一種多核系統(tǒng)中多線程調(diào)度方法、裝置及設(shè)備
- 線程間通信方法、裝置、電子設(shè)備及存儲介質(zhì)





