CN101364185B - 线程池容量自适应调节方法及应用服务器并发控制方法 - Google Patents
线程池容量自适应调节方法及应用服务器并发控制方法 Download PDFInfo
- Publication number
- CN101364185B CN101364185B CN2008101192855A CN200810119285A CN101364185B CN 101364185 B CN101364185 B CN 101364185B CN 2008101192855 A CN2008101192855 A CN 2008101192855A CN 200810119285 A CN200810119285 A CN 200810119285A CN 101364185 B CN101364185 B CN 101364185B
- Authority
- CN
- China
- Prior art keywords
- concurrent
- application server
- thread pool
- thread
- task
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Images
Landscapes
- Stored Programmes (AREA)
Abstract
本发明公开了一种线程池容量自适应调节方法,以及一种应用服务器并发控制方法,属于软件技术领域。所述线程池容量自适应调节方法主要通过爬山算法实现;所述应用服务器并发控制方法包括:根据所述线程池容量自适应调节方法构造自适应并发控制系统;构造并发方面库,定义抽象并发方面和抽象并发任务处理类;基于所述自适应并发控制系统和所述并发方面库,根据应用服务器的具体需求开发并发处理模块;进行方面编织,将所述并发处理模块植入应用服务器。本发明实现了应用服务器与并发控制模型之间的解耦,同时为应用服务器提供了自适应的并发控制机制。
Description
技术领域
本发明涉及一种线程池容量自适应调节方法,以及一种应用服务器并发控制方法,尤其涉及一种通过非侵入的方式实现应用服务器并发控制并提供自适应的并发控制能力的方法,属于软件技术领域。
背景技术
应用服务器是面向Web计算环境的主流中间件平台,它为企业级应用的开发、部署、运行、集成和管理提供了良好的支撑平台。作为Web计算环境下产生的新一代中间件,应用服务器解决了中间件在面向Internet的Web计算环境下遇到的问题,不仅具有传统事务监控器的高可伸缩性、高可用性、高可靠性和高效等高级特性,而且为事务性Web应用提供一个跨平台的运行环境、一系列通用服务以及相应的工具集。
应用服务器需要处理多用户的请求调用,是典型的并发处理环境,利用请求并发执行的处理方式可以减少处理器的闲置时间,增加服务器吞吐量。并发是指两个或者多个事件在同一时间间隔内发生,在单处理器单核环境下,多道程序交替执行,在微观上是交替和顺序的,在宏观上,在一段时间间隔内是同时的,称之为并发程序。在多核、多CPU、或者开放的分布式计算环境下,并发程序在多个处理器上同一时刻运行,则可称之为并行程序。
并发程序的开发需要遵循一定的并发控制模型,目前应用服务器主要采用线程/锁(Threads and Locks)模型(参见文献:Doug Lea,Douglas Lea,Concurrent Programming inJava.Second Edition:Design Principles and Patterns,Addison-Wesley Longman PublishingCo.,Inc.,Boston,MA,1999),即通过多线程处理多用户请求。在该模型下,应用服务器往往通过线程池模式(请参见中国发明专利公开号说明书CN200410050035.2A)对并发资源(线程)进行重复利用,以节省线程在创建和销毁时的服务器性能损耗,同时对并发资源加以约束,防止由于线程不受限的增加而造成的系统性能下降。
目前,并发控制模型仍存在易用性问题,尽管线程/锁模型是目前最广为使用的并发控制模型,但它仍是一个复杂的模型,应用服务器的开发人员需考虑包括线程的分配时机、并发任务的计划和安排、锁粒度的控制等问题。总而言之,对于习惯于串行编程的开发人 员而言,并发编程是一项具有挑战性的工作,而对于开发应用服务器这类复杂系统,其难度之大更是一般开发人员无法胜任。
Rachid(Rachid Guerraoui,A Smooth Concurrency Revolution with Free Objects,IEEEInternet Computing,vol.11,no.4,2007,pp.82-85)提出Free Objects概念,即通过扩展面向对象编程范式实现隐式并发编程,进而降低并发程序的开发复杂度。Rachid的方法可归结为主动对象模式(R.Greg Lavender,Douglas C.Schmidt,Active object:an object behavioralpattern for concurrent programming,Patternlanguages of program design2,Addison-WesleyLongman Publishing Co.,Inc.,Boston,MA,1996)的一种面向对象实现,在继承面向对象编程范式特征(封装性、继承性、多态性)的同时,实现串行面向对象程序向并发程序的自然转换。以Free Objects为代表的隐式并发编程是未来并发编程技术发展的趋势,但与以往的并发控制模型相比,该类方法仍是一种侵入式的实现方式,即系统与并发控制模型之间存在耦合。
面向方面编程(Aspect oriented programming,AOP)技术(R.E.Filman,T.Elrad,S.Clarke,M.Aksit.Aspect-Oriented Software Development.Addison-Wesley,2004.)为解决上述耦合问题提供了可能,该技术旨在解决跨越多级无关联对象模型的公共行为模块化问题。具有横切特性的耦合点被称为“横切关注点”(crosscutting concerns)。AOP通过定义切入点(pointcut)来描述系统“横切关注点”,通过定义通知(advice)实现横切特性的逻辑功能,并将非业务功能模块以“方面(aspect)”的形式切入贯穿的无关的对象模型,在更高的抽象和分解层次上实现解耦。和Rachid( Kienzle and Rachid Guerraoui,AoP-does itmake sense?the case of concurrency and failures.In16th European Conference on ObjectOriented Programming(ECOOP2002),Lecture Notes in Computer Science2374,SpringerVerlag,pages37-54,2002)针对如何利用AOP技术实现并发控制进行了探讨,但他们的工作侧重于具有事务性的并发行为。
除了上述易用性问题,并发资源管理模式还存在自适应性问题。由于网络环境下用户行为存在不确定性,因此应用服务器作为Internet环境下信息服务的运行支撑平台,其并发资源的管理存在动态调整的需求,并且需要综合考虑系统运行的硬件环境、用户访问的负载特征等多种因素。这一问题本质上是系统配置的优化问题。目前,管理人员往往需要面对复杂的系统配置、性能优化等问题,按照信息系统的发展趋势,即使是经验丰富、技术熟练的管理人员也无法应对下一代信息系统的复杂性,另一方面,系统部署量的增长也将造成可胜任的管理人员的短缺。为解决这一位问题,Kephart(Kephart,J.,Chess,D.,The vision of autonomic computing.IEEE Comput.36(1),41-502003)提出自主计算的概念,自主系统参照自主神经系统的自我调节机制,具有自配置、自优化、自修复、自保护等自主特征,使得信息系统在“整体上(holistic)”实现自我管理,最终实现系统管理成本的降低。
基于线程池的并发资源管理模式所存在的自适应性问题可以通过自主计算的相关技术解决,但如何实现非自主系统向自主或半自主系统的转变仍是困扰系统开发人员的难题,对于无法获得源代码的系统,无法在其基础上扩充自主系统的关键模块,而对于组件间耦合度较高的系统,系统扩充工作也很困难。
发明内容
本发明的目的在于克服现有技术中存在的问题,提供一种线程池容量自适应调节方法和一种非侵入式、自适应的应用服务器并发控制方法,将应用服务器与并发控制模型解耦,同时为应用服务器提供自适应的并发控制机制。
为了达到上述技术目的,本发明采用如下技术方案:
一种非侵入式、自适应的应用服务器并发控制方法,包括以下各步骤:
1)构造一个自适应并发控制系统;
2)优选使用AOP编程工具(比如AspectJ)构造一个并发方面(Aspect)库,定义抽象并发方面和抽象并发任务处理类;
3)基于并发方面库和自适应并发控制系统,并根据应用服务器的具体需求进行并发处理模块的开发;
4)优选使用AOP编程工具(比如AspectJ)进行方面编织,将所述并发处理模块植入原应用服务器系统,生成新的应用服务器系统。
上述非侵入式、自适应的应用服务器并发控制方法中,构造一个自适应并发控制系统的方法为:
1、根据线程池模式构造一个线程池;
2、利用爬山算法,构造一个自适应的线程池动态调整方案,其步骤包括:
1)预定义线程池容量的最小值、调整时间间隔和超长任务执行系数;
2)在预定义的时间间隔内,测量线程池的使用情况:包括测量线程池内所有活动线程的执行时间(ThreadsUsedTime);统计所有完成任务执行的线程,得到的统计值称为线程使用量;并记录任务完成数(CompletedTaskCount);
3)根据上述步骤2)中所述活动线程的执行时间和任务完成数,计算ThreadsUsedTime/CompletedTaskCount,即任务平均执行时间,然后将任务平均执行时间与超长任务执行系数相乘,获得超长任务执行时间。超长任务执行时间表示任务执行时间过长的任务,这一时间由超长任务执行系数和任务平均执行时间决定,并大于调整时间间隔。接着统计活动线程执行时间小于超长任务执行时间的线程,称之为健康线程数。统计健康线程数的目的是为了排除超长任务的干扰,更准确的预测下一时间间隔内线程资源的使用量;
4)根据上述步骤3)中的评估进行线程池容量的择优调整,若健康线程数大于线程使用量,且等待队列不为空,则表示下一时间间隔内的线程需求可能大于目前的供给量,将进入如下子步骤,否则进入步骤5);
(4.1)记录上一时间间隔的健康线程数和任务完成数,并统计最大任务完成数及其对应的健康线程数。记录上述数据的目的是为了给爬山算法进行择优调整提供依据;
(4.2)利用爬山算法对步骤(4.1)记录的若干历史时间间隔数据进行线程池容量的择优调整。所述爬山算法是一种经典的择优算法,可参见文献Stuart J.Russell,Peter Norvig,Artificial intelligence:a modernapproach,Prentice-Hall,Inc.,Upper Saddle River,NJ,1995;
5)判断是否进行下一时间间隔的自适应调整,若是则返回步骤2)继续进行动态调整,否则自适应并发控制系统将终止运行。
上述非侵入式、自适应的应用服务器并发控制方法中,基于并发方面库并根据应用服务器的具体需求进行并发处理模块开发的方法中包括以下步骤:
1、扩展抽象并发方面;其步骤包括:
1)根据应用服务器的具体需求切入点的定义和描述;
2)定义around通知,对应用服务器的并发请求进行包装;
3)将上述包装后的并发请求执行逻辑提交给自适应的并发控制系统执行。
2、扩展抽象并发任务处理类,重载并发执行方法,根据应用服务器的具体需求进行相应功能的增添。
和现有技术相比,本发明具有如下技术优势:
1、利用并发方面库实现应用服务器与并发控制模型的解耦,开发人员仅需对并发方面进行扩展,从而降低了系统复杂度和开发、维护的难度。同时,由于并发控制模型与应用服务器解耦,开发人员可以根据实际需求替换并发控制机制,提高了系统灵活性。
2、利用自适应的并发控制机制,简化了应用服务器并发资源的管理和配置,优化了应用服务器的性能。
3、本发明可为应用服务器的设计和开发提供支持,可应用于应用服务器中的组件容器(Web容器、EJB容器等)的并发控制模块的设计和开发。
附图说明
图1本发明中非侵入式、自适应的应用服务器并发控制方法流程图。
图2应用服务器植入自适应并发控制系统后处理客户端请求的示例图。
图3自适应线程池动态调整流程图。
图4利用AOP编程工具构造的并发方面库以及简单Java应用服务器相关的并发控制模块示例图。
具体实施方式
以下结合具体实施例和附图对本发明进行详细说明。
本实施例提出一种非侵入式、自适应的应用服务器并发控制方法。作为本实施例方法的使用环境,所述应用服务器采用一个简单的Java应用服务器,其示例代码内容如代码1所示:
代码1:
1 class SimpleServer{
2 public void handleSocket(Socket s){
3 InputStream in=s.getInputStread();
4 …//处理socket连接
5 }
6 public void serverStart(){
7 socket=serverSocket.accept();
8 handleSocket(socket);
9 }
10 }
在上述代码1中,SimpleServer类实现了一个简单Java应用服务器,用以处理客户端的 Socket连接,它包含一个服务器启动方法(第6-9行)用以启动应用服务器,以及一个Socket请求处理方法(第2-5行),服务器通过启动方法启动后对Socket端口进行监听(第7行),并通过Socket请求处理方法对Socket请求进行处理(第8行)。
由于需要多个客户端的并发请求,因此需要利用并发控制模型对多个客户端的Socket连接进行并发处理。目前应用服务器主要采用线程/锁模型,传统的侵入式方法(代码2)需要利用该并发控制模型对简单Java应用服务器(代码1)进行重构,为每个Socket连接创建一个线程,从而实现并发处理(第8-12行)。
代码2:
1 class SimpleServer{
2 public void handleSocket(Socket s){
3 InputStream in=s.getInputStread();
4 …//处理socket连接
5 }
6 public void serverStart(){
7 socket=serverSocket.accept();
8 new Thread(new Runnable(){
9 public void run(){
10 handleSocket(socket);
11 }
12 }
13 }
14 }
本实施例方法则实现了应用服务器和并发控制模型之间的解耦,其流程如图1所示:
1.在应用服务器中构造自适应并发控制系统,本实施例是针对线程池模式采用爬山算法构造线程池的动态调整方案,其步骤包括:
(1)根据线程池模式构造一个线程池;
(2)利用爬山算法,构造一个自适应的线程池动态调整方案,使该线程池具有自适应的动态调整能力。
本实施例的自适应并发控制系统由资源监控器、资源评估器、资源管理器和线程池四部分组成,是应用服务器并发资源管理的基础部分。其中,资源监控器负责线程池使用情 况的监测和数据统计;资源评估器负责进行线程池未来使用情况的评估和预测;资源管理器负责线程池容量的动态调整;线程池负责对线程资源进行池化管理,其构造方法可参见中国发明专利公开号说明书CN 200410050035.2A。图2是自适应并发控制系统植入应用服务器后的请求处理示例图。
其中,上述步骤(2)所述构造自适应的线程池动态调整方案的流程,如图3所示:
首先预定义线程池容量的最小值、调整时间间隔,在预定义的时间间隔内,测量线程池内所有活动线程的执行时间,并针对任务执行结束的线程使用量进行统计,同时记录任务完成数;根据活动线程执行时间和任务完成数,计算超长任务执行时间,统计活动线程执行时间小于超长任务执行时间的线程,称之为健康线程数,并以此作为下一时间间隔内线程池容量的评估依据,若健康线程数大于线程使用量,且等待队列不为空,则记录上一时间间隔的健康线程数和任务完成数,并利用爬山算法进行线程池容量的择优调整,否则不需调整。由于客户端的负载是随时变化的,因此上述调整过程将持续进行直至系统终止。
值得说明的是,本实施例采用爬山算法(参见文献:Stuart J.Russell,Peter Norvig,Artificial intelligence:a modern approach,Prentice-Hall,Inc.,Upper Saddle River,NJ,1995)构造自适应线程池动态调整方案,是一种局部择优的方法,是对深度优先搜索的一种改进,它利用反馈信息帮助生成解的决策。除此之外,还可以采用别的方式构造自适应的线程池调整方案。
2.利用AOP编程工具构造一个并发方面库,定义抽象并发方面和抽象并发任务处理类;
本实施例通过AOP编程工具AspectJ(Gregor Kiczales,Erik Hilsdale,Jim Hugunin,MikKersten,Jeffrey Palm,and William G.Griswold.An overview of AspectJ.Lecture Notes inComputer Science,2072:327-355,2001.)构造并发方面库,在该并发方面库中,定义了一个抽象并发处理类(AbstractRequestHandleWork)用于处理客户请求的并发任务,以及一个抽象并发方面(AbstractRequestHandlerAspect),用于声明抽象切入点,如图4所示。当然采用其它的AOP编程工具也可以达到本发明目的。
其中,抽象并发处理类(AbstractRequestHandleWork)(代码3)利用Java语言中的线程模型实现Runnable接口(第1行),声明了一个抽象请求处理方法(第2行),并在并发运行方法中给出了一个缺省的实现,即直接执行抽象请求处理方法(第3-5行)。
代码3:
1 public abstract class AbstractRequestHandleWork implements Runnable{
2 public abstract Object handleRequest();
3 public void run(){
4 handleRequest();
5 }
6 }
抽象并发方面(AbstractRequestHandlerAspect)(代码4)声明了一个抽象切入点用以捕获请求处理(第2行)。
代码4:
1 public abstract aspect AbstractRequestHandlerAspect{
2 public abstract pointcut request();
3 }
3.基于并发方面库和自适应并发控制系统,根据应用服务器的具体需求进行并发处理模块的开发;
如图4所示,针对上述简单Java应用服务器,本实施例基于并发方面库,定义了本实施例简单Java应用服务器的相关并发处理模块,包括Socket处理任务类(SocketHandleWork),用于在简单Java应用服务器中处理Socket连接的并发任务,以及Socket处理方面(SocketHandlerAspect),用于根据简单Java应用服务器的具体情况,定义切入点,并定义通知执行逻辑,实现对切入点的并发控制。
Socket处理任务类(SocketHandleWork)(代码5)继承了并发方面库中的抽象并发处理类(AbstractRequestHandleWork),并在并发运行方法中给出了一个扩展实现(第3-7行),即在执行抽象请求处理方法的前后增加上下文处理、生命周期管理以及监控等功能。代码5:
1 public abstract class SocketHandleWork extends AbstractRequestHandleWork{
2 public abstract Object handleRequest();
3 public void run(){
4 …//处理上下文、生命周期管理、监控等
5 handleRequest();
6 …//处理上下文、生命周期管理、监控等
7 }
8 }
Socket处理方面(SocketHandlerAspect)(代码6)继承了并发方面库中的抽象并发方面(AbstractRequestHandlerAspect),并针对简单Java应用服务器对抽象切入点进行了具体定义(第2行),即对简单Java应用服务器的Socekt请求处理方法调用进行拦截。同时,定义了通知,即在捕获到切入点时,对其方法调用进行包装(第3-8行),实现并发控制。在本实施例中,通过具有自适应性的线程池来实现并发控制(第9、10行)。
代码6:
1 public aspect SocketHandlerAspect extends AbstractRequestHandlerAspect{
2 public pointcut request():call(void SimpleServer.handleSocket());
3 Object around():request(){
4 SocketHandleWork work=new SocketHandleWork(){
5 public Object handleRequest(){
6 return proceed();
7 }
8 };
9 AdaptiveThreadPool.getInstance().run(work);
10 return work;
11 }
12 }
4.运行AOP编程工具,进行方面编织,将上述并发控制代码植入原应用服务器系统,生成新的应用服务器系统。
Claims (4)
1.一种线程池容量自适应调节方法,包括下列步骤:
1).预定义线程池容量的最小值、调整时间间隔以及超长任务执行系数;
2).在各个时间间隔内,测量线程池内所有活动线程的执行时间,统计线程使用量,并记录任务完成数;根据所述活动线程的执行时间和任务完成数,计算任务平均执行时间,然后将任务平均执行时间与超长任务执行系数相乘,获得超长任务执行时间;
3).统计健康线程数,健康线程数表示活动线程执行时间小于超长任务执行时间的线程数量,若健康线程数大于所述线程使用量,且等待队列不为空,则利用爬山算法调整线程池容量,否则进入下一个时间间隔的处理。
2.一种应用服务器并发控制方法,包括下列步骤:
a).构造自适应并发控制系统,所述系统按照权利要求1所述的方法自适应调节其线程池容量;
b).通过AOP编程工具构造并发方面库,定义抽象并发方面和抽象并发任务处理类;
c).基于所述自适应并发控制系统和所述并发方面库,根据应用服务器的具体需求通过下述方法开发并发处理模块:
i.根据应用服务器的具体需求定义切入点和around通知,包装所述应用服务器的并发请求,并将包装后的并发请求提交给所述自适应并发控制系统执行;
ii.扩展抽象并发任务处理类,重载并发执行方法,根据应用服务器的具体需求增添功能;
d).采用AOP编程工具进行方面编织,将所述并发处理模块植入应用服务器。
3.如权利要求2所述的方法,其特征在于,步骤a)所述自适应并发控制系统包括资源评估器、资源监控器、资源管理器和线程池,其中:
资源评估器负责进行线程池未来使用情况的评估和预测;
资源监控器负责线程池使用情况的监测和数据统计;
资源管理器负责线程池容量的动态调整;
线程池负责对线程资源进行池化管理。
4.如权利要求2所述的方法,其特征在于,所述AOP编程工具为AspectJ。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2008101192855A CN101364185B (zh) | 2008-09-02 | 2008-09-02 | 线程池容量自适应调节方法及应用服务器并发控制方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2008101192855A CN101364185B (zh) | 2008-09-02 | 2008-09-02 | 线程池容量自适应调节方法及应用服务器并发控制方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN101364185A CN101364185A (zh) | 2009-02-11 |
CN101364185B true CN101364185B (zh) | 2011-09-21 |
Family
ID=40390562
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN2008101192855A Active CN101364185B (zh) | 2008-09-02 | 2008-09-02 | 线程池容量自适应调节方法及应用服务器并发控制方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN101364185B (zh) |
Families Citing this family (16)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101505243B (zh) * | 2009-03-10 | 2011-01-05 | 中国科学院软件研究所 | 一种Web应用性能异常侦测方法 |
CN102033784B (zh) * | 2010-11-18 | 2013-08-07 | 山东中创软件工程股份有限公司 | 一种应用服务器的优化方法及装置 |
CN102508668B (zh) * | 2011-11-11 | 2014-11-05 | 西安交通大学 | 一种基于动态栈的ejb3.0容器aop实现方法 |
CN103873509B (zh) * | 2012-12-12 | 2017-06-20 | 中国移动通信集团浙江有限公司 | 一种ejb服务过载保护方法和系统 |
CN103888279A (zh) * | 2012-12-20 | 2014-06-25 | 阿里巴巴集团控股有限公司 | 基于反馈控制循环的资源池动态管理的方法和系统 |
CN103902361A (zh) * | 2014-04-04 | 2014-07-02 | 浪潮电子信息产业股份有限公司 | 一种可动态调节尺寸的线程池 |
CN104317944B (zh) * | 2014-10-31 | 2018-07-06 | 上海实方软件有限公司 | 一种基于公式的时间戳动态调整并发控制方法 |
CN106528065B (zh) * | 2015-09-14 | 2019-11-08 | 阿里巴巴集团控股有限公司 | 一种线程获取方法及设备 |
CN106257425B (zh) * | 2016-07-20 | 2019-04-09 | 东南大学 | 一种基于并发控制流图的Java并发程序路径剖析方法 |
WO2018032399A1 (en) * | 2016-08-17 | 2018-02-22 | Zte Corporation | Server and method having high concurrency capability |
CN109086194A (zh) * | 2018-06-11 | 2018-12-25 | 山东中创软件商用中间件股份有限公司 | 一种线程池容量调整方法、装置、设备及可读存储介质 |
CN108984288A (zh) * | 2018-06-11 | 2018-12-11 | 山东中创软件商用中间件股份有限公司 | 基于系统响应时间的线程池容量调整方法、装置及设备 |
CN109101334A (zh) * | 2018-06-29 | 2018-12-28 | 中译语通科技股份有限公司 | 一种面向Zuul网关的微服务并发控制方法 |
CN108874550A (zh) * | 2018-07-18 | 2018-11-23 | 郑州云海信息技术有限公司 | 一种调整线程池的方法、装置、存储介质和计算机设备 |
CN109660585B (zh) * | 2018-09-28 | 2022-08-19 | 深圳壹账通智能科技有限公司 | Aop增强对象服务的调用方法、装置、设备及存储介质 |
CN111324668B (zh) * | 2020-02-18 | 2023-11-21 | 中国联合网络通信集团有限公司 | 数据库数据同步处理方法、装置及存储介质 |
-
2008
- 2008-09-02 CN CN2008101192855A patent/CN101364185B/zh active Active
Also Published As
Publication number | Publication date |
---|---|
CN101364185A (zh) | 2009-02-11 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN101364185B (zh) | 线程池容量自适应调节方法及应用服务器并发控制方法 | |
Vogel et al. | Model-driven engineering of self-adaptive software with eurema | |
Huebscher et al. | A survey of autonomic computing—degrees, models, and applications | |
US7464147B1 (en) | Managing a cluster of networked resources and resource groups using rule - base constraints in a scalable clustering environment | |
Xhafa et al. | Meta-heuristics for grid scheduling problems | |
Aldinucci et al. | Behavioural skeletons in GCM: autonomic management of grid components | |
Xu et al. | Performance analysis of a software design using the uml profile for schedulability, performance, and time | |
Buisson et al. | A framework for dynamic adaptation of parallel components | |
Gueye et al. | Coordinating self-sizing and self-repair managers for multi-tier systems | |
González‐Vélez et al. | Adaptive structured parallelism for distributed heterogeneous architectures: A methodological approach with pipelines and farms | |
Vogel et al. | Towards on-the-fly self-adaptation of stream parallel patterns | |
Křikava et al. | Actor-based runtime model of adaptable feedback control loops | |
Moazzemi et al. | Trends in on-chip dynamic resource management | |
Dadam et al. | Towards a new dimension in clinical information processing | |
Ramzanpoor et al. | Energy-aware and reliable service placement of IoT applications on fog computing platforms by utilizing whale optimization algorithm | |
Zhou et al. | An autonomic‐computing approach on mapping threads to multi‐cores for software transactional memory | |
Huber | Autonomic performance-aware resource management in dynamic IT service infrastructures | |
An et al. | Discrete control-based design of adaptive and autonomic computing systems | |
Russo | Model-based auto-scaling of distributed data stream processing applications | |
Aldinucci et al. | Parallel program/component adaptivity management | |
Fuad et al. | An autonomic architecture for legacy systems | |
Vassev et al. | Towards autonomic GIPSY | |
Mezghani et al. | DRAAS: dynamically reconfigurable architecture for autonomic services | |
Garousi et al. | A UML-based quantitative framework for early prediction of resource usage and load in distributed real-time systems | |
Danelutto et al. | Autonomic management experiences in structured parallel programming |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant | ||
TR01 | Transfer of patent right | ||
TR01 | Transfer of patent right |
Effective date of registration: 20191014 Address after: 1611, floor 16, building A2-5, Hanyu Jingu financial and business center, no.7000, Jingshi Road, high tech Zone, Jinan City, Shandong Province, 250000 Patentee after: Shandong qianyun Information Technology Group Co., Ltd. Address before: 100190 No. four, 4 South Street, Haidian District, Beijing, Zhongguancun Patentee before: Institute of Software, Chinese Academy of Sciences |