小型微型计算机系统
小型微型計算機繫統
소형미형계산궤계통
MINI-MICRO SYSTEMS
2013年
5期
1113-1117
,共5页
只读锁%同步%优化%Java虚拟机
隻讀鎖%同步%優化%Java虛擬機
지독쇄%동보%우화%Java허의궤
Java虚拟机使用锁机制来实现多线程共享数据结构的同步.锁机制维护的临界区通常对共享数据结构只进行读操作.只读锁是指当某个线程持有锁在只读临界区时,其他线程可以直接进入只读临界区而无需等待.只读锁能极大地提高锁机制的同步性能.Java虚拟机的锁机制可分为轻量级锁和重量级锁两层,当线程冲突时从轻量级锁转向重量级锁.本文分别从轻量级锁和重量级锁两个层次分别进行只读锁优化.轻量级锁的只读优化算法可以减少原子操作的开销;重量级锁的只读优化算法则可以使多个线程同时在只读临界区中.最后在Java虚拟机HotSpot中实现只读锁优化,并且在龙芯3A上进行实验.性能测试用例包括单线程Java程序、多线程Java程序以及SPECjvm2008.实验结果表明,上述优化方法能极大降低线程进入和退出只读临界区的开销,提高Java虚拟机的同步性能.
Java虛擬機使用鎖機製來實現多線程共享數據結構的同步.鎖機製維護的臨界區通常對共享數據結構隻進行讀操作.隻讀鎖是指噹某箇線程持有鎖在隻讀臨界區時,其他線程可以直接進入隻讀臨界區而無需等待.隻讀鎖能極大地提高鎖機製的同步性能.Java虛擬機的鎖機製可分為輕量級鎖和重量級鎖兩層,噹線程遲突時從輕量級鎖轉嚮重量級鎖.本文分彆從輕量級鎖和重量級鎖兩箇層次分彆進行隻讀鎖優化.輕量級鎖的隻讀優化算法可以減少原子操作的開銷;重量級鎖的隻讀優化算法則可以使多箇線程同時在隻讀臨界區中.最後在Java虛擬機HotSpot中實現隻讀鎖優化,併且在龍芯3A上進行實驗.性能測試用例包括單線程Java程序、多線程Java程序以及SPECjvm2008.實驗結果錶明,上述優化方法能極大降低線程進入和退齣隻讀臨界區的開銷,提高Java虛擬機的同步性能.
Java허의궤사용쇄궤제래실현다선정공향수거결구적동보.쇄궤제유호적림계구통상대공향수거결구지진행독조작.지독쇄시지당모개선정지유쇄재지독림계구시,기타선정가이직접진입지독림계구이무수등대.지독쇄능겁대지제고쇄궤제적동보성능.Java허의궤적쇄궤제가분위경량급쇄화중량급쇄량층,당선정충돌시종경량급쇄전향중량급쇄.본문분별종경량급쇄화중량급쇄량개층차분별진행지독쇄우화.경량급쇄적지독우화산법가이감소원자조작적개소;중량급쇄적지독우화산법칙가이사다개선정동시재지독림계구중.최후재Java허의궤HotSpot중실현지독쇄우화,병차재룡심3A상진행실험.성능측시용례포괄단선정Java정서、다선정Java정서이급SPECjvm2008.실험결과표명,상술우화방법능겁대강저선정진입화퇴출지독림계구적개소,제고Java허의궤적동보성능.