9484226
Group-based dynamic computational replication mechanism in peer-to-peer grid computing
A peer-to-peer grid computing is complicated by heterogeneous capabilities, failures, volatility, and lack of trust because it is based on desktop computers at the edge of the Internet. In order to improve the reliability of computation and gain better performance, a replication mechanism must adapt to these distinct features. In other words, it is required to classify volunteers into groups that have similar properties and then dynamically apply different replication algorithms to each group. However, existing mechanisms do not provide such a replication mechanism on a per group basis. As a result, they cause a high overhead and poor performance. To solve the problems, we propose a new group-based computational replication mechanism to adapt to an unstable, untrusted, dynamic peer-to-peer grid computing environment. Our mechanism can reduce the number of redundancy and therefore complete many tasks by adaptively replicating computations on the basis of the properties of volunteer group such as availability, credibility, and volunteering service time
34200542
MJSA: Markov job scheduler based on availability in desktop grid computing environment
In a desktop grid computing environment, voluntary desktops (i.e., resource providers) are free to leave and join independently in the middle of execution. To develop a reliable desktop grid computing system, a scheduling scheme must consider the dynamic nature (i.e., volatility) of volunteers. Existing desktop grid computing systems, however, do not consider volatility in their scheduling procedures. As a result, job execution is often suspended, resulting in delayed completion time and degraded performance and reliability. To solve these limitations, we propose the Markov Job Scheduler based on Availability (MJSA) supporting three advanced scheduling schemes: OPTIMIST, PESSIMIST, and REALIST. These scheduling schemes are based on stochastic modeling of desktop availability. In the OPTIMIST scheme, in which time constraints are relaxed, the MJSA provides reliable resource selection at low cost. In the PESSIMIST scheme, where time constraints are rigid, the MJSA enables stable makespan in strictly time. Finally, in the REALIST scheme, where time constraints are only partially relaxed, the MJSA provides enhanced cost efficiency. In conclusion, the MJSA improves performance and reliability by adapting the appropriate scheduling scheme when selecting volunteers according to the needs of applications.
10832557
Adaptive group scheduling mechanism using mobile agents in peer-to-peer grid computing environment
Peer-to-peer grid computing is an attractive computing paradigm for high throughput applications. However, both volatility due to the autonomy of volunteers (i.e., resource providers) and the heterogeneous properties of volunteers are challenging problems in the scheduling procedure. Therefore, it is necessary to develop a scheduling mechanism that adapts to a dynamic peer-to-peer grid computing environment. In this paper, we propose a Mobile Agent based Adaptive Group Scheduling Mechanism (MAAGSM). The MAAGSM classifies and constructs volunteer groups to perform a scheduling mechanism according to the properties of volunteers such as volunteer autonomy failures, volunteer availability, and volunteering service time. In addition, the MAAGSM exploits a mobile agent technology to adaptively conduct various scheduling, fault tolerance, and replication algorithms suitable for each volunteer group. Furthermore, we demonstrate that the MAAGSM improves performance by evaluating the scheduling mechanism in Korea@Home.
16177959
Multi-Node Global Directory Construction in Peer-to-Peer Systems
In P2P systems, the speed of searching for desired lists of sharable files is one of the most important measurement issues in evaluation of overall system performance. Although the searching schemes of existing non-structured P2P systems have been improved to enhance speed considerably, they still never reach to the level of those of the centralized and structured systems. In this paper, we propose a multi-node global directory in P2P systems, where all the lists of sharable resources of the joining peers are aggregated and divided into the chosen nodes while keeping collating sequence as a whole to make one big linked list. Thus in indexed sequential searching, the system provides us with convenience of using the command like 'dir' of MS-DOS, and in general keyword searching, which is naturally impossible for the structured P2P systems, the searching speed is even faster than those of centralized P2P systems since a small list segment is scanned at each node synchronously in parallel
468988
Volunteer availability based fault tolerant scheduling mechanism in desktop grid computing environment
Fault tolerance is essential to the further development of desktop grid computing system in order to guarantee continuous and reliable execution of tasks in spite of failures. In a desktop grid computing environment, volunteers are often susceptible to volunteer autonomy failures such as volatility failure and interference failure in the middle of execution of tasks because a desktop grid computing maximally respects autonomy of volunteers. The failures result in an independent livelock problem (i.e. the delay and blocking of the entire execution of a job). Therefore, the failures should be considered in a scheduling mechanism. In This work, in order to tolerate volunteer autonomy failures, we propose a new fault tolerant scheduling mechanism. First, we specify a volunteer autonomy failures and an independent livelock problem. Then, we propose a volunteer availability which reflects the degree of volunteer autonomy failures. Finally, we propose a fault tolerant scheduling mechanism based on volunteer availability (which is called VAFTSM).
1688268
Mobile Agent Based Adaptive Scheduling Mechanism in Peer to Peer Grid Computing
In a peer to peer grid computing environment, volunteers are exposed to failures such as crash and link failures. In addition, since volunteers can dynamically join and leave executions and they are not dedicated only to a peer to peer grid computing, the executions of volunteers are stopped or suspended more frequently than in a grid computing environment. These failures result in the delay and blocking of the executions of tasks and even partial or entire loss of the executions. In addition, these failures make it difficult for a volunteer server to schedule tasks and manage the allocated tasks as well as volunteers. Existing peer to peer grid computing systems, however, do not deal with these failures in scheduling mechanisms. Moreover, since existing scheduling mechanisms are performed only by a volunteer server in a centralized way, there is a high overhead. 
 
To solve these problems, we propose a mobile agent based adaptive scheduling mechanism (MAASM). We implemented MAASM in Korea@Home and ODDUGI mobile agent system. The MAASM reduces the overhead of volunteer server by using mobile agents in scheduling procedure in a distributed way. In addition, it tolerates the various failures(especially, volunteer autonomy failures) which frequently occur in a peer to peer grid computing environment. Consequently, MAASM guarantees reliable and continuous executions in spite of the failures, so it decreases total execution time.
9780462
Learning-Based SMT Processor Resource Distribution via Hill-Climbing
The key to high performance in simultaneous multithreaded (SMT) processors lies in optimizing the distribution of shared resources to active threads. Existing resource distribution techniques optimize performance only indirectly. They infer potential performance bottlenecks by observing indicators, like instruction occupancy or cache miss counts, and take actions to try to alleviate them. While the corrective actions are designed to improve performance, their actual performance impact is not known since end performance is never monitored. Consequently, potential performance gains are lost whenever the corrective actions do not effectively address the actual bottlenecks occurring in the pipeline. We propose a different approach to SMT resource distribution that optimizes end performance directly. Our approach observes the impact that resource distribution decisions have on performance at runtime, and feeds this information back to the resource distribution mechanisms to improve future decisions. By evaluating many different resource distributions, our approach tries to learn the best distribution over time. Because we perform learning on-line, learning time is crucial. We develop a hill-climbing algorithm that efficiently learns the best distribution of resources by following the performance gradient within the resource distribution space. This paper conducts an in-depth investigation of learning-based SMT resource distribution. First, we compare existing resource distribution techniques to an ideal learning-based technique that performs learning off-line. This limit study shows learning-based techniques can provide up to 19.2% gain over ICOUNT, 18.0% gain over FLUSH, and 7.6% gain over DCRA across 21 multithreaded workloads. Then, we present an on-line learning algorithm based on hill-climbing. Our evaluation shows hill-climbing provides a 12.4% gain over ICOUNT, 11.3% gain over FLUSH, and 2.4% gain over DCRA across a larger set of 42 multiprogrammed workloads
2658837
A general framework for prefetch scheduling in linked data structures and its application to multi-chain prefetching
Pointer-chasing applications tend to traverse composite data structures consisting of multiple independent pointer chains. While the traversal of any single pointer chain leads to the serialization of memory operations, the traversal of independent pointer chains provides a source of memory parallelism. This article investigates exploiting such interchain memory parallelism for the purpose of memory latency tolerance, using a technique called multi--chain prefetching. Previous works [Roth et al. 1998;Roth and Sohi 1999] have proposed prefetching simple pointer-based structures in a multi--chain fashion. However, our work enables multi--chain prefetching for arbitrary data structures composed of lists, trees, and arrays.This article makes five contributions in the context of multi--chain prefetching. First, we introduce a framework for compactly describing linked data structure (LDS) traversals, providing the data layout and traversal code work information necessary for prefetching. Second, we present an off-line scheduling algorithm for computing a prefetch schedule from the LDS descriptors that overlaps serialized cache misses across separate pointer-chain traversals. Our analysis focuses on static traversals. We also propose using speculation to identify independent pointer chains in dynamic traversals. Third, we propose a hardware prefetch engine that traverses pointer-based data structures and overlaps multiple pointer chains according to the computed prefetch schedule. Fourth, we present a compiler that extracts LDS descriptors via static analysis of the application source code, thus automating multi--chain prefetching. Finally, we conduct an experimental evaluation of compiler-instrumented multi--chain prefetching and compare it against jump pointer prefetching [Luk and Mowry 1996], prefetch arrays [Karlsson et al. 2000], and predictor-directed stream buffers (PSB) [Sherwood et al. 2000].Our results show compiler-instrumented multi--chain prefetching improves execution time by 40% across six pointer-chasing kernels from the Olden benchmark suite [Rogers et al. 1995], and by 3% across four SPECint2000 benchmarks. Compared to jump pointer prefetching and prefetch arrays, multi--chain prefetching achieves 34% and 11% higher performance for the selected Olden and SPECint2000 benchmarks, respectively. Compared to PSB, multi--chain prefetching achieves 27% higher performance for the selected Olden benchmarks, but PSB outperforms multi--chain prefetching by 0.2% for the selected SPECint2000 benchmarks. An ideal PSB with an infinite Markov predictor achieves comparable performance to multi--chain prefetching, coming within 6% across all benchmarks. Finally, speculation can enable multi--chain prefetching for some dynamic traversal codes, but our technique loses its effectiveness when the pointer-chain traversal order is highly dynamic.
19983253
A selective DVS technique based on battery residual
Abstract Conventional research on DVS assumes that the battery, which is the power source of most mobile devices, provides constant power; the battery, however, has unique discharge characteristics due to its chemical properties. Based on the residual characteristics of the battery, this paper presents a practical approach towards a battery-aware DVS mechanism that can easily be applied to conventional operating systems. The proposed policy monitors the battery residual in runtime, classifies the current battery state as one of three—the recovery effect region, the rate capacity region and the alarm region—then applies a suitable DVS algorithm according to each region, which takes advantage of the underlying battery characteristics. Experiments on commercial PDAs (iPAQ5550 and Zaurus SL-860 PDA) running MPEG applications showed that our policy significantly extends the battery lifetime, compared to the conventional DVS method, with only a marginal QoS degradation.
5975093
Multi-chain prefetching: effective exploitation of inter-chain memory parallelism for pointer-chasing codes
Presents multi-chain prefetching, a technique that utilizes offline analysis and a hardware prefetch engine to prefetch multiple independent pointer chains simultaneously, thus exploiting inter-chain memory parallelism for the purpose of memory latency tolerance. This paper makes three contributions. First, we introduce a scheduling algorithm that identifies independent pointer chains in pointer-chasing codes and computes a prefetch schedule that overlaps serialized cache misses across separate chains. Our analysis focuses an static traversals. We also propose using speculation to identify independent pointer chains in dynamic traversals. Second, we present the design of a prefetch engine that traverses pointer-based data structures and overlaps multiple pointer chains according to our scheduling algorithm. Finally, we conduct an experimental evaluation of multi-chain prefetching and compare its performance against two existing techniques: jump pointer prefetching and prefetch arrays. Our results show that multi-chain prefetching improves the execution time by 40% across six pointer-chasing kernels from the Olden benchmark suite and by 8% across four SPECInt CPU2000 benchmarks. Multi-chain prefetching also outperforms jump pointer prefetching and prefetch arrays by 28% on Olden, and by 12% on SPECInt. Furthermore, speculation can enable multi-chain prefetching for some dynamic traversal codes, but our technique loses its effectiveness when the pointer-chain traversal order is unpredictable. Finally, we also show that combining multi-chain prefetching with prefetch arrays can potentially provide higher performance than either technique alone.
7326399
A Scalable Update Management Mechanism for Query Result Caching Systems at Database-Driven Web Sites
A key problem in using caching technology for dynamic contents lies in update management. An update management scheme should be very efficient without imposing much extra burden to the system, especially to the original database server. We propose an scalable update management mechanism for query result caching in database-backed Web sites. Our mechanism employs a two-phase consistency checking method, which prunes out unaffected queries at the earliest possible moment. The method scales well with a high number of cached instances.