Publication: OPTKIT : unleash the green potential of your CPU code
Program
Computer Sciences and Engineering
KU-Authors
KU Authors
Co-Authors
Authors
Advisor
YĆK Thesis ID
904972
Approval Date
Publication Date
Language
Type
Embargo Status
No
Journal Title
Journal ISSN
Volume Title
Alternative Title
OPTKIT: CPU kodunuzun yeÅil potansiyelini ortaya Ƨıkarın
Abstract
The analysis of energy consumption in software has traditionally taken a back seat to performance analysis. However, increasing environmental concerns, power and cooling limitations in expanding HPC systems and data centers, and the need for energy efficiency in power-constrained devices such as mobile phones, tablets, laptops, and IoT devices have brought significant focus to this area. While performance analysis has a wide range of tools, those specifically designed for software energy efficiency are scarce. This study introduces the Optimizer Toolkit (optkit), a dedicated library and toolset designed for the energy analysis and optimization of software runtime. optkit utilizes perf_event_open kernel call for PMU and RAPL, and msr-safe for cpu frequency operations. Inside the tool, there are Query* classes where the user can query anything regarding cpu, energy, and performance before taking any action. It includes useful utility tools that help users streamline the optimization process. In this work, we leverage optkit to evaluate the potential for reducing a system's energy consumption by strong-scaling core numbers in a given application. We then use these data to further reduce energy consumption through co-scheduling applications. In another use-case, we investigate the impact of CPU frequency on energy consumption and develop a methodology to dynamically detect the optimal frequency at runtime and adjusts frequencies based on execution phases to maximize energy savings. We find that not all applications scale linearly, and allocating appropriate resources yields better energy savings. Co-scheduling applications by using unassigned resources often saves more energy than serial execution counterparts. Although manually finding the best frequency offers the highest energy savings, our automated approach achieves up to 31.83% energy savings compared to normal execution of applications. The optkit tool is publicly available on GitHub.
Yazılımda enerji tüketiminin analizi, geleneksel olarak performans analizinin gerisinde kalmıÅtır. Ancak, artan Ƨevresel farkındalık, geliÅen yüksek performanslı systemler ve veri merkezleri, güç sınırlı, iot, mobil, dizi üstü bilgisayarlar vb. cihazlardaki enerji tüketiminin optimize edilmesi gibi sebepler bu alana olan ilgiyi arttırmıÅtır. Performans analizi geniÅ bir araƧ yelpazesi sunarken, yazılım enerji verimliliÄi iƧin ƶzel olarak tasarlanmıŠaraƧlar sınırlıdır hatta pek fazla yoktur. Bu ƧalıÅma, yazılım ƧalıÅma zamanının enerji analizi ve optimizasyonu iƧin tasarlanmıŠözel bir kütüphane ve araƧ seti olan Optimizer Toolkit (optkit)'i tanıtmaktadır. optkit, pmu ve rapl iƧin perf_event_open Ƨekirdek ƧaÄrısını ve CPU frekans iÅlemleri iƧin msr-safe'i kullanır. AraƧ iƧinde, kullanıcıların herhangi bir eylemde bulunmadan ƶnce cpu, enerji ve performans ile ilgili her Åeyi sorgulayabileceÄi Query* sınıfları bulunmaktadır. optkit kullanıcıların optimizasyon sürecini kolaylaÅtırmalarına yardımcı olan faydalı ekstra araƧlarla birlikte gelir. Bu ƧalıÅmada, optkit kullanarak bir sistemin enerji tüketimini deÄerlendirmeyi ve belirli bir uygulamada Ƨekirdek sayısını artırarak veya azaltarak bu tüketimi azaltma potansiyelini araÅtırıyoruz. Daha sonra, bu verileri uygulamalar eÅ zamanl ƧalÅtrarak enerji tüketimini daha da minimize etmek amacyla kullanyoruz. Alternatif bir senaryoda ise, CPU frekansının enerji tüketimi üzerindeki etkilerini analiz ediyoruz ve ƧalıÅma süresinde optimal frekansı dinamik olarak belirleyip enerji tasarrufunu maksimize etmek iƧin frekans ayarlama yƶntemleri geliÅtiriyoruz. Tüm uygulamaların doÄrusal olarak ƶlƧeklenmediÄini ve uygun kaynak tahsisinin daha iyi enerji tasarrufu saÄladıÄını buluyoruz. AtanmamıŠkaynakları kullanarak uygulamaları birlikte zamanlamak, genellikle seri yürütme eÅdeÄerlerinden daha fazla enerji tasarrufu saÄlar. En iyi frekansı manuel olarak bulmak en yüksek enerji tasarrufunu saÄlasa da, otomatik yaklaÅımımız normal uygulama yürütmesine kıyasla %31.83'e kadar enerji tasarrufu saÄlamaktadır.
Yazılımda enerji tüketiminin analizi, geleneksel olarak performans analizinin gerisinde kalmıÅtır. Ancak, artan Ƨevresel farkındalık, geliÅen yüksek performanslı systemler ve veri merkezleri, güç sınırlı, iot, mobil, dizi üstü bilgisayarlar vb. cihazlardaki enerji tüketiminin optimize edilmesi gibi sebepler bu alana olan ilgiyi arttırmıÅtır. Performans analizi geniÅ bir araƧ yelpazesi sunarken, yazılım enerji verimliliÄi iƧin ƶzel olarak tasarlanmıŠaraƧlar sınırlıdır hatta pek fazla yoktur. Bu ƧalıÅma, yazılım ƧalıÅma zamanının enerji analizi ve optimizasyonu iƧin tasarlanmıŠözel bir kütüphane ve araƧ seti olan Optimizer Toolkit (optkit)'i tanıtmaktadır. optkit, pmu ve rapl iƧin perf_event_open Ƨekirdek ƧaÄrısını ve CPU frekans iÅlemleri iƧin msr-safe'i kullanır. AraƧ iƧinde, kullanıcıların herhangi bir eylemde bulunmadan ƶnce cpu, enerji ve performans ile ilgili her Åeyi sorgulayabileceÄi Query* sınıfları bulunmaktadır. optkit kullanıcıların optimizasyon sürecini kolaylaÅtırmalarına yardımcı olan faydalı ekstra araƧlarla birlikte gelir. Bu ƧalıÅmada, optkit kullanarak bir sistemin enerji tüketimini deÄerlendirmeyi ve belirli bir uygulamada Ƨekirdek sayısını artırarak veya azaltarak bu tüketimi azaltma potansiyelini araÅtırıyoruz. Daha sonra, bu verileri uygulamalar eÅ zamanl ƧalÅtrarak enerji tüketimini daha da minimize etmek amacyla kullanyoruz. Alternatif bir senaryoda ise, CPU frekansının enerji tüketimi üzerindeki etkilerini analiz ediyoruz ve ƧalıÅma süresinde optimal frekansı dinamik olarak belirleyip enerji tasarrufunu maksimize etmek iƧin frekans ayarlama yƶntemleri geliÅtiriyoruz. Tüm uygulamaların doÄrusal olarak ƶlƧeklenmediÄini ve uygun kaynak tahsisinin daha iyi enerji tasarrufu saÄladıÄını buluyoruz. AtanmamıŠkaynakları kullanarak uygulamaları birlikte zamanlamak, genellikle seri yürütme eÅdeÄerlerinden daha fazla enerji tasarrufu saÄlar. En iyi frekansı manuel olarak bulmak en yüksek enerji tasarrufunu saÄlasa da, otomatik yaklaÅımımız normal uygulama yürütmesine kıyasla %31.83'e kadar enerji tasarrufu saÄlamaktadır.
Source
Publisher
KoƧ University
Subject
Computer engineering, Computer systems, Software engineering, Computer programming, High performance computing, Graphics processing units, Programming, Graph algorithms, Graphics processing units
Citation
Has Part
Source
Book Series Title
Edition
DOI
item.page.datauri
Link
Rights
restrictedAccess
Copyrights Note
© All Rights Reserved. Accessible to Koç University Affiliated Users Only!
