6036700
Functional Implementation Techniques for CPU Cache Memories
As the performance gap between processors and main memory continues to widen, increasingly aggressive implementations of cache memories are needed to bridge the gap. In this paper, we consider some of the issues that are involved in the implementation of highly optimized cache memories and survey the techniques that can be used to help achieve the increasingly stringent design targets and constraints of modern processors. In particular, we consider techniques that enable the cache to be accessed quickly and still achieve a good hit ratio. We also consider issues such as area cost and bandwidth requirements. Trace-driven simulations of a TPC-C-like workload and selected applications from the SPEC95 benchmark suite are used in the paper to compare the performance of some of the techniques.
2578042
Trustworthy keyword search for regulatory-compliant records retention
Recent litigation and intense regulatory focus on secure retention of electronic records have spurred a rush to introduce Write-Once-Read-Many (WORM) storage devices for retaining business records such as electronic mail. However, simply storing records in WORM storage is insuffcient to ensure that the records are trustworthy, i.e., able to provide irrefutable proof and accurate details of past events. Specifically, some form of index is needed for timely access to the records, but unless the index is maintained securely, the records can in effect be hidden or altered, even if stored in WORM storage. In this paper, we systematically analyze the requirements for establishing a trustworthy inverted index to enable keyword-based search queries. We propose a novel scheme for effcient creation of such an index and demonstrate, through extensive simulations and experiments with an enterprise keyword search engine, that the scheme can achieve online update speeds while maintaining good query performance. In addition, we present a secure index structure for multi-keyword queries that supports insert, lookup and range queries in time logarithmic in the number of documents.
5724385
An iterative relaxation technique for the NMR backbone assignment problem
NMR spectroscopy is one of the popular experiments to determine protein structures. An important stage of protein structure determination by using NMR is protein backbone resonance assignment (or backbone assignment for short). Due to the messiness and disorder of NMR spectral data, backbone assignment is usually a tedious and time-consuming manual work. This raises a great interest in developing an efficient and automatic method to perform backbone assignment. An iterative algorithm is proposed that is equipped with two operations: grouping and linking. Grouping is responsible for peak picking and part of connectivity determination. Ideally, those peaks with the same H/sup N/ and N chemical shifts can be grouped together; peaks belonging to the same group can be used to determine the order of two consecutive spin systems. However, in real situation, grouping is a difficult task due to false positives and false negatives. We sometimes add hypothetic peaks to tackle false negatives and use linking operation to remove false positives. Linking is responsible for part of connectivity determination and backbone assignment. Given a protein sequence and partial connectivity information, we try to link connected spin systems as much as possible. False positive spin systems may create conflicts in the linking stage. To find a good assignment on a noisy dataset, the backbone assignment problem is modeled as a maximum independent set problem. Although the problem is NP-complete, there are heuristic methods that obtain pretty good results.
15536153
Applying Cilk in Provably Efficient Task Scheduling
We consider the application of Cilk, a C-based runtime system for multithreaded parallel programming, in scheduling static task graphs. We assume no pre-emption of task execution and no prior knowledge of the task execution times. Given a task graph G, the output of the scheduling algorithm is a Cilk program which, when executed, will initiate the tasks in a manner consistent with the precedence requirement of G. We rst report a restriction arising from the computational model of Cilk in task scheduling, in the sense that optimal scheduling may not be achievable with Cilk for certain task graphs. Luckily the restriction does not fundamentally hinder the practical application of the Cilk tool, as we next show that it is possible to quickly produce a reasonably good quality schedule in the sense of expected execution time. Given a task graph, our algorithm partitions the task nodes into subsets called bundles. Each bundle is mapped into a Cilk procedure. The output program then consists of a series of such Cilk procedures. By using Tarjan's disjoint-set algorithm for handling the bundles, we demonstrate that the parallel schedule can be derived in O(n + e) time for all practical purposes, whereand e denote the number of nodes and edges in the task graph. We further show that, with P processors, the expected completion time for the scheduled tasks achieves a near-optimum of T P T 1 = P + 1:5T 1 , where T 1 denotes the work, i.e., the sequential execution time of all tasks, and T 1 denotes the critical path, i.e., the total execution time of all tasks lying on the longest dependency path. Our work represents a serious attempt to use Cilk to handle complicated types of concurrency.
1049682
An Empirical Comparison of Runtime Systems for Conservative Parallel Simulation
A main consideration when implementing a parallel simulation application is the choice of the parallel simulation protocol (conservative vs. optimistic). Given a particular protocol, the application programmer then has to determine a suitable parallel runtime system to implement the application. If the choice is an optimistic protocol, there are several parallel simulation libraries intended for application programmers (e.g. GTW, Warped). For a conservative protocol, the most effective approach is for the programmer to use a general parallel runtime library, and implement optimizations specific to the simulation application and/or model. In this paper, we selected four general parallel runtime libraries potentially relevant to parallel simulations, and implemented a conservative protocol on each of them. We study the four libraries on three main aspects: (a) programmability; (b) performance, and (c) mechanisms for performance tuning. Our target platforms are machines supporting shared address spaces (e.g. SGI Origin200, Sun Enterprise 3000), and we obtained performance figures from a 4-CPU Ultra2 Sun Enterprise 3000. From our experiments, we find that POSIX, though an industry standard, still has relatively high overheads, and cannot efficiently support a protocol with fine-grain LPs. The research libraries all show speedups on 4 processors, but to different extents. Cilk speedup curves improves with larger thread granularity, while Active threads show relatively good speedup even for small thread granularity. BSP processes are naturally coarse-grained, and thus good speedup is achieved in our simulation application.
269822
Visual Cue Cluster Construction via Information Bottleneck Principle and Kernel Density Estimation
Recent research in video analysis has shown a promising direction, in which mid-level features (e.g., people, anchor, indoor) are abstracted from low-level features (e.g., color, texture, motion, etc.) and used for discriminative classification of semantic labels. However, in most systems, such mid-level features are selected manually. In this paper, we propose an information-theoretic framework, visual cue cluster construction (VC3), to automatically discover adequate mid-level features. The problem is posed as mutual information maximization, through which optimal cue clusters are discovered to preserve the highest information about the semantic labels. We extend the Information Bottleneck framework to high-dimensional continuous features and further propose a projection method to map each video into probabilistic memberships over all the cue clusters. The biggest advantage of the proposed approach is to remove the dependence on the manual process in choosing the mid-level features and the huge labor cost involved in annotating the training corpus for training the detector of each mid-level feature. The proposed VC3 framework is general and effective, leading to exciting potential in solving other problems of semantic video analysis. When tested in news video story segmentation, the proposed approach achieves promising performance gain over representations derived from conventional clustering techniques and even the mid-level features selected manually.
87458683
A Knowledge-Based Approach to Protein Local Structure Prediction
Local structure prediction can facilitate ab initio structure prediction, protein threading, and remote homology detection. However, previous approaches to local structure prediction suffer from poor accuracy. In this paper, we propose a knowledge-based prediction method that assigns a measure called the local match rate to each position of an amino acid sequence to estimate the confidence of our approach. To remedy prediction results with low local match rates, we use a neural network prediction method. Then, we have a hybrid prediction method, HYPLOSP (HYbrid method to Protein LOcal Structure Prediction) that combines our knowledge-based method with a neural network method. We test the method on two different structural alphabets and evaluate it by QN, which is similar to Q3 in secondary structure prediction. The experimental results show that our method yields a significant improvement over previous studies.