DOC PREVIEW
CORNELL CS 612 - Cache Oblivious Algorithms and Data Structures

This preview shows page 1-2-3-23-24-25-26-46-47-48 out of 48 pages.

Save
View full document
View full document
Premium Document
Do you want full access? Go Premium and unlock all 48 pages.
Access to all documents
Download any document
Ad free experience
View full document
Premium Document
Do you want full access? Go Premium and unlock all 48 pages.
Access to all documents
Download any document
Ad free experience
View full document
Premium Document
Do you want full access? Go Premium and unlock all 48 pages.
Access to all documents
Download any document
Ad free experience
View full document
Premium Document
Do you want full access? Go Premium and unlock all 48 pages.
Access to all documents
Download any document
Ad free experience
View full document
Premium Document
Do you want full access? Go Premium and unlock all 48 pages.
Access to all documents
Download any document
Ad free experience
View full document
Premium Document
Do you want full access? Go Premium and unlock all 48 pages.
Access to all documents
Download any document
Ad free experience
View full document
Premium Document
Do you want full access? Go Premium and unlock all 48 pages.
Access to all documents
Download any document
Ad free experience
View full document
Premium Document
Do you want full access? Go Premium and unlock all 48 pages.
Access to all documents
Download any document
Ad free experience
View full document
Premium Document
Do you want full access? Go Premium and unlock all 48 pages.
Access to all documents
Download any document
Ad free experience
View full document
Premium Document
Do you want full access? Go Premium and unlock all 48 pages.
Access to all documents
Download any document
Ad free experience
Premium Document
Do you want full access? Go Premium and unlock all 48 pages.
Access to all documents
Download any document
Ad free experience

Unformatted text preview:

MotivationMotivationModelsRAM ModelExternal Memory ModelCache Oblivious ModelCache Oblivious AlgorithmsBrief HistoryMain ToolMatrix TranspositionCache Oblivious Data StructuresStatic Data StructuresSummarySummaryModelsCache Oblivious AlgorithmsCache Oblivious Data StructuresCache Oblivious Algorithmsand Data StructuresTheory and PracticeHitesh BallaniDepartment of Computer ScienceCornell UniversityCS 61231stMarchHitesh BallaniCache Oblivious Algorithms and Data StructuresModelsCache Oblivious AlgorithmsCache Oblivious Data StructuresMotivationMemory Hierarchy - A Fact of Lifea.k.a. the essence of CS 612Multi-level memory hierarchies are omnipresentMemory speed ∝ (Distance from processor)−1Good locality is important for achieving high performanceSPEEDREGISTERL1 CacheL2 CacheL3 CacheMemoryDiskCAPACITYHitesh BallaniCache Oblivious Algorithms and Data StructuresModelsCache Oblivious AlgorithmsCache Oblivious Data StructuresMotivationHardware Parametersits a jungle out thereModern hardware is not uniform - many differentparametersIn homework 1, we used X-RAY to measureCPU speedInstruction Latency/ThroughputNumber of registersSpecial Instructions (eg. fma)Cache Stride/Associativity/Capacity/Line-Size/Hit-LatencyCurrent programsignore the parameters - poor performancedetermine the parametersby hand, eg. hand-optimized BLAS librariesautomatically, eg. ATLAS generated BLAS librariesHitesh BallaniCache Oblivious Algorithms and Data StructuresModelsCache Oblivious AlgorithmsCache Oblivious Data StructuresMotivationHardware Parametersits a jungle out thereModern hardware is not uniform - many differentparametersIn homework 1, we used X-RAY to measureCPU speedInstruction Latency/ThroughputNumber of registersSpecial Instructions (eg. fma)Cache Stride/Associativity/Capacity/Line-Size/Hit-LatencyCurrent programsignore the parameters - poor performancedetermine the parametersby hand, eg. hand-optimized BLAS librariesautomatically, eg. ATLAS generated BLAS librariesHitesh BallaniCache Oblivious Algorithms and Data StructuresModelsCache Oblivious AlgorithmsCache Oblivious Data StructuresMotivationHardware Parametersits a jungle out thereModern hardware is not uniform - many differentparametersIn homework 1, we used X-RAY to measureCPU speedInstruction Latency/ThroughputNumber of registersSpecial Instructions (eg. fma)Cache Stride/Associativity/Capacity/Line-Size/Hit-LatencyCurrent programsignore the parameters - poor performancedetermine the parametersby hand, eg. hand-optimized BLAS librariesautomatically, eg. ATLAS generated BLAS librariesHitesh BallaniCache Oblivious Algorithms and Data StructuresModelsCache Oblivious AlgorithmsCache Oblivious Data StructuresMotivationIs it possible to abstract away this complexity?A model thatcould capture the essence of the hierarchywithout knowing its specificsAlgorithms that are efficient on all hierarchiessimultaneouslyand this holy grail is what Cache Oblivious Algorithms aimto attainHitesh BallaniCache Oblivious Algorithms and Data StructuresModelsCache Oblivious AlgorithmsCache Oblivious Data StructuresMotivationIs it possible to abstract away this complexity?A model thatcould capture the essence of the hierarchywithout knowing its specificsAlgorithms that are efficient on all hierarchiessimultaneouslyand this holy grail is what Cache Oblivious Algorithms aimto attainHitesh BallaniCache Oblivious Algorithms and Data StructuresModelsCache Oblivious AlgorithmsCache Oblivious Data StructuresMotivationIs it possible to abstract away this complexity?A model thatcould capture the essence of the hierarchywithout knowing its specificsAlgorithms that are efficient on all hierarchiessimultaneouslyand this holy grail is what Cache Oblivious Algorithms aimto attainHitesh BallaniCache Oblivious Algorithms and Data StructuresModelsCache Oblivious AlgorithmsCache Oblivious Data StructuresRAM ModelExternal Memory ModelCache Oblivious ModelRAM Model"Introduction to Algorithms" by Cormen et. al.The model we use to analyze algorithms in CS 681All basic operations take up constant timeComplexity is the number of operations executedLimited practical useDoes not take into account the differences of speeds ofrandom access to memoryHierarchical Memory Modelsaccount for multi-level hierarchiesfor eg, Aggarwal et. al., ’87too complicated for practical useHitesh BallaniCache Oblivious Algorithms and Data StructuresModelsCache Oblivious AlgorithmsCache Oblivious Data StructuresRAM ModelExternal Memory ModelCache Oblivious ModelRAM Model"Introduction to Algorithms" by Cormen et. al.The model we use to analyze algorithms in CS 681All basic operations take up constant timeComplexity is the number of operations executedLimited practical useDoes not take into account the differences of speeds ofrandom access to memoryHierarchical Memory Modelsaccount for multi-level hierarchiesfor eg, Aggarwal et. al., ’87too complicated for practical useHitesh BallaniCache Oblivious Algorithms and Data StructuresModelsCache Oblivious AlgorithmsCache Oblivious Data StructuresRAM ModelExternal Memory ModelCache Oblivious ModelRAM Model"Introduction to Algorithms" by Cormen et. al.The model we use to analyze algorithms in CS 681All basic operations take up constant timeComplexity is the number of operations executedLimited practical useDoes not take into account the differences of speeds ofrandom access to memoryHierarchical Memory Modelsaccount for multi-level hierarchiesfor eg, Aggarwal et. al., ’87too complicated for practical useHitesh BallaniCache Oblivious Algorithms and Data StructuresModelsCache Oblivious AlgorithmsCache Oblivious Data StructuresRAM ModelExternal Memory ModelCache Oblivious ModelExternal Memory Model (I/O Model)a two parameter model2 storage levelsCacheMemoryComplexity - number of transfersbetween cache and memoryAggarwal and Vitter, ’88MEMORYI/OBCACHEMCPULimitationsParameters B and M must be knownDoes not handle multiple memory levelsHitesh BallaniCache Oblivious Algorithms and Data StructuresModelsCache Oblivious AlgorithmsCache Oblivious Data StructuresRAM ModelExternal Memory ModelCache Oblivious ModelExternal Memory Model (I/O Model)a two parameter model2 storage levelsCacheMemoryComplexity - number of transfersbetween cache and memoryAggarwal and Vitter, ’88MEMORYI/OBCACHEMCPULimitationsParameters B and M must be knownDoes not handle multiple memory levelsHitesh BallaniCache Oblivious Algorithms and Data StructuresModelsCache Oblivious AlgorithmsCache


View Full Document

CORNELL CS 612 - Cache Oblivious Algorithms and Data Structures

Download Cache Oblivious Algorithms and Data Structures
Our administrator received your request to download this document. We will send you the file to your email shortly.
Loading Unlocking...
Login

Join to view Cache Oblivious Algorithms and Data Structures and access 3M+ class-specific study document.

or
We will never post anything without your permission.
Don't have an account?
Sign Up

Join to view Cache Oblivious Algorithms and Data Structures 2 2 and access 3M+ class-specific study document.

or

By creating an account you agree to our Privacy Policy and Terms Of Use

Already a member?