Software Performance Engineering and Multicore Programming

Deep-dive into Performance Engineering & Multicore Computing. Learn about cache management, virtual machines, hypervisor

Ratings 1.00 / 5.00
Software Performance Engineering and Multicore Programming

What You Will Learn!

  • Define Software Performance Engineering
  • Learn Multicore Computing & Multicore Programming
  • Understand Parallelization and Cache Complexity
  • Take a deep-dive into Memory Hierarchy Optimization
  • Understand Virtual Machines and how they work
  • Learn Hypervisor Architecture
  • Define Montgomery's Trick and its application

Description

A warm welcome to the Software Performance Engineering and Multicore Programming course by Uplatz.


Software Performance Engineering (SPE) is a systematic method for constructing software systems to meet performance objectives. It is a systematic, quantitative approach to the cost-effective development of software systems to meet performance requirements. SPE is a software-oriented approach that focuses on architecture, design, and implementation choices. SPE gives you the information you need to build software that meets performance requirements on time and within budget.

SPE uses quantitative analysis techniques to predict and evaluate performance implications of design and implementation decisions. The process begins early in the software lifecycle and uses quantitative methods to identify satisfactory combinations of requirements and designs, and to eliminate those that are likely to have unacceptable performance, before developers begin implementation. SPE continues through the detailed design, coding, and testing stages to predict and manage the performance of the evolving software, and to monitor and report actual performance against specifications and predictions. SPE methods cover performance data collection, quantitative analysis techniques, prediction strategies, management of uncertainties, data presentation and tracking, model verification and validation, critical success factors, and performance design principles.

SPE provides an engineering approach to performance, eliminating the issues of performance-driven development and fix-it-later. SPE uses model predictions to evaluate trade-offs in software functions versus hardware costs. The models assist developers in controlling resource requirements by selecting architecture and design alternatives with acceptable performance characteristics. They aid in tracking performance throughout the development process and prevent problems from surfacing late in the life cycle (typically during performance and stress testing).


Multicore Programming refers to the approach of creating concurrent systems for deployment on multicore processor and multiprocessor systems. A multicore processor system is a single processor with multiple execution cores in one chip. By contrast, a multiprocessor system has multiple processors on the motherboard or chip. Multicore programming focuses on the following key elements:


  • Task Parallelism

  • Data parallelism

  • Pipelining

  • Structured grid


Software Performance Engineering and Multicore Programming - Course Curriculum


  1. Software Performance Engineering

  2. Introduction to Multicore Programming

  3. Multithreaded parallelism and Performance Measures

  4. Analysis of Multithreaded Algorithms

  5. Issues in Parallelization

  6. Synchronizing without locks and concurrent data structures

  7. Cache Complexity

  8. Montgomery Trick

  9. Space Vs Time Cache Vs Memory

  10. Experience in coding high performance numeric libraries

  11. FFT Based Polynomial Arithmetic on Multicore

  12. Parallel Programming for Many high-performance Architectures

  13. Memory Hierarchy Optimization-I

  14. Memory Hierarchy Optimization-II

  15. Writing Correct Programs

  16. Floating Point

  17. Applications

  18. Dynamic Scheduling Sorting

  19. Virtual Machines

  20. Hypervisor

  21. Multicore Computing

  22. Multicore Programming-I

  23. Multicore Programming-II

  24. Multicore Programming-III

  25. Multicore Programming-IV

  26. Multicore Programming-V

Who Should Attend!

  • System Performance Engineers
  • Software Engineers
  • Newbies & Beginners in the field of Performance Engineering
  • Anyone aspiring for a career in Software and Performance Engineering
  • System Engineers & Analysts
  • System Administrators
  • Cloud Architects & Engineers
  • Senior Software Performance Analysis Engineers
  • Performance Engineers
  • Software Testers
  • Embedded Engineers
  • Safety Performance Engineers
  • Quality Assurance Leads
  • Operational Performance Engineers
  • Electronics & Communication Engineers
  • Software Developers & Programmers

TAKE THIS COURSE

Tags

  • Performance Optimization
  • Performance Testing
  • Software Engineering
  • Memory Management

Subscribers

29

Lectures

26

TAKE THIS COURSE



Related Courses