Skip to content
geeksforgeeks
  • Tutorials
    • Python
    • Java
    • Data Structures & Algorithms
    • ML & Data Science
    • Interview Corner
    • Programming Languages
    • Web Development
    • CS Subjects
    • DevOps And Linux
    • School Learning
    • Practice Coding Problems
  • Courses
    • DSA to Development
    • Get IBM Certification
    • Newly Launched!
      • Master Django Framework
      • Become AWS Certified
    • For Working Professionals
      • Interview 101: DSA & System Design
      • Data Science Training Program
      • JAVA Backend Development (Live)
      • DevOps Engineering (LIVE)
      • Data Structures & Algorithms in Python
    • For Students
      • Placement Preparation Course
      • Data Science (Live)
      • Data Structure & Algorithm-Self Paced (C++/JAVA)
      • Master Competitive Programming (Live)
      • Full Stack Development with React & Node JS (Live)
    • Full Stack Development
    • Data Science Program
    • All Courses
  • DSA
  • Practice Problems
  • C
  • C++
  • Java
  • Python
  • JavaScript
  • Data Science
  • Machine Learning
  • Courses
  • Linux
  • DevOps
  • SQL
  • Web Development
  • System Design
  • Aptitude
  • GfG Premium
Open In App
Next Article:
Dynamic Frequency Scaling and Dynamic Voltage Scaling
Next article icon

Dynamic Frequency Scaling and Dynamic Voltage Scaling

Last Updated : 01 Nov, 2019
Comments
Improve
Suggest changes
Like Article
Like
Report
'Frequency' in this context refers to the clock frequency or the frequency of operation of a CPU. So the term Dynamic Frequency Scaling refers to the change of the clock frequency of the CPU during runtime. Now the above definition would instantly give rise to the question, Why do we need to do that? The answer to this question lies at the trade off between Performance and Power Consumption. We know that the performance of a processor depends on 2 metrics, these are:
  1. CPU Response Time
  2. Throughput of the CPU
Performance metric is used for the determination of the performance of a Computer depends upon the application of the computer system. For example in case of Personal Computing Systems the Response Time is very important and often is the sole basis for the determination of the performance of the computer. Whereas in case of Servers the throughput i.e. is the amount of work done in a given amount of time is much more important. But, for the purpose of this article when we say 'Performance' we will be concerning ourselves only with the Response Time. On one hand we can increase the clock frequency of the CPU to reduce its response time and improve its performance but after a certain limit we need to also increase the voltage input to the CPU to maintain its stability at the high clock frequencies which in turn increases the Power Consumption and Heat Dissipation of the CPU, thereby shortening its lifespan. On the other hand we can reduce the clock frequency of the CPU below the standard values allowing us to undervolt the CPU and hence reduce the amount of Power Consumption by the CPU, but this has a negative impact on the CPU performance.
Performance {\propto} Clock Frequency                  Power Consumption {\propto} Clock Frequency
Now, Dynamic Frequency Scaling is a technique to balance the performance and Power Consumption. It refers to a continual variation of the clock frequency to optimize performance and Power Consumption of a CPU. Now the manner in which the CPU frequency is scaled is determined by the frequency scaling algorithm used and the present CPU load. These frequency scaling algorithms are part of the Kernel Code. Some of the most common Frequency Scaling Algorithms used in the Linux Kernel are:
  • Performance: This Frequency Scaling Algorithm statically fixes the frequency of the CPU to its highest possible value. This increases the Power Consumption by the CPU
  • Powersave: This Frequency Scaling Algorithm Statically fixes the frequency of the CPU to its lowest possible value. This takes it toll on the performance of the system.
  • Conservative: This Frequency Scaling Algorithm adjusts the frequency of the CPU to a certain minimum possible value so as to keep the CPU load below a certain percentage. This algorithm tries to optimize the power consumption while keeping the power consumption.

Next Article
Dynamic Frequency Scaling and Dynamic Voltage Scaling

A

ArnaMaity
Improve
Article Tags :
  • Computer Organization & Architecture
  • Technical Scripter 2018

Similar Reads

    Horizontal and Vertical Scaling | System Design
    In system design, scaling is crucial for managing increased loads. This article explores horizontal and vertical scaling, detailing their differences. Understanding these approaches helps organizations make informed decisions for optimizing performance and ensuring scalability as their needs evolveH
    8 min read
    Overview of Scaling: Vertical And Horizontal Scaling
    Given architecture is an example of a client-server based system. In this, there is a client who sends requests to the server and then the client receives a response from the server accordingly but when the number of users/clients increases, the load on the server increases enormously which makes it
    4 min read
    Horizontal and Vertical Scaling In Databases
    Scaling alters the size of a system. In the scaling process, we either compress or expand the system to meet the expected needs. The scaling operation can be achieved by adding resources to meet the smaller expectation in the current system, by adding a new system to the existing one, or both.  Type
    3 min read
    Difference between scaling horizontally and vertically for databases
    Scaling :It can be outlined as changing the size of something, for instance scaling the business. It is even same within the context of databases.There are two types of scaling :1. Horizontal scaling :Horizontal scaling means we scale by adding additional machines to our existing bunch of resources.
    1 min read
    Manual Scaling vs. Auto-Scaling in System Design
    In system design, scaling is key to handling variable loads efficiently. Manual scaling allows engineers to adjust resources based on expected demand, offering control but requiring oversight. Auto-scaling automates this process, dynamically adapting to real-time demand, improving resource efficienc
    3 min read
geeksforgeeks-footer-logo
Corporate & Communications Address:
A-143, 7th Floor, Sovereign Corporate Tower, Sector- 136, Noida, Uttar Pradesh (201305)
Registered Address:
K 061, Tower K, Gulshan Vivante Apartment, Sector 137, Noida, Gautam Buddh Nagar, Uttar Pradesh, 201305
GFG App on Play Store GFG App on App Store
Advertise with us
  • Company
  • About Us
  • Legal
  • Privacy Policy
  • In Media
  • Contact Us
  • Advertise with us
  • GFG Corporate Solution
  • Placement Training Program
  • Languages
  • Python
  • Java
  • C++
  • PHP
  • GoLang
  • SQL
  • R Language
  • Android Tutorial
  • Tutorials Archive
  • DSA
  • Data Structures
  • Algorithms
  • DSA for Beginners
  • Basic DSA Problems
  • DSA Roadmap
  • Top 100 DSA Interview Problems
  • DSA Roadmap by Sandeep Jain
  • All Cheat Sheets
  • Data Science & ML
  • Data Science With Python
  • Data Science For Beginner
  • Machine Learning
  • ML Maths
  • Data Visualisation
  • Pandas
  • NumPy
  • NLP
  • Deep Learning
  • Web Technologies
  • HTML
  • CSS
  • JavaScript
  • TypeScript
  • ReactJS
  • NextJS
  • Bootstrap
  • Web Design
  • Python Tutorial
  • Python Programming Examples
  • Python Projects
  • Python Tkinter
  • Python Web Scraping
  • OpenCV Tutorial
  • Python Interview Question
  • Django
  • Computer Science
  • Operating Systems
  • Computer Network
  • Database Management System
  • Software Engineering
  • Digital Logic Design
  • Engineering Maths
  • Software Development
  • Software Testing
  • DevOps
  • Git
  • Linux
  • AWS
  • Docker
  • Kubernetes
  • Azure
  • GCP
  • DevOps Roadmap
  • System Design
  • High Level Design
  • Low Level Design
  • UML Diagrams
  • Interview Guide
  • Design Patterns
  • OOAD
  • System Design Bootcamp
  • Interview Questions
  • Inteview Preparation
  • Competitive Programming
  • Top DS or Algo for CP
  • Company-Wise Recruitment Process
  • Company-Wise Preparation
  • Aptitude Preparation
  • Puzzles
  • School Subjects
  • Mathematics
  • Physics
  • Chemistry
  • Biology
  • Social Science
  • English Grammar
  • Commerce
  • World GK
  • GeeksforGeeks Videos
  • DSA
  • Python
  • Java
  • C++
  • Web Development
  • Data Science
  • CS Subjects
@GeeksforGeeks, Sanchhaya Education Private Limited, All rights reserved
We use cookies to ensure you have the best browsing experience on our website. By using our site, you acknowledge that you have read and understood our Cookie Policy & Privacy Policy
Lightbox
Improvement
Suggest Changes
Help us improve. Share your suggestions to enhance the article. Contribute your expertise and make a difference in the GeeksforGeeks portal.
geeksforgeeks-suggest-icon
Create Improvement
Enhance the article with your expertise. Contribute to the GeeksforGeeks community and help create better learning resources for all.
geeksforgeeks-improvement-icon
Suggest Changes
min 4 words, max Words Limit:1000

Thank You!

Your suggestions are valuable to us.

What kind of Experience do you want to share?

Interview Experiences
Admission Experiences
Career Journeys
Work Experiences
Campus Experiences
Competitive Exam Experiences