《電子技術應用》
您所在的位置:首頁 > 嵌入式技術 > 業界動態 > 亞線程和動態亞線程樹的設計與研究

亞線程和動態亞線程樹的設計與研究

2008-07-28
作者:邢 豐 戴梅萼 周 健 余

??? 摘 要: 提出了一種對線程進行合理分組的方法,即亞線程技術,并提出了動態亞線程樹的設計思想" title="設計思想">設計思想和運行機制。
??? 關鍵詞: 多線程? 亞線程? 動態亞線程

?

??? 多線程是近年來非常流行的一項編程技術。尤其是在網絡傳輸和資源共享軟件的設計中,在多媒體的采集和處理、并行計算、并行處理等方面,更是由于高效性和可靠性要求而使線程技術得到廣泛使用。多線程技術保證了程序模塊間的分離度,而且可通過合理劃分功能模塊而減少通信量,實現廣泛的數據共享,從而使系統性能得到很大提高。
??? 但是,隨著線程數目的增多,共享數據的管理將變得相當復雜。線程的增多導致對共享數據區的訪問非常頻繁,從而增加了系統的額外開銷。為此,本文提出了基于線程分組的亞線程機制。
??? 在設計中,只要分組合理,亞線程之間的調用就不會過于頻繁,從而可減少多個線程頻繁訪問共享數據而引起的混亂。由此,亞線程機制可以有效地提高系統性能,同時保證數據的安全。
1 亞線程機制的設計思想
1.1 亞線程和亞線程樹

??? 亞線程在結構上是基于線程的分組。每個亞線程由一定數目的線程和共享數據組成。編程時,把互相之間有緊密關系或存在頻繁通信關系的線程及共享數據分到同一個亞線程中。亞線程內部的互相調用和通信幾乎不受限制,只有亞線程之間的訪問會受到一定限制。
??? 一般說,線程是被個別創建的。在亞線程機制中,每個線程被分到某個亞線程中,一旦確定,便不再改變。
??? 總之,亞線程可分為根亞線程和普通亞線程兩類。最基本的亞線程叫根亞線程。若創建線程時不指定亞線程,該線程就會自動歸屬于根亞線程。除了根亞線程之外的亞線程都是普通亞線程。
??? 在亞線程機制中,采用亞線程樹來實現總體設計。亞線程樹是程序中所有亞線程構成的樹形結構" title="樹形結構">樹形結構。在這種樹形結構中,一個亞線程通常從屬于其它亞線程。所以,在構建一個新的亞線程時,必須指定它從屬于哪個亞線程。若未指定,則會自動歸屬于根亞線程。這樣,一個應用程序" title="應用程序">應用程序中的所有亞線程最終都會直接或間接歸屬于根亞線程。
??? 亞線程樹結構如圖1所示。

?


??? 在采用進程-線程結構的應用程序中,亞線程是介于進程和線程之間的中間結構。實驗表明,由于亞線程的加入,使系統效率得到很大提高。
1.2 亞線程機制的具體實例
??? 在本課題組完成的863項目《遠程機器人控制系統》中采用了進程-線程結構,在此基礎上加入了亞線程后,形成進程-亞線程-線程機制。
??? 此系統主要功能是:通過圖像傳輸和命令傳輸,對遠程機器人進行相應控制,并通過加密技術實現對信息的即時加密。系統采用Client/Server結構。表1和表2分別為Server端和Client端的線程和亞線程列表。

?

?


??? 在Server端,亞線程樹結構如圖2所示。其中,圖像采集、圖像壓縮和圖像傳送三個線程的處理對象都是視頻文件;命令接收和命令執行兩個線程的處理對象都是命令;文件加密線程和文件解密線程的處理對象都是文件;文字發送線程和文字接收線程則負責文字通信。基于上述特點,這些線程構成了圖2所示的亞線程樹結構。

?


??? 在Client端,程序運行后,每連接一個機器人站點就建立一個進程。每個進程中的亞線程結構如圖3所示。各亞線程的構建方法與Server端類似。

?


??? 加入亞線程機制后,亞線程間的數據訪問受到限制。例如文字發送、接收線程和S/C同步線程基本不訪問加密解密的文件,亞線程管理器" title="管理器">管理器甚至可以禁止這些線程去訪問傳輸的文件。又如,對傳輸的視頻數據,除了Server端的圖像采集、壓縮和傳送線程,以及Client端的圖像接收、解壓縮和顯示線程外,不能被其他任何線程訪問。這樣,通過亞線程機制優化了整個應用程序的運行,并保證了數據的安全。此外,由于主要操作都歸為亞線程內部操作,所以,大大提高了程序執行的效率。
1.3 亞線程機制的特點
??? 亞線程機制的特點是,允許對一個亞線程中的所有線程同時操作。例如,可通過調用相應的方法來設置其中所有線程的優先級,也可以啟動或阻塞所有線程。
??? 亞線程機制的另一重要特點是為安全性提供了很好前提。它通過分組來區分不同安全級別的線程,對不同亞線程中的線程進行不同處理,還可以通過亞線程的分層結構來支持不對等安全措施。在亞線程機制中,一個線程只能修改所屬亞線程樹中的其它線程,這種修改包括修改線程優先級別和掛起或喚醒線程等操作。
??? 由于一個亞線程只能訪問那些從自己的根亞線程樹分支出來的線程,而不能訪問其他任何線程。因此,可有效保證數據的安全。
2 動態亞線程樹的運行機制
??? 動態亞線程樹是對亞線程機制的進一步優化,它通過在亞線程結構基礎上加入亞線程管理器和動態亞線程機制來實現。
2.1?亞線程管理器
??? 亞線程管理器的功能是對亞線程進行調控,它獨立于所有亞線程。
??? 具體設計時,亞線程管理器由一個表格和一個控制組件構成。表格紀錄各種信息,具體內容隨應用程序不同而異。例如,包括亞線程間的交互信息,整個系統中包含的線程和亞線程名,各線程和亞線程對應的父亞線程名,線程及亞線程之間的通信次數和頻率等??刂平M件則根據這些信息做出相應的調整。
2.2?動態亞線程機制
??? 大多數情況下,在線程的整個生命周期中,基本功能、通信對象以及處理對象都較固定,因此,亞線程機制可以有效地優化應用程序的執行效率。但有時有些線程的通信對象不固定,處理的對象也不固定。如果將這樣的線程永久歸入某一個亞線程,就會降低程序的執行效率。
??? 動態亞線程機制可以較好地解決這個問題。動態亞線程機制的核心是可以動態地調整亞線程樹的內部結構。采用這種機制后,一個線程調用其它亞線程中的對象或者與其他亞線程通信后,相關線程的標識符和通信次數會被根亞線程管理器紀錄下來。若此后多次發生類似的通信,亞線程管理器就會據此對亞線程樹進行調整,將該線程歸入聯系最多的亞線程中。另外,如果兩個亞線程之間出現頻繁通信,那么亞線程管理器會經過評測和判斷來合并兩個亞線程。
??? 圖4是采用動態亞線程機制時,亞線程樹調整結構的簡單示例。從圖4中可以看到,亞線程管理器統計結果中,線程6和亞線程1中的線程通信為20+15+17=42次,遠遠大于與亞線程2內部的通信。這種情況下,亞線程管理器通過評測機構會得出應該調整結構的判斷,于是將線程6歸入亞線程1中。

?


??? 具體說,亞線程的調整有以下幾種類型:
??? ①一段時間內,T1不屬于Y2,但線程T1和亞線程Y2的通信明顯比較頻繁,這種情況下,T1應歸入Y2。
??? ② 一段時間內,線程T1與多個亞線程的通信都很頻繁,這種情況下應將線程T1復制到那些亞線程中,即在相應的亞線程中重新創建與T1相同的線程,并進行相應規劃。
??? ③ 一段時間內,兩個亞線程Y1和Y2的相互通信非常頻繁,則將兩個亞線程進行合并。
??? 隨著多線程的廣泛應用,越來越需要有一種合理的管理機制來管理多線程以免造成調度的混亂。
??? 亞線程機制可以有效地管理應用程序內部多個線程之間的相互訪問和調度。對應的樹狀" title="樹狀">樹狀結構保證了數據訪問和信息交互的安全。通過動態調整亞線程內部結構以及整個亞線程樹的樹狀結構,又可以動態優化多線程應用程序的整體性能。
參考文獻
1 Ian Foster. The Nexus Approach to Integrating Multithreading and Communication. Journal of Parallel and Distributed Computing, 1996
2 Koray ?魻ner, Luiz Barroso, Sasan Iman, etc. The Design?of RPM: An FPGA-based Multiprocessor Emulator, 1995
3 Ka Wong Chong, Yijie Han,Tak Wah Lam. On the Parallel Time Complexity of Undirected Connectivity and?Minimum Spanning Trees. SODA,ACM-SIAM Symposium? on Discrete Algorithms, 1999
4 Chen Huinan. An Object Oriented Multi-Thread Dialog?Model. The Journal of China Universities of Posts and?Telecommunications,1998;5(1)
5?James M. Barton Nawaf Bitar Silicon, A Scalable MultiDiscipline. Multiple-Processor Scheduling Framework for?IRIX, 1995

本站內容除特別聲明的原創文章之外,轉載內容只為傳遞更多信息,并不代表本網站贊同其觀點。轉載的所有的文章、圖片、音/視頻文件等資料的版權歸版權所有權人所有。本站采用的非本站原創文章及圖片等內容無法一一聯系確認版權者。如涉及作品內容、版權和其它問題,請及時通過電子郵件或電話通知我們,以便迅速采取適當措施,避免給雙方造成不必要的經濟損失。聯系電話:010-82306118;郵箱:aet@chinaaet.com。
主站蜘蛛池模板: 亚洲欧美高清在线 | 久爱精品视频在线视频 | 欧美激情在线观看一区二区三区 | 亚洲女同志videos | 国产激情久久久久影 | 国产东北男同志videos网站 | 在线观看 日韩 | 视频在线观看网站免费 | 免费精品国偷自产在线读大二 | 日本无翼乌全彩无遮挡动漫 | 亚洲日本一区二区三区在线不卡 | 未满十八18勿进黄网站免费看 | 国产专区在线 | 日日碰狠狠添天天爽对白 | 中文字幕日本在线mv视频精品 | 精品福利在线观看 | 男人操女人免费网站 | 中文字幕有码在线播放 | aa级黄色片 | 久久精品国产亚洲欧美 | 一道本高清香蕉网 | 一个人免费播放在线视频看片 | 在线中文字幕视频 | 久在草视频| 2020国产精品永久在线观看 | 成年人免费在线看 | 中国成人免费视频 | 91亚洲综合| 欧美日韩性生活 | 美日韩一级 | 欧美日一区 | 国语对白自拍 | 中文字幕日韩精品亚洲七区 | 一级做a爱免费观看视频 | 久草久| 免费黄篇 | 欧美日本不卡 | 在线播放国产精品 | 羞羞视频免费网站在线 | 456亚洲人成影视在线观看 | 国产精品天干天干在线综合 |