We present a cost-optimal parallel algorithm for the parentheses matching problem on the EREW PRAM model For n parentheses, the algorithm requires O(n/p + log n) time and O(n + p log p) space, employing p processors. ...
详细信息
The double fetch problem occurs when the data is maliciously changed between two kernel reads of the supposedly same data, which can cause serious security problems in the kernel. Previous research focused on the doub...
详细信息
The double fetch problem occurs when the data is maliciously changed between two kernel reads of the supposedly same data, which can cause serious security problems in the kernel. Previous research focused on the double fetches between the kernel and user applications. In this paper, we present the first dedicated study of the double fetch problem between the kernel and peripheral devices (aka. the hardware double fetch). Operating systems communicate with peripheral devices by reading from and writing to the device mapped I/O (input and output) memory. Owing to the lack of effective validation of the attached hardware, compromised hardware could flip the data between two reads of the same I/O memory address, causing a double fetch problem. We propose a static pattern-matching approach to identify the hardware double fetches from the Linux kernel. Our approach can analyze the entire kernel without relying on the corresponding hardware. The results are categorized and each category is analyzed using case studies to discuss the possibility of causing bugs. We also find four previously unknown double-fetch vulnerabilities, which have been confirmed and fixed after reporting them to the maintainers.
A race condition is a common trigger for concurrency bugs. As a special case, a race condition can also occur across the kernel and user space causing a doublefetch bug, which is a field that has received little resea...
详细信息
A race condition is a common trigger for concurrency bugs. As a special case, a race condition can also occur across the kernel and user space causing a doublefetch bug, which is a field that has received little research attention. In our work, we first analyzed real-world doublefetch bug cases and extracted two specific patterns for doublefetch bugs. Based on these patter ns, we proposed an approach of multi-taint parallel tracking to detect double-fetch bugs. We also implemented a prototype called DFTracker (doublefetch bug tracker), and we evaluated it with our test suite. Our experiments demonstrated that it could effectively find all the double-fetch bugs in the test suite including eight realworld cases with no false negatives and minor false positives. In addition, we tested it on Linux kernel and found a new double-fetch bug. The execution overhead is approximately 2x for single-file cases and approximately 9x for the whole kernel test, which is acceptable. To the best of the authors1 knowledge, this work is the first to introduce multi-taint parallel tracking to double-fetch bug detection—an innovative method that is specific to double-fetch bug features—and has better path coverage as well as lower runtime overhead than the widely used dynamic approaches.
Load balancing is an important component in improving the efficiency of distributed systems because it distributes an even workload over all the processors. This paper considers the problem of load-balancing a conserv...
详细信息
Load balancing is an important component in improving the efficiency of distributed systems because it distributes an even workload over all the processors. This paper considers the problem of load-balancing a conservative parallel simulation for execution on a multicomputer. The synchronization protocol makes use of Chandy-Misra (1979) null-messages. An earlier study conducted by Boukerche and Tropper (1994) showed that static load balancing for conservative parallel simulation is effective when the workload can be sufficiently well characterized beforehand. In this paper, we present a dynamic load balancing algorithm which assumes no compile-time knowledge about the workload parameters. It is based upon a process migration mechanism and the notion of CPU-queue length, which indicates the workload at each processor. We discuss the algorithm and its implementation, and report on the performance results of a simulation of FCFS (first-come, first-served) queueing network models on an Intel Paragon A4.
Grid-based simulations of hot fusion plasmas are often severely limited by computational and memory resources;the grids live in four- to six-dimensional space and thus suffer the curse of dimensionality. However, high...
详细信息
In this paper, we propose a mobile agent platform as an alternative to a message passing approach to solve a distributed search problem. The search problem is analyzed from two different perspectives, the single trave...
详细信息
This paper discusses the effect of processor failures on computation performed on two-dimensional VLSI processor arrays. Previously established properties of catastrophic fault patterns are used to study inherent limi...
详细信息
In this paper, we study the problem of implementing standard data structures on a hypercube multiprocessor. We present a technique for efficiently executing multiple independant search processes on a class of graphs c...
详细信息
Proxy caches are essential to improve the performance of World Wide Web and to enhance user perceived latency. In this paper, we propose a new Web object based policy to manage the storage system of a proxy cache. We ...
详细信息
Summary information from data in large databases is used to answer queries in On-Line Analytical Processing (OLAP) systems and to build decision support systems over them. The Data Cube is used to calculate and store ...
详细信息
暂无评论