932 resultados para Java RMI
Resumo:
Just-in-Time (JIT) compilers for Java can be augmented by making use of runtime profile information to produce better quality code and hence achieve higher performance. In a JIT compilation environment, the profile information obtained can be readily exploited in the same run to aid recompilation and optimization of frequently executed (hot) methods. This paper discusses a low overhead path profiling scheme for dynamically profiling AT produced native code. The profile information is used in recompilation during a subsequent invocation of the hot method. During recompilation tree regions along the hot paths are enlarged and instruction scheduling at the superblock level is performed. We have used the open source LaTTe AT compiler framework for our implementation. Our results on a SPARC platform for SPEC JVM98 benchmarks indicate that (i) there is a significant reduction in the number of tree regions along the hot paths, and (ii) profile aided recompilation in LaTTe achieves performance comparable to that of adaptive LaTTe in spite of retranslation and profiling overheads.
Resumo:
The Java Memory Model (JMM) provides a semantics of Java multithreading for any implementation platform. The JMM is defined in a declarative fashion with an allowed program execution being defined in terms of existence of "commit sequences" (roughly, the order in which actions in the execution are committed). In this work, we develop OpMM, an operational under-approximation of the JMM. The immediate motivation of this work lies in integrating a formal specification of the JMM with software model checkers. We show how our operational memory model description can be integrated into a Java Path Finder (JPF) style model checker for Java programs.
Resumo:
The presence of software bloat in large flexible software systems can hurt energy efficiency. However, identifying and mitigating bloat is fairly effort intensive. To enable such efforts to be directed where there is a substantial potential for energy savings, we investigate the impact of bloat on power consumption under different situations. We conduct the first systematic experimental study of the joint power-performance implications of bloat across a range of hardware and software configurations on modern server platforms. The study employs controlled experiments to expose different effects of a common type of Java runtime bloat, excess temporary objects, in the context of the SPECPower_ssj2008 workload. We introduce the notion of equi-performance power reduction to characterize the impact, in addition to peak power comparisons. The results show a wide variation in energy savings from bloat reduction across these configurations. Energy efficiency benefits at peak performance tend to be most pronounced when bloat affects a performance bottleneck and non-bloated resources have low energy-proportionality. Equi-performance power savings are highest when bloated resources have a high degree of energy proportionality. We develop an analytical model that establishes a general relation between resource pressure caused by bloat and its energy efficiency impact under different conditions of resource bottlenecks and energy proportionality. Applying the model to different "what-if" scenarios, we predict the impact of bloat reduction and corroborate these predictions with empirical observations. Our work shows that the prevalent software-only view of bloat is inadequate for assessing its power-performance impact and instead provides a full systems approach for reasoning about its implications.
Resumo:
Helburuak: Ikasmaterial honen helburu nagusia ikasleek C-ko eta Java-ko klase teorikoetan lantzen dituzten ezagutzak sendotzea da. Norentzat: Programazioari buruzko lehen ezagutzak sendotu nahi dituen edozein ikasleei zuzenduta, baina bereziki telekomunikazio ikasketak egiten ari diren ikasleei.
Resumo:
The effects of El Niño–Southern Oscillation events on catches of Bigeye Tuna (Thunnus obesus) in the eastern Indian Ocean (EIO) off Java were evaluated through the use of remotely sensed environmental data (sea-surface-height anomaly [SSHA], sea-surface temperature [SST], and chlorophyll a concentration), and Bigeye Tuna catch data. Analyses were conducted for the period of 1997–2000, which included the 1997–98 El Niño and 1999–2000 La Niña events. The empirical orthogonal function (EOF) was applied to examine oceanographic parameters quantitatively. The relationship of those parameters to variations in catch distribution of Bigeye Tuna was explored with a generalized additive model (GAM). The mean hook rate was 0.67 during El Niño and 0.44 during La Niña, and catches were high where SSHA ranged from –21 to 5 cm, SST ranged from 24°C to 27.5°C, and chlorophyll-a concentrations ranged from 0.04 to 0.16 mg m–3. The EOF analysis confirmed that the 1997–98 El Niño affected oceanographic conditions in the EIO off Java. The GAM results indicated that SST was better than the other environmental factors (SSHA and chlorophyll-a concentration) as an oceanographic predictor of Bigeye Tuna catches in the region. According to the GAM predictions, the highest probabilities (70–80%) for Bigeye Tuna catch in 1997–2000 occurred during oceanographic conditions during the 1997–98 El Niño event.
Resumo:
同步操作是并发Java程序非常大的一部分开销.在现有程序分析方法的基础上,提出了一种精确而有效的冗余同步操作的静态删除方法.该方法分为基本处理和线程间时序分析两个阶段,充分考虑了控制流结构和线程交互时序对同步删除的影响.构造了一个Java编译器JTool,并在其上实现了同步删除算法.对于确定的单线程程序,同步删除率达到100%;对于多线程程序,同步删除率高于现有的分析工具.
Resumo:
分析了Java哈希表的实现特点并给出了导致其性能恶化的一种数据模式.针对这种数据模式的特点,提出了基于素数序列的哈希表优化方法,从而几乎完全避免了该模式下哈希表的性能恶化.实验与理论结果表明:对提出的模式数据,优化方法产生的Hash碰撞比JDK中的方法下降接近100%,而且对随机数据下的Java哈希表性能也有改善.
Resumo:
介绍了静态分析的相关背景知识,对Java程序中数组越界和空指针错误的常见表现形式进行了归类,并通过实验评估了现有的Java静态分析工具功能,指出了其在跨过程分析中的不足,并对如何改进进行了讨论.
Resumo:
软件可靠性问题是软件测试中的重要难题之一,由于程序语言的复杂性以及被测程序的多样性,一直没有一个好的可靠性模型来评价它.鉴于此,依据软件可靠性工程理论,参考APLA→JAVA系统的特点,提出了一种基于测试的软件可靠性评估模型,讨论了模型的参数评估和置信区间,并给出了模型的评价方案.数据分析表明该模型具有合理性和可行性.
Resumo:
随着Internet的迅猛发展,陆续出现众多面向分发的应用,其数据源具有分布性、多样性、自治性和异构性,用户则具有大规模和数据需求的高度重叠性,数据流则呈现出从源到消费者的非对称性等特征。发布/订阅技术与传统的通信范型(消息传递、RPC/RMI和共享空间)相比,所具有的松散耦合、多点通信、匿名性和高可伸缩性等,使得它成为一种适用于大规模数据分发的理想通信方式。 现有的发布/订阅技术在表达能力、匹配的全面、准确和效率以及及时性服务质量保障等方面尚存在问题,不足以支持大规模的数据分发。本文研究的目标是,针对分布式环境下大规模的数据分发,深入研究发布/订阅系统的关键技术,重点解决发布/订阅系统的数据模型、匹配算法和及时性保障等三方面的问题,并开发出原型系统,为大规模的数据分发提供发布/订阅中间件支持,具体内容如下: 1) 语义数据模型 分布式计算环境下,数据源和数据消费者要跨越系统边界进行数据交互,就迫切需要解决事件和订阅的语义异构问题。已有的发布/订阅系统的数据模型的语义表达能力尚存在不足,且难以表达用户偏好。因此,针对该语义异构问题和已有数据模型的不足,采用了一种公共词汇表和语义上下文相结合的方法,建立了发布/订阅系统的语义数据模型,解决了在语义异构的数据环境下事件和订阅如何表示的问题。其中,提出了一种语义订阅语言SPS-EL来表示订阅条件,订阅条件中用属性过滤器的阈值和权重信息反映用户偏好。该模型考虑了事件和订阅所处的数据环境,增强了系统的表达能力,提高了用户表达订阅需求的灵活性。接着,提出了一种基于语义上下文的自动化的事件和订阅的转换机制,消除事件和订阅存在的语义异构,提高了转换效率。 2) 匹配算法 大规模数据分发环境下,订阅者的规模是巨大的,往往到几万甚至上百万,而且用户需求具有模糊性,如何准确、全面和高效地对发布事件进行匹配,确定对其感兴趣的订阅集仍然是一个挑战性问题。而目前已有的系统基本上都是从语法上进行事件与订阅的匹配,主要集中于提高匹配的效率,而缺乏对语义匹配的考虑且较少考虑匹配的全面性和准确性;认为订阅中的属性约束的重要性相同,属性匹配为布尔匹配,没有考虑匹配的相似度,难以匹配出更符合用户偏好的结果。针对该匹配问题和已有方法的不足,基于本文提出的语义数据模型,提出了一种基于语义的多阶段优化的事件匹配算法。该算法利用应用领域的公共词汇表的概念语义关系信息和订阅条件中的阈值和权重表示的用户偏好信息辅助匹配,提高匹配的全面性和准确性。同时,该算法采取多阶段优化的方法,建立高效索引,减少订阅搜索空间和属性过滤器比较次数,从而提高匹配效率。实验结果表明,该算法能够明显提高匹配的全面和准确性,匹配结果更符合用户偏好,并能保持较高的匹配效率。 3) 及时性保障 一些领域的应用对发布/订阅系统设施提出了及时性需求,如何在大规模动态分布式网络环境下满足订阅者的及时性需求并提高系统的有效性是一个挑战性问题。已有的传统的基于连接的资源保留的方法,会带来资源的浪费,违反了发布/订阅系统松散耦合的特性,不适合大规模数据分发场景;静态优先级的方法,其优先级是固定不变的且数目是有限的,不适应动态网络环境。因此,针对及时性保障问题和已有方案的不足,借鉴了经济学的方法,提出了一种支持及时性需求的传播、事件调度和分发机制,并保持了发布/订阅系统固有的松散耦合特性。在该机制中,建立了发布/订阅系统的延迟模型,引入了事件的期望收益、预期违约成本和推迟成本等度量指标,提出了一种基于收益机制的分布式发布/订阅系统及时性保障技术和使系统获益最大化的动态优先级调度算法MTEP(Maximum Total Earning Priority)。该调度算法利用价格、违约成本和延迟等信息,对事件进行及时有效地调度分发。实验结果表明,该机制能满足订阅者和发布者指定延迟约束的需求,能在系统高负载情况下使订阅者能接收到的有效事件明显增多并使系统收益显著改善。 最后,设计并实现了面向大规模数据分发的发布/订阅原型系统OnceDI/PS。该原型系统采用Java技术开发实现了本文提出的数据模型、匹配算法和及时性保障机制。
Resumo:
随着Java技术在嵌入式系统中的应用,它的缺点不断暴露,针对这种情况,本文介绍了一种能提高Java性能的嵌入式虚拟机(Jeode),以此来促进嵌入式系统的应用。
Resumo:
描述了一个Java自动化的单元测试工具JUTA.JUTA首先调用工具Soot解析单个Java方法的源码,并将源码解析成一个控制流图.在此基础上,采用符号执行的方法分析控制流图上的路径.工具能够自动地产生满足覆盖率标准的程序的测试用例.这种方法产生的所有测试用例都是可执行的,并且一般来说具有较小的测试用例数.如果用户能够合理地给出描述程序错误的断言,框架JUTA能够自动地检查源码中部分特定类型的错误.实验结果表明工具对Java单元代码的动态测试和静态测试均能在可接受的时间内给出有效的结果.
Resumo:
基于WEB服务器的机器人控制把传统机器人控制技术和最近数十年兴起的INTERNET技术结合到了一起。由于现在INTERNET技术的普及,这种技术结合消除了传统机器人在普通大众前的神秘感,使机器人的应用层次达到了普通百姓的认识层次。文章着重介绍了如何用Java语言开发遥操作系统。在设计该技术时充分考虑了机器人控制的实用性以及所采用的各种INTERNET通讯技术以满足传统机器人的控制要求。