首页 | 本学科首页   官方微博 | 高级检索  
相似文献
 共查询到20条相似文献,搜索用时 31 毫秒
1.
Component‐oriented software has become a useful tool to build larger and more complex systems by describing the application in terms of encapsulated, loosely coupled entities called components. At the same time, asynchronous programming patterns allow for the development of efficient distributed applications. While several component models and frameworks have been proposed, most of them tightly integrate the component model with the middleware they run upon. This intertwining is generally implicit and not discussed, leading to entangled, hard to maintain code. This article describes our efforts in the development of the GCM/ProActive framework for providing distributed and adaptable autonomous components. GCM/ProActive integrates a component model designed for execution on large‐scale environments, with a programming model based on active objects allowing a high degree of distribution and concurrency. This new integrated model provides a more powerful development, composition, and execution environment than other distributed component frameworks. We illustrate that GCM/ProActive is particularly adapted to the programming of autonomic component systems, and to the integration into a service‐oriented environment. Copyright © 2014 John Wiley & Sons, Ltd.  相似文献   

2.
The static distribution of work among tasks is not possible in many parallel applications. Therefore, it is essential to implement convenient and efficient abstractions for ‘work sharing’ on multicomputers. This paper compares the utility of two operating system facilities for the implementation of such ‘work sharing’: (1) a system for the migration of processes from heavily to less loaded processors and (2) a more general OS construct for the implementation of arbitrary distributed objects. Both were implemented as extensions to the Intel iPSC/1 operating system on a 32-node hypercube. Their experimental evaluation is based on a parallel implementation of a branch-and-bound algorithm. Two sets of results are attained. First, the necessity of the constructs for dynamic work sharing is demonstrated for applications with dynamic data domains, such as parallel branch-and-bound algorithms. This is followed by measurements that demonstrate the acceptable cost of process migration for a specific parallel branch-and-bound algorithm. These measurements are then compared with results attained with the construct for the implementation of distributed objects. Second, when using branch-and-bound to solve the Travelling Salesperson Problem (TSP), evaluation of the resulting parallel TSP program shows that some analytical and simulation results attained in past, published work may not hold.  相似文献   

3.
Migration is a fundamental mechanism for achieving load balancing and locality of references in parallel and distributed applications. This paper presents the migration mechanisms implemented in the Parallel Objects (PO) programming environment, which assumes a fine granularity in allocation and reallocation of objects. In fact, a PO object can dynamically distribute its components onto several nodes depending on its dynamic need for resources, and the migration mechanisms implemented in PO allow object components to migrate independently of each other. This paper describes how the PO environment can exploit the migration mechanisms via an embedded load-balancing policy, possibly driven by user-defined allocation hints, and evaluates the effectiveness of the approach in several application examples.  相似文献   

4.
An output-sensitive visibility algorithm is one whose runtime is proportional to the number of visible graphic primitives in a scene model—not to the total number of primitives, which can be much greater. The known practical output-sensitive visibility algorithms are suitable only for static scenes, because they include a heavy preprocessing stage that constructs a spatial data structure which relies on the model objects’ positions. Any changes to the scene geometry might cause significant modifications to this data structure. We show how these algorithms may be adapted to dynamic scenes. Two main ideas are used: first, update the spatial data structure to reflect the dynamic objects’ current positions; make this update efficient by restricting it to a small part of the data structure. Second, use temporal bounding volumes (TBVs) to avoid having to consider every dynamic object in each frame. The combination of these techniques yields efficient, output-sensitive visibility algorithms for scenes with multiple dynamic objects. The performance of our methods is shown to be significantly better than previous output-sensitive algorithms, intended for static scenes. TBVs can be adapted to applications where no prior knowledge of the objects’ trajectories is available, such as virtual reality (VR), simulations etc. Furthermore, they save updates of the scene model itself; notjust of the auxiliary data structure used by the visibility algorithm. They can therefore be used to greatly reduce the communications overhead in client-server VR systems, as well as in general distributed virtual environments.  相似文献   

5.
Babylon is a collection of tools and services that provide a 100% Java‐compatible environment for developing, running and managing parallel, distributed and mobile Java applications. It incorporates features such as object migration, asynchronous method invocation, and remote class loading, while providing an easy‐to‐use interface. Additionally, Babylon enables Java applications to seamlessly create and interact with remote objects, while protecting those objects from other applications by implementing access restrictions and separate namespaces. The implementation of Babylon centers around dynamic proxies, a feature first available in Java 1.3, that allow proxy objects to be created at runtime. Dynamic proxies play a key role in achieving the goals of Babylon. The potential cluster computing benefits of the system are demonstrated with experimental results, which show that sequential Java applications can achieve significant performance benefits from using Babylon to parallelize their work across a cluster of workstations. Copyright © 2008 John Wiley & Sons, Ltd.  相似文献   

6.
Well-suited to embarrassingly parallel applications, the master–worker (MW) paradigm has largely and successfully used in parallel distributed computing. Nevertheless, such a paradigm is very limited in scalability in large computational grids. A natural way to improve the scalability is to add a layer of masters between the master and the workers making a hierarchical MW (HMW). In most existing HMW frameworks and algorithms, only a single layer of masters is used, the hierarchy is statically built and the granularity of tasks is fixed. Such frameworks and algorithms are not adapted to grids which are volatile, heterogeneous and large scale environments. In this paper, we revisit the HMW paradigm to match such characteristics of grids. We propose a new dynamic adaptive multi-layer hierarchical MW (AHMW  ) dealing with the scalability, volatility and heterogeneity issues. The construction and deployment of the hierarchy and the task management (deployment, decomposition of work, distribution of tasks, …) are performed in a dynamic collaborative distributed way. The framework has been applied to the parallel Branch and Bound algorithm and experimented on the Flow-Shop scheduling problem. The implementation has been performed using the ProActive grid middleware and the large experiments have been conducted using about 2000 processors from the Grid’5000 French nation-wide grid infrastructure. The results demonstrate the high scalability of the proposed approach and its efficiency in terms of deployment cost, decomposition and distribution of work and exploration time. The results show that AHMW outperforms HMW and MW in scalability and efficiency in terms of deployment and exploration time.  相似文献   

7.
Dynamic balancing of computation and communication load is vital for the execution stability and performance of distributed, parallel simulations deployed on the shared, unreliable resources of large-scale environments. High Level Architecture (HLA) based simulations can experience a decrease in performance due to imbalances that are produced initially and/or during run time. These imbalances are generated by the dynamic load changes of distributed simulations or by unknown, non-managed background processes resulting from the non-dedication of shared resources. Due to the dynamic execution characteristics of elements that compose distributed applications, the computational load and interaction dependencies of each simulation entity change during run time. These dynamic changes lead to an irregular load and communication distribution, which increases overhead of resources and latencies. A static partitioning of load is limited to deterministic applications and is incapable of predicting the dynamic changes caused by distributed applications or by external background processes. Therefore, a scheme for balancing the communication and computational load during the execution of distributed simulations is devised in a scalable hierarchical architecture. The proposed balancing system employs local and cluster monitoring mechanisms in order to observe the distributed load changes and identify imbalances, repartitioning policies to determine a distribution of load and minimize imbalances. A migration technique is also employed by this proposed balancing system to perform reliable and low-latency load transfers. Such a system successfully improves the use of shared resources and increases distributed simulations’ performance by minimizing communication latencies and partitioning the load evenly. Experiments and comparative analyses were conducted in order to identify the gains that the proposed balancing scheme provides to large-scale distributed simulations.  相似文献   

8.
Windows下基于ProActive并行计算的关键技术   总被引:3,自引:3,他引:0       下载免费PDF全文
董明刚  梁正友 《计算机工程》2006,32(19):105-107
针对现有并行计算技术的不足,提出了基于ProActive的Windows平台下的并行计算方法,对Windows平台下并行计算的结构、节点的动态部署、并行程序设计方法、并行任务调度等关键技术进行了研究,并初步实现了一个系统原型。实验证明该方案是可行的和有效的。  相似文献   

9.
梁正友  陈涛 《计算机工程》2009,35(20):273-275
针对单机网页索引器索引速度慢和串行倒排索引算法具有可并行处理的特性,提出分布式并行倒排索引算法。该算法应用分布式并行计算ProActive中间件和单机索引Lucene包,设计和实现一个在机群系统下工作的分布式并行网页索引器。实验结果表明,该索引器有较高的索引性能和较好的扩展性能。  相似文献   

10.
梁正友  张凌  董守斌 《计算机工程》2006,32(4):109-110,113
采用基于Java的ProActive并行分布对象工具和开发环境,设计了基于分布对象的网格性能监控和预测系统,其中的部分已鲐实现,初步实验表明,该系统能简便地实现系统组件在网格网络环境下自动进行部署和收集性能数据,表明了系统框架的可行性和可用性。  相似文献   

11.
张林才  梁正友 《计算机工程》2008,34(19):47-48,5
单机Web Spider的数据采集速度较慢,采用MPI技术或直接用Java开发分布式Web Spider代价较高。该文利用ProActive中间件提供的主动对象技术、网络并行计算技术、自动部署机制设计实现了P-Spider分布式并行Web Spider。实验结果表明,该P-Spider采集速率是单机多线程Web Spider的2.2倍。  相似文献   

12.
支持EJB动态分布的组件迁移模型与算法   总被引:10,自引:0,他引:10       下载免费PDF全文
范国闯  魏峻  钟华  冯玉琳 《软件学报》2004,15(3):404-413
Web应用服务器是Web计算环境下的新型中间件,为基于组件的分布式Web应用提供了基础运行平台.组件静态分布限制了事务性Web应用在运行期间适应执行环境变化的能力.为了满足Web应用的动态分布需求,Web应用服务器需在底层为组件提供一种动态迁移的能力.如何维持组件迁移前后的一致性是组件迁移中最棘手的问题之一.为解决此问题,定义了组件迁移一致性约束CMC(component migration constrains),并给出了在J2EE(Java 2 platform enterpnse edition)应用服务器中支持EJB(enterprise Java Bean)动态分布的组件迁移模型和SLB Copy,SFB_Copy,EB_Copy 3个迁移算法.分析得出SLB_Copy,SFB_Copy和EB_Copy均满足CMC约束.迁移模型和算法已在自主研制的Web应用服务器WebFrame2.0中实现,并已应用到自适应负载平衡、失效恢复等多个方面.  相似文献   

13.
Distributed Augmented Reality for Collaborative Design Applications   总被引:1,自引:0,他引:1  
This paper presents a system for constructing collaborative design applications based on distributed augmented reality. Augmented reality interfaces are a natural method for presenting computer-based design by merging graphics with a view of the real world. Distribution enables users at remote sites to collaborate on design tasks. The users interactively control their local view, try out design options, and communicate design proposals. They share virtual graphical objects that substitute for real objects which are not yet physically created or are not yet placed into the real design environment. We describe the underlying augmented reality system and in particular how it has been extended in order to support multi-user collaboration. The construction of distributed augmented reality applications is made easier by a separation of interface, interaction and distribution issues. An interior design application is used as an example to demonstrate the advantages of our approach.  相似文献   

14.
This paper presents a toolkit for supporting the execution of coarse-grain, parallel (distributed) applications under the MOSIX multicomputer operating system. These tools use standard UNIX System V process control and message-passing facilities, as well as the dynamic process migration mechanisms of MOSIX. The MPE tools can be used to modify sequential applications that were originally written for execution in a uniprocessor environment, to run efficiently in a distributed environment, consisting of several loosely coupled independent computers that communicate by messages. After presenting the MPE tools, the paper gives examples of several sequential algorithms that have been modified for execution in such a distributed multicomputer, as well as the resulting execution speed-ups that were obtained.  相似文献   

15.
Large information systems are typically distributed and cater to several client programs, with different needs. Traditional approaches to software development and deployment cannot handle situations where (i) the needs of one client application evolve over time, diverging from the needs of others, and (ii) when the server application cannot be shutdown for maintenance. In this paper, we propose an experimental framework for the unanticipated dynamic evolution of distributed objects that enables us to: (i) extend the behavior of distributed objects during run-time, requiring no shutdown, and (ii) offer different functionalities to different applications simultaneously. In our approach, new client programs can invoke behavioral extensions to server objects that are visible only to them, while legacy applications may continue to use the non-extended versions of the server. Our approach has the advantage of: (i) requiring no changes to the host programming language or to the virtual machine, and (ii) providing a transparent programming model to the developer. In this paper, we describe the problem of unanticipated dynamic evolution of distributed objects, the principles underlying our approach, and our prototype implementations for Java and C#. We conclude by discussing related work, and the extent to which our approach can be used to support industrial strength unanticipated evolution.  相似文献   

16.
Summary.  Distributed systems with a large number of nodes use internode reference counting for timely and fault-tolerant garbage collection. However, this fails to collect cyclic garbage distributed across nodes. One fix is to migrate all objects on a garbage cycle to a single node, where they can be collected by the tracing-based local collector. Existing proposals based on this technique have practical problems due to unnecessary migration of objects. We propose a scheme that avoids migration of live objects, batches objects to avoid a cascade of migration messages, and short-cuts the migration path to avoid multiple migrations. We use simple estimates to detect objects that are highly likely to be cyclic garbage and to select a node to which such objects are migrated. The scheme collects all distributed cyclic garbage, has low overhead, and preserves the decentralized and fault-tolerant nature of distributed reference counting and migration. Received: August 1995 / Accepted: August 1996  相似文献   

17.
虚拟企业中电子商务应用的工作流模型及实现   总被引:14,自引:0,他引:14  
虚拟中企业中电子商务技术应用的一个关键点是实现要实现跨组织、多数据库、实时的数据集成和过程集成,基于角色和扩展的Petri网,设计了一个能够建立虚拟企业中电子商务应用的工作流模型,并给出了原型系统的体系结构,该模型在概念层上比较容易表示各伙伴企业在实现业务目标时的动态行为;在物理实现时比较容易基于分布对象结构实现对象的即插即用、互操作,为虚拟企业实现电子商务应用提供了新的思路。  相似文献   

18.
Distributed skyline computation is important for a wide range of domains, from distributed and web-based systems to ISP-network monitoring and distributed databases. The problem is particularly challenging in dynamic distributed settings, where the goal is to efficiently monitor a continuous skyline query over a collection of distributed streams. All existing work relies on the assumption of a single point of reference for object attributes/dimensions: objects may be vertically or horizontally partitioned, but the accurate value of each dimension for each object is always maintained by a single site. This assumption is unrealistic for several distributed applications, where object information is fragmented over a set of distributed streams (each monitored by a different site) and needs to be aggregated (e.g., averaged) across several sites. Furthermore, it is frequently useful to define skyline dimensions through complex functions over the aggregated objects, which raises further challenges for dealing with distribution and object fragmentation. We present the first known distributed algorithms for continuous monitoring of skylines over complex functions of fragmented multi-dimensional objects. Our algorithms rely on decomposition of the skyline monitoring problem to a select set of distributed threshold-crossing queries, which can be monitored locally at each site. We propose several optimizations, including: (a) a technique for adaptively determining the most efficient monitoring strategy for each object, (b) an approximate monitoring technique, and (c) a strategy that reduces communication overhead by grouping together threshold-crossing queries. Furthermore, we discuss how our proposed algorithms can be used to address other continuous query types. A thorough experimental study with synthetic and real-life data sets verifies the effectiveness of our schemes and demonstrates order-of-magnitude improvements in communication costs compared to the only alternative centralized solution.  相似文献   

19.
This paper presents a parallel file object environment to support distributed array store on shared-nothing distributed computing environments. Our environment enables programmers to extend the concept of array distributions from memory levels to file levels. It allows parallel I/O that facilitates the distribution of objects in an application. When objects are read and/or written by multiple applications using different distributions, we present a novel scheme to help programmers to select the best data distribution pattern according to a minimum amount of remote data movements for the store of array objects on distributed file systems. Our selection scheme, to the best of our knowledge, is the first work to attempt to optimize the distribution patterns in the secondary storage for HPF-like programs with inter-application cases. This is especially important for a class of problems called multiple disciplinary optimization (MDO) problems. Our test bed is built on an 8-node DEC Farm connected with an ethernet, FDDI, or ATM switch. Our experimental results with scientific applications show that not only our parallel file system can provide aggregate bandwidths, but also our selection scheme effectively reduces the communication traffic for the system.  相似文献   

20.
协同在分布系统应用中是一个很有前途的新领域,该应用对分布技术提出了新的要求和挑战。在这种新的分布环境中,对象组模型是问题的关键所在。在本文中,我们基于CORBA平台,针对CSCW应用的要求,提出了一种对象组模型,介绍了组模型中各类对象之间的交互和协调关系,并给出了主要对象的接口定义语言的描述和说明。  相似文献   

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

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