-
SPAA 2011: Proceedings of the 23rd Annual ACM Symposium on Parallelism in Algorithms and Architectures, San Jose, CA, USA, June 4-6, 2011 (Co-located with FCRC 2011); 01/2011
-
Theor. Comput. Sci. 01/2011; 412:4200-4211.
-
[show abstract]
[hide abstract]
ABSTRACT: We present the first adaptive data structure for two-dimensional orthogonal range search. Our data structure is adaptive in
the sense that it gives improved search performance for data with more inherent sortedness. Given n points on the plane, the linear-space data structure can answer range queries in O(logn + k + m) time, where m is the number of points in the output and k is the minimum number of monotonic chains into which the point set can be decomposed, which is O(Ön)O(\sqrt{n}) in the worst case. Our result matches the worst-case performance of other optimal-time linear-space data structures, or surpasses
them when k=o(Ön)k=o(\sqrt{n}). Our data structure can also be made implicit, requiring no extra space beyond that of the data points themselves, in which
case the query time becomes O(k logn + m). We present a novel algorithm of independent interest to decompose a point set into a minimum number of untangled, same-direction
monotonic chains in O(kn + nlogn)time.
04/2009: pages 203-212;
-
Algorithms and Computation, 20th International Symposium, ISAAC 2009, Honolulu, Hawaii, USA, December 16-18, 2009. Proceedings; 01/2009
-
Algorithms and Computation, 20th International Symposium, ISAAC 2009, Honolulu, Hawaii, USA, December 16-18, 2009. Proceedings; 01/2009
-
ACM Journal of Experimental Algorithmics. 01/2009; 14.
-
Algorithms and Data Structures, 11th International Symposium, WADS 2009, Banff, Canada, August 21-23, 2009. Proceedings; 01/2009
-
[show abstract]
[hide abstract]
ABSTRACT: Paging for multicore processors extends the classical paging problem to a setting in which several processes simultaneously share the cache. Recently, Hassidim [16] studied cache eviction policies for multicores under the traditional competitive analysis metric, showing that LRU is not competitive against an offline policy that has the power of arbitrarily delaying request sequences to its advantage. In this paper we study caching under the more conservative model in which requests must be served as they arrive. We study the problem of minimizing the number of faults, deriving bounds on the competitive ratios of natural strategies to manage the cache. We then study the offline paging problem and show that deciding if a request can be served such that at a given time each sequence has faulted at most a given number of times is NP-complete and that its maximization version is APX-hard (for an unbounded number of sequences). Lastly, we describe offline algorithms for the decision problem and for minimizing the total number of faults that run in polynomial time in the length of the sequences.
-
-
[show abstract]
[hide abstract]
ABSTRACT: In the last few years, multicore processors have become the dominant processor architec-ture. While cache eviction policies have been widely studied both in theory and practice for sequential processors, in the case in which various simultaneous processes use a shared cache the performance of even the most common eviction policies is not yet fully understood, nor do we know if current best strategies in practice are optimal. In particular, there is almost no theoretical backing for the use of current eviction policies in multicore processors. Recently, a work by Hassidim [14] initiated the theoretical study of cache eviction policies for multicore pro-cessors under the traditional competitive analysis, showing that LRU is not competitive against an offline policy that has the power of arbitrarily delaying requests sequences to its advantage. In this paper we study caching under the more conservative model in which requests must be served as they arrive. We perform a thorough all-to-all comparison of strategies providing lower and upper bounds for the ratios between performances. We show that if the cache is partitioned, the partition policy has a greater influence on performance than the eviction policy. On the other hand, we show that sharing the cache among cores is in general better than partitioning the cache, unless the partition is dynamic and changes frequently, in which case shared cache strategies and dynamic partitions are essentially equivalent when serving disjoint requests.
-
[show abstract]
[hide abstract]
ABSTRACT: We present the first adaptive data structure for two-dimensional orthogonal range search. Our data structure is adaptive in the sense that it gives improved search performance for data that is better than the worst case (Demaine et al., 2000) [8]; in this case, data with more inherent sortedness.Given n points on the plane, the linear space data structure can answer range queries in O(logn+k+m) time, where m is the number of points in the output and k is the minimum number of monotonic chains into which the point set can be decomposed, which is in the worst case. Our result matches the worst-case performance of other optimal-time linear space data structures, or surpasses them when . Our data structure can be made implicit, requiring no extra space beyond that of the data points themselves (Munro and Suwanda, 1980) [16], in which case the query time becomes O(klogn+m). We also present a novel algorithm of independent interest to decompose a point set into a minimum number of untangled, similarly directed monotonic chains in O(k2n+nlogn) time.
Theoretical Computer Science. 412(32):4200-4211.