6005789
Optimizing SMT Processors for High Single-Thread Performance
Simultaneous Multithreading (SMT) processors achieve high processor throughput at the expense of single-thread performance. This paper investigates resource allocation policies for SMT processors that preserve, as much as possible, the single-thread performance of designated “foreground” threads, while still permitting other “background” threads to share resources. Since background threads o ns uch an SMT machine have an ear-zero performance impact on foreground threads, we refer to the background threads as transparent threads. Transparent threads are ideal for performing low-priority or non-critical computations, with applications in process scheduling, subordinate multithreading, and on-line performance monitoring. To realize transparent threads, we propose three mechanisms for maintaining the transparency of background threads: slot prioritization, background thread instruction-window partitioning, and background thread flushing. In addition, we propose three mechanisms to boost background thread performance without sacrificing transparency: aggressive fetch partitioning, foreground thread instruction-window partitioning, and foreground thread flushing. We implement our mechanisms on a detailed simulator of an SMT processor, and evaluate them using 8 benchmarks, including 7 from the SPEC CPU2000 suite. Our results show when cache and branch predictor interference are factored out, background threads introduce less than 1% performance degradation on the foreground thread. Furthermore, maintaining the transparency of background threads reduces their throughput by only 23% relative to an equal priority scheme. To demonstrate the usefulness of transparent threads, we study Transparent Software Prefetching (TSP), an implementation of software data prefetching using transparent threads. Due to its near-zero overhead, TSP enables prefetch instrumentation for all loads in a program, eliminating the need for profiling. TSP, without any profile information, achieves a 9.41% gain across 6 SPEC benchmarks, whereas conventional software prefetching guided by cache-miss profiles increases performance by only 2.47%.
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.
6394953
Accelerating Database Processing at e-Commerce Sites
Most e-commerce Web sites dynamically generate their contents through a three-tier server architecture composed of a Web server, an application server, and a database server. In such an architecture, the database server easily becomes a bottleneck to the overall performance. In this paper, we propose WDBAccel, a high-performance database server accelerator that significantly improves the throughput of the database processing, and thus that of the overall Web site. WDBAccel eliminates costly, complex query processing needed to obtain query results by reusing previous query results for subsequent queries. This differentiates WDBAccel from other database cache systems, which replicate a database into multiple conventional DBMS’s and distribute queries among them. We evaluate the performance of WDBAccel by using the queries of the TPC-W benchmark. The measurement results show that WDBAccel outperforms DBMS-based cache systems by up to an order of magnitude.
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.
17674865
Characterizing and Classifying Desktop Grid
Desktop Grid has recently received the strong attraction for executing high throughput applications as CPU, storage and network capacities improve and become cheaper. Desktop Grid is different from Grid in many respects, but there is no general survey or taxonomy for desktop Grid. Therefore, we propose a new comprehensive taxonomy and survey of desktop Grid in order to characterize and categorize desktop Grid.
41968338
Group-Based Scheduling Scheme for Result Checking in Global Computing Systems
This paper considers the problem of correctness to fault-tolerance in global computing systems. Global computing system has been shown to be exposed to intentional attacks, where authentication is not relevant, network security techniques are insufficient. To guarantee correctness for computation, fault-tolerance schemes have been used to majority voting and spot-checking but these schemes intend to high computation delay because are not applied scheduling scheme for result checking. In this paper, we propose a new technique called GBSS(Group-Based Scheduling Scheme) which guarantee correctness and reduce computation delay by using fault-tolerant scheduling scheme to the result checking. Additionally, simulation results show increased usable rate of the CPU and increased performance of the system.
24012185
Dynamic Scheduling Mechanism for Result Certification in Peer to Peer Grid Computing
In a peer to peer grid computing environment, volunteers have heterogeneous properties and dynamically join and leave during execution. Therefore, it is essential to adapt to an unstable and widely distributed environment. However, existing scheduling and result certification mechanisms do not adapt to such a dynamic environment. As a result, they undergo high overhead, performance degradation, and scalability problems. 
 
To solve the problems, we propose a new scheduling mechanism for result certification. The proposed mechanism applies different scheduling and result certification algorithms to different volunteer groups that are classified on the basis of their properties such as volunteering service time, availability, and credibility. It also exploits mobile agents in a distributed way in order to adapt to a dynamic peer to peer grid computing environment.