首页 | 本学科首页   官方微博 | 高级检索  
相似文献
 共查询到17条相似文献,搜索用时 125 毫秒
1.
一个基于多线程的优先级继承协议锁的算法研究   总被引:5,自引:0,他引:5  
实时线程库对构造实时中间件和开发具有良好可移植性,有实时要求的分布式应用具有重要意义,防止优先级翻转的线程互斥和同步机制是实现实时线库的核心,目前多数的线程库都缺乏这种机制,基于优先级继承协议,提出了一个防止优先级反转的互斥算法,算法能够保证操作的原子性,可以避免发生死锁,且能够有效地防优先级翻转,在Windows和Solaris平台上对性能进行了分析,并将算法应用到了实时CORBA工程实践之中。  相似文献   

2.
Java多线程编程中线程生存期和优先级的探讨   总被引:1,自引:2,他引:1  
在JAVA多线程编程中,理解线程的生存期和优先级是编制多线程程序的基础。主要介绍了Java多线程机制的线程生存期和优先级的原理、线程的生存期和优先级决定着整个线程实现。  相似文献   

3.
实时中间件的优先级映射   总被引:1,自引:1,他引:1       下载免费PDF全文
郭长国  王怀民  邹鹏  王锋 《软件学报》2003,14(6):1060-1065
实时CORBA(common object request broker architecture)规定了独立于操作系统的CORBA优先级,每个请求都可以携带CORBA优先级,而执行请求的所有线程都使用该CORBA优先级映射后的本地操作系统优先级.如何将范围较大的CORBA优先级映射到范围较小的操作系统优先级,并且尽量保持CORBA优先级的序关系,避免优先级翻转是实时CORBA需要解决的重要问题.该问题在实时中间件中具有普遍意义.简要介绍了实时中间件中的优先级映射机制,提出了中间件优先级到本地操作系统优先级的静态散列法和动态映射法,并给出了动态映射法的实现算法.散列法实现简单,但会影响中间件的互操作和可移植性,难以保证优先级映射的严格序关系;动态映射法实现复杂,但能严格保证优先级映射的序关系.  相似文献   

4.
目前实时CORBA在电信、电子商务、证券、复杂工业控制等领域发挥着越来越重要的作用。针对这些应用的特点,首先论述了分布式中间件和分布式应用开发对多线程的需求,再在实时CORBA的基础上,设计并用C++实现了一个具有Java风格的面向对象的平台依赖层,它能够在不同的平台上运行,可以把CORBA优先级映射为本地优先级,具有固定优先级的调度策略,在提供灵活的线程管理的同时,能够有效地防止优先级反转。  相似文献   

5.
近年来实时CORBA的在金融、电信、保险、医疗、制造业等行业发挥着越来越重要的作用,开发基于实时CORBA的应用程序,提高系统端对端的预测能力,使系统具有可靠健壮的性能.首先论述了实时CORBA体系结构与线程控制机制,对实时CORBA的ORB、POA与线程控制机制关系、实时CORBA线程的实现方式、线程的管理策略作了分析讨论,在这基础上讨论了建立实时系统的应用实例,将CORBA优先映射为本地优先,提供了灵活的线程管理机制,有效防止了线程的优先级翻转.  相似文献   

6.
NPTL(本地POSIX线程库)具有较好的性能和稳定性,已成为Glibc的首选线程库。同步是为了达到多线程协同工作目的而设计的一种机制。线程库中同步函数的底层实现大多用汇编语言编写,因此,在将NPTL移植到不同嵌入式硬件平台时,必须重写相关代码。通过引入一个虚拟的锁设备,实现原子操作,进而实现同步函数,最小化硬件平台的相关性,方便地实现不同嵌入式平台上NPTL的同步机制。  相似文献   

7.
NPTL(本地POSIX线程库)具有较好的性能和稳定性,已成为Glibc的首选线程库。同步是为了达到多线程协同工作目的而设计的一种机制。线程库中同步函数的底层实现大多用汇编语言编写,因此,在将NPTL移植到不同嵌入式硬件平台时,必须重写相关代码。通过引入一个虚拟的锁设备,实现原子操作,进而实现同步函数,最小化硬件平台的相关性,方便地实现不同嵌入式平台上NPTL的同步机制。  相似文献   

8.
随着采集、处理、解释一体化地震勘探软件的发展,构建跨硬件、操作系统的云计算平台成为必要;而云计算平台中,通用线程库成为开发有大计算量算法的地震勘探软件的关键.通过对线程模型和同步机制的分析,分类整理出线程的属性、线程的控制、线程执行流的构建和同步的属性及操作;最后在这些通用的组件基础上,通过对各种本地线程库的封装,实现基于任意本地线程库的跨平台通用线程库.  相似文献   

9.
刘文  苏秀琴  王飞 《测控技术》2002,21(Z1):117-119
介绍了在Windows NT系统中如何创建多线程并提升线程优先级.文章针对一个具体的CCD(charge-coupled device)测量系统进行了详细地论述,并就该测量系统软件中各线程之间的关系及它们的优先级进行了讨论.最后对此系统中使用的多线程技术进行了分析.以上的设计思路在该CCD测量系统课题中得到了很好的应用,具有广泛的实际应用价值.  相似文献   

10.
应用中的嵌入式Linux实时优化   总被引:1,自引:1,他引:1       下载免费PDF全文
以Linux2.6为对象,在分析了国内外有关提高Linux实时性的几种方法的基础上,对任务切换、优先级调度算法以及中断服务程序提出了改进方式。引入了“在实时系统中,只有当进程的临界区能在下一个实时任务开始之前结束才被允许进入”的任务切换机制,实现了优先级置顶的方法以避免发生优先级倒置的现象,并用内核线程代替中断服务程序。上述方法可用在嵌入式领域和对实时性有较高要求的Linux应用中。  相似文献   

11.
12.
操作系统多线程实现技术研究   总被引:5,自引:0,他引:5  
本文详细描述了二种进程内我线程实现技术 核心线程实现技术,多线库实现技术,并对比分析了产的优缺点,在此基础上,总结了现代操作系统采用的多线程实用技术一混合实现技术。  相似文献   

13.
J. Yadgari  A. Amir  R. Unger 《Constraints》2001,6(2-3):271-292
The biological function of proteins is dependent, to a large extent, on their native three dimensional conformation. Thus, it is important to know the structure of as many proteins as possible. Since experimental methods for structure determination are very tedious, there is a significant effort to calculate the structure of a protein from its linear sequence. Direct methods of calculating structure from sequence are not available yet. Thus, an indirect approach to predict the conformation of protein, called threading, is discussed. In this approach, known structures are used as constraints, to restrict the search for the native conformation. Threading requires finding good alignments between a sequence and a structure, which is a major computational challenge and a practical bottleneck in applying threading procedures. The Genetic Algorithm paradigm, an efficient search method that is based on evolutionary ideas, is used to perform sequence to structure alignments. A proper representation is discussed in which genetic operators can be effectively implemented. The algorithm performance is tested for a set of six sequence/structure pairs. The effects of changing operators and parameters are explored and analyzed.  相似文献   

14.
The determination of a protein's structure from the knowledge of its linear chain is one of the important problems that remains as a bottleneck in interpreting the rapidly increasing repository of genetic sequence data. One approach to this problem that has shown promise and given a measure of success is threading. In this approach contact energies between different amino acids are first determined by statistical methods applied to known structures. These contact energies are then applied to a sequence whose structure is to be determined by threading it through various known structures and determining the total threading energy for each candidate structure. That structure that yields the lowest total energy is then considered the leading candidate among all the structures tested. Additional information is often needed in order to support the results of threading studies, as it is well known in the field that the contact potentials used are not sufficiently sensitive to allow definitive conclusions. Here, we investigate the hypothesis that the environment of an amino acid residue realized as all those residues not local to it on the chain but sufficiently close spatially can supply information predictive of the type of that residue that is not adequately reflected in the individual contact energies. We present evidence that confirms this hypothesis and suggests a high order cooperativity between the residues that surround a given residue and how they interact with it. We suggest a possible application to threading.  相似文献   

15.
Nowadays, computing becomes a service on cloud computing resources. Users reserve virtual machines to execute their applications with minimum number of processing cores to save money. Optimizing user applications on the level of single core of a physical machine is highly desirable to users to reduce cost, as well as to cloud providers to reduce power consumption. In this paper, we showed how to exploit all the processing resources available in a single CPU physical core to optimize the performance of the 2D spatial filtering operation, a basic kernel in important image and multimedia applications such as image enhancement, edge detection, image segmentation, and image analysis. We proposed a novel computational procedure to restructure the conventional image filtering operation. Then, we demonstrated the merits of combining hand-optimized source-code restructuring, auto-optimized compiler techniques including vectorization, and hand-optimized threading to squeeze the performance of a single CPU core. Our intensive performance evaluations, using Sobel filters, on a variety of image sizes using the Linux Perf tool on a single core of the quad-core Intel Core i7 processor showed that our source-code restructurings with compiler auto-vectorization, using Intel AVX vector instructions, is 1.3X better than the non-restructured auto-vectorized version of the CImg library for computing the image gradient. Moreover, using OpenMP library directives we studied different image partitioning strategies to better exploit the two hardware threads inside a CPU core which boosted performance to 2.6X. Compared with the conventional CImg implementation, we obtained an average enhancement of 5.0X for image sizes ranging from 0.5 MPixel to 8 MPixel. However, comparing our best-optimized code to the conventional non-optimized serial code, without threading, resulted in a significant enhancement of 23X. The overall results showed how significant performance in important image processing applications can be obtained by applying source-code restructurings before employing any automatic compiler optimizations to exploit ILP, DLP and TLP parallelism degrees inside a single core of a multi-core CPU.  相似文献   

16.
在线程环境设计中存在三种结构不同的线程模型:多对一、一对一和多对多,一直以来,线程模型的特性分析仍然主要位于感性层面,缺乏完整的测试数据验证。FreeBSD5提供了基于三种线程模型的线程环境,为评测不同线程环境的性能提供了条件。论文以FreeBSD5下的测试结果为基础,结合Linux下一对一模型线程库NPTL的测试结果,分析了三种模型的不同特点,指出一对一模型和多对多模型均具有良好的性能,同时,基于SchedulerActivations的多对多模型也有很大的发展空间。  相似文献   

17.
The protein threading problem is the problem of determining the three-dimensional structure of a given but arbitrary protein sequence from a set of known structures of other proteins. This problem is known to be NP-hard and current computational approaches to threading are unrealistic for long proteins and/or large template data sets. In this paper, we propose an evolution strategy for the solution of the protein threading problem. We also propose three parallel methods for fast threading. Our experiments produced encouraging preliminary results in term of threading energy as well as significant reduction in threading time.  相似文献   

设为首页 | 免责声明 | 关于勤云 | 加入收藏

Copyright©北京勤云科技发展有限公司  京ICP备09084417号