Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author.While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server.
Authors: Matteo Frigo, Charles E. Leiserson, Harald Prokop & Sridhar Ramachandran.
Presented By: Solodkin Yuri.
M = Ω(b2)
For i<- 1 to n/s
For j<- 1 to n/s
For k<- 1 to n/s
do Ord-Mult (Aik, Bkj, Cij, s)
o(1 + n2/b + (n/s)3(s2/b)) =
o(1 + n2/b + n3/(b*√M)).
Halve the largest of the three dimensions and recurs according to one of the three cases:
Qm(k) = O(1 + k + k3/b + k3 logmk/b) cache misses.
k < α√M the k-merger fitsinto cache.
O(1+ri/b) = O(k+k3/b).
A(k) = k(1 + 2clogMk/b) = o(k3).
Recursively sort each subarray.
2.Distribute the sorted subarrays into q buckets B1,…,Bqof size n1,…,nq such that
3.Recursively sort each bucket.
4.Copy the sorted buckets to array A.
Q(n, M, b) = O(Q(n , 2M, b))
1. D. D. Sleator and R. E. Tarjan. Amortized efficiency of list update and paging rules. Communications of the ACM, 28(2):202–208, Feb. 1985.
Θ(Q(n, M, b)).
Thanks to Bobby Blumofe who sparked early discussions about what we now call cache obliviousness.