Architecting for Performance - A Top-Down Approach
Offered By: Devoxx via YouTube
Course Description
Overview
Explore a comprehensive top-down approach to architecting for performance in this 49-minute Devoxx conference talk. Delve into performance design principles, tactics, patterns, algorithms, and strategies across multiple layers of abstraction, from high-level software architecture to operating system and hardware optimizations. Learn about Big O complexity, caching techniques, batching, synchronous design, Java-specific considerations, memory access optimization, and testing methodologies. Discover advanced concepts such as open addressing, lock-free programming, compare-and-swap operations, cache-oblivious algorithms, and data-oriented design. Gain insights into thread affinity, non-uniform memory access, large pages implementation, file system optimizations, and strategies to avoid false sharing. Explore SSD tuning, I/O scheduler configurations, and power-saving states. Conclude with practical recommendations and references for further study in performance engineering.
Syllabus
Introduction
Big O complexity
Cache
Batching
Designing synchronous
Java
Memory Access
Testing
OpenAddressing
LockFree
Compare and Swap
Comparing Swap API
Cache oblivious algorithms
Example
Dataoriented design
Thread affinity
Nonuniform memory access
Large pages
Guidelines for large pages
RunFS and TempFS
False sharing
Possible false sharing
SSD tuning
IO schedulers
Idle power saving states
Recommendations
References
Taught by
Devoxx
Related Courses
Pattern-Oriented Software Architectures: Programming Mobile Services for Android Handheld SystemsVanderbilt University via Coursera The Caltech-JPL Summer School on Big Data Analytics
California Institute of Technology via Coursera Automated Visual Software Analytics
openHPI Software Architecture & Design
Georgia Institute of Technology via Udacity Software Architecture for the Internet of Things
EIT Digital via Coursera