Geri Dön

OPTKIT: Unleash the Green Potential of Your CPU Code

OPTKIT: CPU Kodunuzun Yeşil Potansiyelini Ortaya çıkarın

  1. Tez No: 904972
  2. Yazar: OSMAN YASAL
  3. Danışmanlar: YRD. DOÇ. DR. DİDEM UNAT ERTEN
  4. Tez Türü: Yüksek Lisans
  5. Konular: Bilgisayar Mühendisliği Bilimleri-Bilgisayar ve Kontrol, Enerji, Computer Engineering and Computer Science and Control, Energy
  6. Anahtar Kelimeler: Belirtilmemiş.
  7. Yıl: 2024
  8. Dil: İngilizce
  9. Üniversite: Koç Üniversitesi
  10. Enstitü: Fen Bilimleri Enstitüsü
  11. Ana Bilim Dalı: Bilgisayar Bilimleri ve Mühendisliği Ana Bilim Dalı
  12. Bilim Dalı: Bilgisayar Mühendisliği Bilim Dalı
  13. Sayfa Sayısı: 65

Özet

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.

Özet (Çeviri)

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

Benzer Tezler