<!DOCTYPE article PUBLIC "-//NLM//DTD JATS (Z39.96) Journal Archiving and Interchange DTD v1.0 20120330//EN" "JATS-archivearticle1.dtd">
<article xmlns:xlink="http://www.w3.org/1999/xlink">
  <front>
    <journal-meta />
    <article-meta>
      <title-group>
        <article-title>Yazılım Özelliklerinin Enerji Tüketimi Üzerine Etkileri</article-title>
      </title-group>
      <contrib-group>
        <contrib contrib-type="author">
          <string-name>Sedef Akınlı Koçak</string-name>
          <email>sedef.akinlikocak@ryerson.ca</email>
          <xref ref-type="aff" rid="aff0">0</xref>
          <xref ref-type="aff" rid="aff2">2</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Gülfem Işıklar Alptekin</string-name>
          <xref ref-type="aff" rid="aff0">0</xref>
          <xref ref-type="aff" rid="aff2">2</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Ayşe Başar Bener</string-name>
          <email>ayse.bener@ryerson.ca</email>
          <xref ref-type="aff" rid="aff0">0</xref>
          <xref ref-type="aff" rid="aff2">2</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Andriy Miranskyy</string-name>
          <email>andriy@ca.ibm.com</email>
          <xref ref-type="aff" rid="aff0">0</xref>
          <xref ref-type="aff" rid="aff1">1</xref>
          <xref ref-type="aff" rid="aff2">2</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Emre Doğan</string-name>
          <xref ref-type="aff" rid="aff0">0</xref>
          <xref ref-type="aff" rid="aff2">2</xref>
        </contrib>
        <aff id="aff0">
          <label>0</label>
          <institution>Anahtar Sözcükler Yeşil Bilişim</institution>
          ,
          <addr-line>Yeşil IT, Yeşil Yazılım, Enerji Tü- ketimi, Çevresel Sürdürülebilirlik, Enerji Etkinliği</addr-line>
        </aff>
        <aff id="aff1">
          <label>1</label>
          <institution>IBM Toronto Lab</institution>
          ,
          <country country="CA">Canada</country>
        </aff>
        <aff id="aff2">
          <label>2</label>
          <institution>Ryerson University, Environmental Applied Science and Management, Canada Galatasaray Üniversitesi, Bilgisayar Mühendisliği Bölümü, İstanbul Ryerson University, Mechanical and Industrial Engineering</institution>
          ,
          <country country="CA">Canada</country>
        </aff>
      </contrib-group>
      <fpage>35</fpage>
      <lpage>44</lpage>
      <abstract>
        <p>Özet. Yeşil yazılıma olan ilgi, hem akademik hem de endüstriyel dünyada gittikçe artmaktadır. Yeşil bir yazılım tasarlamak ve kodlamak, yazılım geliştirme şirketlerinin kurumsal sorumlulukları arasındaki yerini almıştır. Yazılım müşterileri, özellikle kurumsal müşteriler, seçimlerinde bu konuyu gözetmeye başlamışlardır. Çevresel sürdürülebilirliği olan bir yazılım geliştirmek meşakkatli bir süreçtir. Bu çalışmada, piyasada en bilinen veri tabanı yönetim sistemlerinden biri olan DB2 yazılımı ele alınmıştır. Deneysel çalışmalar için, DB2 üzerinde çalışan üç araç seçilmiştir. Bu araçlar aynı iş miktarı üzerinde kullanarak, altı farklı senaryo yaratılmıştır. Senaryoların birbirleriyle kıyaslanması için, üç grup yeşil ölçüt/kriter seçilmiştir: IT kaynak ölçütleri, yaşam döngüsü ölçütleri ve sistem enerji kullanımı ölçütleri. Sonuçlar, bu araçların yazılım sisteminin enerji etkinliği üzerine farklı bireysel ve bileşik etkileri olduğunu göstermiştir. Elde edilen sonuçların, yazılım sistemi performansı ve yazılım enerji tüketimi arasındaki ödünleşim modellerinde kullanılması mümkün olabilir.</p>
      </abstract>
    </article-meta>
  </front>
  <body>
    <sec id="sec-1">
      <title>Giriş</title>
      <p>
        Yeşil bilişim/IT, enerjiyi daha etkin kullanan donanımlar önerdiğinden, çevresel
sürdürülebilirliğe katkısı olan bir çalışma alanıdır. Bu mantıkla bakıldığında, yeşil
bilişime, işlevselliğini kaybettirmeden daha az enerji harcayan yazılım tasarlayıp
üretmek de dahil edilebilir. Kern vd., yaptıkları çalışmada, sadece yazılımın da, genel
enerji tüketimine azımsanmayacak derecede etki ettiğini göstermiştir [
        <xref ref-type="bibr" rid="ref1">1</xref>
        ]. Son yıllarda,
yazılım şirketleri karbon ayak izlerini küçültmeye çalışarak, yüksek rekabette bir
adım öne geçmeye çalışmaktadırlar. Bir yazılımın yeşilliği, o yazılımın geliştirilmesi,
teslimi ve bakımı süreçlerinin tümünü birden kapsamalıdır [
        <xref ref-type="bibr" rid="ref2">2</xref>
        ]. Global karbon
salınımını doğrudan etkilediği için, enerjinin etkin kullanımı, yeşil yazılımın da en
önemli konusudur.
      </p>
    </sec>
    <sec id="sec-2">
      <title>Daha önceki çalışmamızda, bir yazılım ürününün kullanıcı gereksinimlerine göre</title>
      <p>
        modernleştirme sürecindeki enerji tüketimi incelenmiştir [
        <xref ref-type="bibr" rid="ref3">3</xref>
        ]. Enerji tüketimine
doğrudan etkisi olduğunu düşünmemiz sebebiyle, veri sıkıştırma aracı ele alınmıştır.
Yazılımın işlevselliğini arttırmak ve enerji tüketimini azaltmak arasındaki ödünleşim
üzerinde durulmuştur. Bu çalışmada ise gerçek hayat senaryolarına daha da
yakınlaşmaya çalışılıp, araştırma sorusu olarak şu belirlenmiştir: “Yazılım araçlarının
enerji tüketimi üzerine bireysel ve bileşik etkileri nelerdir?” Bu soruya cevap
verebilmek ve yazılımın tükettiği enerji miktarını somut olarak ölçebilmek için yeşil
ölçütler/kriterlerden faydalanılmıştır. Dolayısıyla, bu çalışmadaki ikinci araştırma
sorusu da şu olmuştur: “Bir yazılım sisteminin enerji etkinliğini değerlendirmek için
faydalanılabilecek yeşil ölçütler nelerdir?”
      </p>
      <p>Ölçümleri gerçekleştirmek için, çok kullanılan veri tabanı yazılım sistemlerinden
olan DB2 seçilmiştir. Deneylere, ilk çalışmamıza ek olarak iki yazılım aracı daha
eklenmiştir. Bu sayede, daha ayrıntılı deney senaryoları yaratabilip; yazılım
araçlarının bireysel ve bileşik etkilerini daha iyi görebilmek mümkün olmuştur.
Birbirinden farklı altı deney senaryosu yaratılıp, her bir senaryodaki CPU kullanım oranı,</p>
    </sec>
    <sec id="sec-3">
      <title>I/O bekleme oranı, iş performansı ve toplam enerji tüketimi üstüne yoğunlaşılmıştır.</title>
    </sec>
    <sec id="sec-4">
      <title>Her bir senaryonun farklı enerji tüketim ve kaynak kullanım profili ürettiği</title>
      <p>saptanmıştır. Bu bilgiler, yöneticilerin yazılım geliştirme süreçlerini daha yeşil
kılabilmek için kurmak zorunda oldukları ödünleşim modellerinde etkin olarak
kullanılabilecektir. Kullanılmasını önerdiğimiz yeşil ölçütler, yazılım geliştiricilerin, ürettikleri
yazılımın ne kadar yeşil olduğunu somut olarak ölçmelerini sağlayacaktır.</p>
    </sec>
    <sec id="sec-5">
      <title>Makalenin 2. bölümünde, konuyla ilgili yapılan çalışmalar özetlenmiştir. 3. bölümde deneylerde kullanılan yeşil ölçütler, 4. bölümde ise üzerinde çalışılan deney altyapısı anlatılmıştır. 5. bölümde elde edilen sonuçlar verildikten sonra, bu sonuçlar tartışılarak makale sonlandırılmıştır.</title>
      <p>2</p>
      <p>İlgili Akademik Yazın</p>
    </sec>
    <sec id="sec-6">
      <title>Enerji yönetimi teknikleri, bilgisayar sistemlerinin birçok seviyesinde kullanılmak</title>
      <p>
        tadır. Enerji yönetimi konusundaki basit yaklaşım, kullanılmayan bileşeni düşük
enerji moduna geçirmek veya tamamen pasif hale getirmektir. Düşük enerji harcayan
yazılım konusundaki öncü çalışmalardan ikisinde, enerji komut seviyesinde
incelenmiş ve her bir komutun birim enerji harcadığı fikri ortaya atılmıştır [
        <xref ref-type="bibr" rid="ref4 ref5">4-5</xref>
        ]. Yeşil
ölçütler, enerji tüketimini değişik sistem seviyelerinde ölçmek için kullanılmıştır [
        <xref ref-type="bibr" rid="ref6">6</xref>
        ].
Akademik yazındaki çoğu araştırma, donanım ve yazılımın güce olan etkilerini
ölçmeyi amaçlamıştır. Yakın zamanda yayınlanan çalışmalardan birinde yazarlar,
yazılım alanında çevresel sürdürülebilirliği hedefleyen modeller öneren çalışmaların
eksikliğini belirtmişlerdir [
        <xref ref-type="bibr" rid="ref7">7</xref>
        ]. Geliştirdikleri ‘GreenSoft’ adlı modelle, yeşil yazılım
ölçütleri önermiş ve yeşil yazılım tasarımı ve geliştirme süreci ile ilgili teorik bir
model ortaya koymuşlardır. Ancak bu zaman kadar, yeşil ölçütleri kullanarak bir
yazılımın enerji etkinliğini ölçen bir çalışmaya rastlanılmamıştır.
      </p>
    </sec>
    <sec id="sec-7">
      <title>Yeşil ölçüt olarak önerilen birçok ölçüt olsa da [8], bu çalışma için sistemi bir bütün olarak kapsayan temel bir ölçüt kümesi seçilmiştir. Sistemin enerji etkinliğini ölçmek için kullanılan yeşil ölçütler Tablo 1’de özetlenmiştir.</title>
    </sec>
    <sec id="sec-8">
      <title>Tablo 1. Yeşil ölçütler</title>
      <sec id="sec-8-1">
        <title>Seçilen Yeşil Ölçütler</title>
      </sec>
      <sec id="sec-8-2">
        <title>IT Kaynak Kullanım</title>
      </sec>
    </sec>
    <sec id="sec-9">
      <title>CPU kullanım oranı</title>
    </sec>
    <sec id="sec-10">
      <title>I/O kullanımı</title>
      <p>Saklama birimi kullanımı
Yaşam Döngüsü</p>
    </sec>
    <sec id="sec-11">
      <title>Uygulama performansı (QoSL)</title>
      <sec id="sec-11-1">
        <title>Enerji Etkisi</title>
        <p>Sistem enerji tüketimi</p>
      </sec>
    </sec>
    <sec id="sec-12">
      <title>Uygulama enerji etkinliği</title>
      <sec id="sec-12-1">
        <title>Birim</title>
        <p>%
%
%</p>
      </sec>
    </sec>
    <sec id="sec-13">
      <title>Tamamlanan faydalı iş sayısı / kWh</title>
      <p>kWh
W/tamamlanan komut sayısı</p>
    </sec>
    <sec id="sec-14">
      <title>Bazı ölçütlerin hesaplanış biçimleri şu şekildedir:</title>
      <p>Uygulama performansı = Tamamlanan faydalı iş / Enerji tüketimi (1)
Uygulama enerji etkinliği = Enerji tüketimi / Tamamlanan komut sayısı (2)
Saklama birimi kullanımı = Kullanılan disk alanı / Ayrılan disk alanı (3)
Alan kazancı = 1 – (Sıkıştırılan veri boyutu / Sıkıştırılmamış veri boyutu) (4)</p>
    </sec>
    <sec id="sec-15">
      <title>Bu ölçütlerin sistemin genel performansı ve enerji etkinliği hakkında fikir verebileceğine inanılmıştır. Her bir senaryoya ait performans ise, uygulama performansı ölçütü ile hesaplanmaktadır.</title>
      <p>4
Vaka Analizi</p>
    </sec>
    <sec id="sec-16">
      <title>Deneylerin gerçekleştirildiği, özellikle modern veri tabanı sistemlerinde kullanılan üç</title>
      <p>farklı aracın kombinasyonlarının oluşturduğu altı farklı senaryo Tablo 2’de
özetlenmiştir. Yazılım olarak, Linux, Unix ve Windows 10.1 platformları üzerinde
çalışan DB2 seçilmiştir. DB2, 1992 yılından beri piyasada yer alan, kapsamlı bir veri
tabanı yönetim sistemidir.
4.1</p>
    </sec>
    <sec id="sec-17">
      <title>Kullanılan Yazılım Araçları</title>
    </sec>
    <sec id="sec-18">
      <title>Yazılım araçlarını kısaca özetleyelim:</title>
      <p>
        a) DB2 Adaptive Data Compression (C): Saklama alanları çoğu zaman veri
tabanlarının en çok maliyet yaratan bileşeni olmaktadır. Saklama alanında yaratılacak
ufak bir iyileştirme, tüm sistemde büyük bir maliyet azalmasına yol açabilmektedir.
DB2’nun son sürümünde, gelişmiş bir veri sıkıştırma eklentisi (adaptive data
compression) bulunmaktadır [
        <xref ref-type="bibr" rid="ref9">9</xref>
        ].
b) DB2 Design Advisor: Indexes (I): ‘Design advisor’ olarak isimlendirilen araç,
otomatik olarak sorguları analiz edip, yapılarına bakarak gerekli nesneleri (örneğin
tablo indisleri) önerir. Benzer bir analizi, veri tabanı yöneticisi de yapabilir; ancak
sorgu sayısı ve karmaşıklığı arttıkça iş yükü çok ciddi artmaktadır. ‘Index advisor’, bu
aracın içindeki alt araçlardan biridir ve veri tabanından veri çekme hızını arttıran bir
veri yapısıdır. Bu araç genelde, fazladan saklama alanı ve işlemci gücü (CPU)
gerektirmektedir.
c) DB2 Design Advisor: Indexes and Materialized Query Tables (I+MQT):
‘Design advisor’ aracının alt araçlarından bir diğeridir. Çok işlem gerektiren bazı
sorgu işlemlerinin (ör: join, sort) tekrar tekrar yapılmasını engelleyerek, sorgu
performansını üssel seviyelerde iyileştirebilir. Bu araç da fazladan saklama alanına ve
işlemci gücüne gereksinim duyar.
4.2
      </p>
    </sec>
    <sec id="sec-19">
      <title>Deney Ortamı</title>
    </sec>
    <sec id="sec-20">
      <title>Analizleri gerçeleştirmek için TPC-H (Transaction Processing Council)’dan alınan</title>
      <p>OLAP (online analytical processing) tipinde bir iş yükü kullanılmıştır. OLAP
sorguları kullanmanın avantajı, daha karmaşık ve daha büyük boyutlu verileri, daha hızlı
bir şekilde işlemeye olanak tanıması olmuştur. TPC, veri tabanı performansını ölçmek
için endüstrinin kullandığı bir standarttır. Veri tabanı içinde sekiz bağımsız tablo
içinde, 1 GB veri yer almaktadır. İşle ilgili, oldukça karmaşık, toplam 240 sorgudan
oluşmaktadır. Deney kapsamında, sorgular iki saat boyunca sırayla ve aralıksız
şekilde, Linux Ubuntu v.12.04 işletim sistemine sahip, 4 GB RAM’i ve çift çekirdekli
işlemcisi olan bir bilgisayar üzerinde çalıştırılmıştır. Her bir senaryo için, aynı
sorgular dört kere çalıştırılmış, son üç seferde hemen hemen aynı sonuçlar elde edildiği
saptanmış ve son üç seferin ortalamaları alınmıştır.
4.3</p>
    </sec>
    <sec id="sec-21">
      <title>Enerji Tüketimi Ölçme Yöntemi</title>
    </sec>
    <sec id="sec-22">
      <title>Bir yazılımın enerji tüketimini ne zaman ve nasıl ölçülmesi gerektiğini belirlemek,</title>
      <p>oldukça meşakkatli bir iştir. Akademik yazında farklı biçimler yer alsa da, bu çalışma
için kullanılan test ortamı, Şekil 1’de verilmiştir. İş yükü, iş yükü üreticisi tarafından
üretilir ve deney sistemine yollanır. Deneyler sistemin üzerinde doğrudan çalıştırılır.</p>
    </sec>
    <sec id="sec-23">
      <title>Güçölçerin okuduğu değerler ve sisteme ait tüm veriler (enerji tüketimi verileri, I/O sayıları, saklama birimi kullanım oranları, CPU kullanımı verileri), değerlendirilmek üzere veri toplayan birime gönderilir.</title>
    </sec>
    <sec id="sec-24">
      <title>Tablo 2. Yazılım araçlarının aktif olup olmamasına göre değişen senaryolar</title>
      <sec id="sec-24-1">
        <title>Veri sıkıştırma yok</title>
      </sec>
      <sec id="sec-24-2">
        <title>Veri sıkıştırma var “Design Advisor (DA) Objects” yok</title>
        <p>C-
DA(Senaryo 1)</p>
        <p>C+
DA(Senaryo 4)
“Indexes
suggested by DA” var</p>
        <p>C- I+
(Senaryo 2)</p>
        <p>C+ I+
(Senaryo 5)</p>
        <p>“Indexes &amp; MQTs
suggested by DA” var</p>
        <p>C- I+ MQT
(Senaryo 3)
C+ I+ MQT
(Senaryo 6)
İş yükü üreticisi</p>
        <p>Deney sistemi
İş yükü</p>
        <p>Performans verisi</p>
        <p>Güçölçer</p>
        <p>Güç verisi</p>
        <p>Verileri birleştiren birim
Şekil 1. Deney ortamı
5</p>
        <p>
          Analiz Sonuçları
Önceki çalışmamızda [
          <xref ref-type="bibr" rid="ref3">3</xref>
          ], sadece veri sıkıştırması aracının sistem enerji kullanımı
üzerindeki etkileri izlenmiştir. Elde edilen sonuçlara göre, veri sıkıştırması aracını
kullanarak, saklama alanı kullanımı %61 oranında, birim iş için tüketilen enerji ise
%34 oranında azalmıştı. Ayrıca veri sıkıştırıldığında, saatte işlenen komut sayısında
%97’lik bir artış olmuştu. Bu çalışmada ise, gerçek hayat senaryolarına daha çok
benzemek için, yazılıma iki araç daha eklenmiştir. Tablo 3, sistem boşken elde edilen
ölçümleri, Tablo 4 ise tüm deney sonuçlarını içermektedir.
        </p>
      </sec>
    </sec>
    <sec id="sec-25">
      <title>Tablo 3. Sistemin boşken ölçüm sonuçları</title>
      <p>Boş (IDLE)</p>
      <p>Toplam CPU
kullanım oranı (%)
0.09
Toplam I/O bekleme
oranı (%)
0.09
Sistem enerji kullanımı
(kWh)
0.14
5.1</p>
      <sec id="sec-25-1">
        <title>IT Kaynak Kullanımı Ölçütleri Sonuçları</title>
      </sec>
    </sec>
    <sec id="sec-26">
      <title>Kaynak kullanımı deyince akla ilk CPU kullanımı gelse de, enerji tüketimini sadece</title>
      <p>CPU kullanımı olarak görmemek gerekir. I/O sırasında beklemeler ve saklama alanı
kullanımı da kaynak kullanımları arasındadır. Şekil 2(a), kullanıcı sayısı ne olursa
olsun, veri sıkıştırma aracının CPU kullanımını çok arttırdığını göstermektedir. (I) ve
(MQT) araçlarının bir arada kullanımının CPU kullanımını azalttığı saptanmıştır
(Senaryo 1 vs. Senaryo 3). Tüm araçların bir arada kullanıldığı senaryoda, CPU
kullanımının ciddi derecede arttığı gözlemlenmiştir (Senaryo 6 vs. Senaryo 1). Bu
deneydeki ilginç bulgu ise, (C) ve (I+MQT) araçlarının bir arada kullanıldığı
durumdur (Senaryo 3 vs. Senaryo 6). Kullanıcı sayısı değişiminin, CPU kullanım oranını da
Kullanıcı
C-
DAC- I+
C+
DAC+ I+
değiştirdiği izlenmiştir. Örneğin, tek kullanıcılı sisteme veri sıkıştırma aracı (C)
eklendiğinde, CPU kullanımı dört kat artmıştır. Ancak, iki, dört ve sekiz kullanıcılı
sistemdeki CPU kullanımı sırasıyla 1.8, 1.1 ve 4 kat artmıştır (Senaryo 1 vs. Senaryo
4). Şekil 2(b)’deki toplam I/O bekleme oranı, I/O işlemleri sırasında CPU’nun
beklemek zorunda kaldığı döngü oranını göstermektedir Örneğin, Senaryo 1’deki tek
kullanıcılı durumda, döngülerin %45.4’lük kısmında CPU I/O işlemlerinin
tamamlanmasını beklemektedir (Tablo 4). Veri sıkıştırma aracı sayesinde, sabit
diskten yapılması gereken okuma isteği miktarı azaldığı için, I/O bekleme oranı tek
kullanıcılı sistem için %28, dört kullanıcılı sistem için %95 ve 8 kullanıcılı sistem için
ise %98 azalmıştır (Tablo 4). Sonuçlar, (I) ve (MQT) araçlarının veri sıkıştırması (C)
ile birlikte kullanıldığında I/O beklemeleri üzerinde olumlu iyileşme sağladığını
göstermektedir (Senaryo 3 vs. Senaryo 6). Yüksek I/O bekleme oranı, işlenen verinin
tamamının belleğe alınamaması demektir. Belleğe getirilemeyen veri, yüksek
miktarda okuma ve yazma isteğine sebep olmaktadır. Bu istekler sabit diskten
gerçekleştirildiği için, beklemeler olmaktadır (Senaryo 1, 2 ve 3). Kalan üç
senaryodaki istisnai durum, belleğe getirilmesi gereken verinin ciddi miktarda azalması
ile açıklanabilir. Daha fazla kullanıcı, daha fazla okuma isteği demek olduğundan,
CPU’nun daha fazla çalışması, dolayısıyla daha az beklemesi demektir. Deneylerde,
sadece Senaryo 4 dışında, her durumda daha fazla saklama birimine ihtiyaç
duyulduğunu gördük (Şekil 3(a)). Sonuçlar bize, CPU ve saklama birimi kullanımı
arasında bir ödünleşim olduğunu gösterdi. Senaryo 3’e bakıldığında, toplam CPU
kullanım oranının en düşük seviyede olduğu görülmektedir; ancak aynı senaryonun
bellek kullanımı en üst seviyededir. İş yükünün artışı, birim zamanda işlenen ortalama
komut sayısını arttırmış; bu da CPU kullanım oranını arttırmıştır (Şekil 2(a)).</p>
    </sec>
    <sec id="sec-27">
      <title>Tablo 4. Senaryolara ait ölçümler</title>
      <p>Saklama
(%)
0
1.76</p>
      <p>Komut sayısı
1
2
4
8</p>
      <p>Toplam CPU
kullanım oranı</p>
      <p>(%)
1 2 4
8
1</p>
      <p>Toplam I/O
bekleme
(%)
2 4
Uygulama performansı
(#faydalı iş/kWh)
8
1
2
4
8</p>
      <p>Uygulama enerji
etkinliği (W/işlem</p>
      <p>sayısı)
1 2 4 8
1
Sistem enerji
kullanımı
(kWh)
2 4
8</p>
    </sec>
    <sec id="sec-28">
      <title>Uygulama performansı, enerji tüketimi başına gerçekleştirilen faydalı iş olarak</title>
      <p>tanımlanmıştır. Son üç senaryodaki (özellikle Senaryo 6) uygulama performansı artışı,
ortalama CPU kullanımı artışından ve birim zamanda işlenen ortalama komut sayısı
artışından kaynaklanmaktadır. Bu da göstermektedir ki, birim zamanda işlenen komut
sayısındaki artış, CPU kullanım oranındaki artıştan çok daha yüksektir. Teorik olarak,
iş yükü miktarı sabitlendiğinde, donanım sadece bu iş yüküyle ilgilenir ve genelde</p>
    </sec>
    <sec id="sec-29">
      <title>CPU kullanım oranı görmezden gelinir. Şekil 2(a), Senaryo 6’da görülebileceği gibi,</title>
      <p>tüm araçları kullanmak faydalı gibi gözükmese de, bunun böyle olmadığını Şekil 3(b),</p>
    </sec>
    <sec id="sec-30">
      <title>Senaryo 6’da görüyoruz. Uygulama performansı en yüksek değerine, tüm araçlar bir arada kullanıldığı zaman ulaşmaktadır. Çünkü aslında, donanım birçok iş arasında paylaştırılmaktadır (özellikle sanallaştırmanın olduğu, bulut bilişim altyapılarında).</title>
      <p>5.3</p>
      <sec id="sec-30-1">
        <title>Enerji Ölçütleri Sonuçları</title>
        <p>Uygulama enerji etkinliği, bir tek komutu işlemek için gereken enerji anlamına
gelmektedir. Bu ölçüt sayesinde, bir işi tamamlamak için tüketilmesi gereken enerji
miktarı ortaya konulabilir. Birim zamanda tamamlanan ortalama komut sayısı
arttıkça, komut başına tüketilen enerji miktarında bir azalma görülür (Tablo 4). Şekil
4(a), her senaryoya ait enerji etkinliği sonuçlarını özetlemektedir. Uygulama
performansı sonuçlarına benzer şekilde, üç aracın birlikte çalıştırılmasının bileşik etkisi çok
barizdir (Senaryo 1 vs. Senaryo 6, özellikle tek kullanıcılı durumda). Bunun yanında,
kullanıcı sayısı arttıkça, faydalı iş miktarının da arttığı daha önce söylenmişti. Bunun
göze çarpan faydası, tüm araçların pasif konuma getirildiği Senaryo 1’de
gözükmektedir. Enerji bakımından en dikkat çekici olan, tüm araçların etkinleştirildiği
Senaryo 6’dır. Şekil 4(b), her senaryoda yazılım sisteminin toplamda ne kadar enerji
harcadığını kWh cinsinden göstermektedir. Açıkça görülmektedir ki, (I) ve (MQT)
araçları bir arada çalıştırıldığında enerji kazançları olmaktadır (Senaryo 1 vs. Senaryo
3).
6</p>
      </sec>
    </sec>
    <sec id="sec-31">
      <title>Sonuç ve Öneriler</title>
      <p>IT şirketleri, hem kendi maliyetlerini kısmak, hem de çevresel sürdürülebilirliğe
katkıda bulunmak amacıyla, yeşil/sürdürülebilir stratejilere gittikçe daha fazla ilgi
duymaya başladılar. Yakın geçmişte yapılan çalışmalar, sürdürülebilirliğe katkının sadece
donanımla değil, aynı zamanda yazılımla da yapılabileceğini göstermektedir. Yazılım
geliştirme süreci, müşteri talepleri ve enerji gereksinimleri arasında yapılması gereken
bir ödünleşim gerektirir olmuştur.
2,5
1,5
3
2
1
0,5</p>
      <p>0
-0,5
-1
1
user
2
users
Şekil. 3. (a) Saklama birimi kullanımı(%) (b) Uygulama performansı (işlem sayısı/kWh)
Şekil 4. (a) Uygulama enerji etkinliği (W/faydalı iş sayısı) (b) Uygulama enerji performansı
Bu makalede, yazılım araçlarının, yazılım enerji etkinliği üzerine bireysel ve bileşik
etkileri gösterilmiştir. Sistemin yeşil performansı, kullanılan farklı ölçütlerle
belirlenmiştir. DB2’ye ait MQT aracının veriyi bir yerde tutup oradan türetebileceği yerde,
gereksiz yere başka yerlerde de tuttuğunu ve bunun da fazladan saklama alanı israfı
yarattığı görülmüştür. Veriyi diskten belleğe atmak, veri tabanının en yavaş yaptığı
işlemlerinden biridir. Diskte sıkıştırılmış veri tutmak, sıkıştırılmamış birim veri
açısından düşünüldüğünde daha az I/O işlemi yapılmasını gerektirir. Dolayısıyla,
yoğun I/O gerektiren işlerde, sorgu işleme zamanlarında gözle görülür bir iyileşme
gözlemlenebilir. Ayrıca, DB2 prosesleri veriyi bellekte sıkıştırılmış şekilde
depolayabilmektedir. Bu da, sıkıştırılmamış şekilde tutmaya kıyasla daha az bellek gereksinimi
demektir. Böylece, fiziksel bir ek belleğe ihtiyaç duymadan, veri tabanı belleğini
arttırmak veya arta kalan belleği başka işlemler için kullanmak mümkündür. Bunun
da, veri tabanı performansına doğrudan olumlu etki yapacağı açıktır. Veri sıkıştırma
aracının (C) ve (I+MQT) aracının birlikte kullanıldığında ise, CPU kullanımının aşırı
derecede arttırdığı gösterilmiştir. Bu durumda, işlenen birim iş yükü de arttığı için,
uygulama performansı üzerinde de bir artış gözlemlenmiştir. Uygulama
performansının da, sistem enerji etkinliği üzerine doğrudan etkisi vardır. Diğer taraftan
bakıldığında, birim iş yükü artışı, daha fazla saklama alanı gerektirmektedir. Bu
durum bir ödünleşim problemi olarak görülebilir. İleriki çalışmalarda, bu tarz çevresel
sürdürülebilirlikle ilgili ödünleşim problemleri, yazılım geliştirme sürecine dahil
edilebilir. Kurulan modelle, verilen bütçe, kaynak ve enerji kısıtları uyarınca, yeşil
ölçütlerin optimum değerleri hesaplanabilir.
7</p>
      <p>Destek</p>
    </sec>
    <sec id="sec-32">
      <title>Bu araştırma, 13.401.004 numaralı Galatasaray Üniversitesi Bilimsel Araştırma Projesi tarafından finansal olarak desteklenmetedir.</title>
      <p>8
Kaynaklar</p>
    </sec>
  </body>
  <back>
    <ref-list>
      <ref id="ref1">
        <mixed-citation>
          1.
          <string-name>
            <surname>Kern</surname>
            ,
            <given-names>E.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Dick</surname>
            ,
            <given-names>M.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Johann</surname>
            ,
            <given-names>T.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Nauman</surname>
            ,
            <given-names>S.</given-names>
          </string-name>
          ,
          <year>2011</year>
          . “
          <article-title>Green Software and Green IT: An End Users Perspective”</article-title>
          , Engineering: Information Technologies in Environmental Engineering New Trends and Challenges, Springer Berlin Heidelberg,
          <fpage>198</fpage>
          -
          <lpage>211</lpage>
          (
          <year>2011</year>
          ).
        </mixed-citation>
      </ref>
      <ref id="ref2">
        <mixed-citation>
          2.
          <string-name>
            <surname>Taina</surname>
          </string-name>
          , J.,
          <source>“How green is your software?” Software Business</source>
          ,
          <volume>51</volume>
          :
          <fpage>151</fpage>
          -
          <lpage>162</lpage>
          (
          <year>2010</year>
          ).
        </mixed-citation>
      </ref>
      <ref id="ref3">
        <mixed-citation>
          3.
          <string-name>
            <given-names>Akınlı</given-names>
            <surname>Koçak</surname>
          </string-name>
          ,
          <string-name>
            <given-names>S.</given-names>
            ,
            <surname>Miransky</surname>
          </string-name>
          ,
          <string-name>
            <given-names>A.</given-names>
            ,
            <surname>Işıklar Alptekin</surname>
          </string-name>
          ,
          <string-name>
            <given-names>G.</given-names>
            ,
            <surname>Başar</surname>
          </string-name>
          <string-name>
            <surname>Bener</surname>
          </string-name>
          ,
          <string-name>
            <given-names>A.</given-names>
            ,
            <surname>Cialini</surname>
          </string-name>
          ,
          <string-name>
            <surname>E.</surname>
          </string-name>
          “
          <article-title>The impact of improving software functionality on environmental sustainability”</article-title>
          ,
          <source>Proceedings of the First International Conference on ICT for Sustainability (ICT4S)</source>
          , Zurich, Switzerland,
          <fpage>104</fpage>
          -
          <lpage>109</lpage>
          (
          <year>2013</year>
          ).
        </mixed-citation>
      </ref>
      <ref id="ref4">
        <mixed-citation>
          4.
          <string-name>
            <surname>Tiwari</surname>
            ,
            <given-names>V.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Malik</surname>
            ,
            <given-names>S.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Wolfe</surname>
            ,
            <given-names>A.</given-names>
          </string-name>
          “
          <article-title>Power Analysis of Embedded Software: A First Step Towards Software Power Minimization”</article-title>
          ,
          <source>IEEE Transactions on Very Large Scale Integration (VLSI) Systems</source>
          ,
          <volume>24</volume>
          :
          <fpage>437</fpage>
          -
          <lpage>445</lpage>
          (
          <year>1994</year>
          ).
        </mixed-citation>
      </ref>
      <ref id="ref5">
        <mixed-citation>
          5.
          <string-name>
            <surname>Tiwari</surname>
            ,
            <given-names>V.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Malik</surname>
            ,
            <given-names>S.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Wolfe</surname>
            ,
            <given-names>A.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Tien-Chien Lee</surname>
            ,
            <given-names>M.</given-names>
          </string-name>
          “
          <article-title>Instruction Level Power Analysis and Optimization of Software”</article-title>
          ,
          <source>The Journal of VLSI Signal Processing</source>
          ,
          <volume>13</volume>
          :
          <fpage>223</fpage>
          -
          <lpage>238</lpage>
          (
          <year>1996</year>
          ).
        </mixed-citation>
      </ref>
      <ref id="ref6">
        <mixed-citation>
          6.
          <string-name>
            <surname>Cappiello</surname>
            ,
            <given-names>C.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Fugini</surname>
            ,
            <given-names>M.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Pernici</surname>
            ,
            <given-names>B.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Plebani</surname>
            ,
            <given-names>P.</given-names>
          </string-name>
          “
          <article-title>Green Information systems for Sustainable IT” Information Technology and Innovation Trends in Organizations</article-title>
          ,
          <string-name>
            <surname>Physica-Verlag</surname>
            <given-names>HD</given-names>
          </string-name>
          ,
          <fpage>153</fpage>
          -
          <lpage>160</lpage>
          (
          <year>2011</year>
          ).
        </mixed-citation>
      </ref>
      <ref id="ref7">
        <mixed-citation>
          7.
          <string-name>
            <surname>Naumann</surname>
            ,
            <given-names>S.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Dick</surname>
            ,
            <given-names>M.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Kern</surname>
            ,
            <given-names>E.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Johann</surname>
            ,
            <given-names>T.</given-names>
          </string-name>
          , “
          <article-title>The GREENSOFT model: A reference model for green and sustainable software and its engineering”</article-title>
          ,
          <source>Sustainable Computing: Informatics and System</source>
          ,
          <volume>1</volume>
          :
          <fpage>294</fpage>
          -
          <lpage>304</lpage>
          (
          <year>2011</year>
          ).
        </mixed-citation>
      </ref>
      <ref id="ref8">
        <mixed-citation>
          8.
          <string-name>
            <surname>Kothiyal</surname>
            ,
            <given-names>R.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Tarasov</surname>
            ,
            <given-names>V.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Sehgal</surname>
            ,
            <given-names>P.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Zadok</surname>
            ,
            <given-names>E.</given-names>
          </string-name>
          , “
          <article-title>Energy and performance evaluation of lossless file data compression on server systems”</article-title>
          ,
          <source>Proceedings of ACM SYSTOR 2009: The Israeli Experimental Systems Conference</source>
          ,
          <fpage>4</fpage>
          -
          <lpage>16</lpage>
          (
          <year>2009</year>
          )..
        </mixed-citation>
      </ref>
      <ref id="ref9">
        <mixed-citation>
          9.
          <string-name>
            <surname>Bhattacharjee</surname>
            ,
            <given-names>B.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Lim</surname>
            ,
            <given-names>L.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Malkemus</surname>
            ,
            <given-names>T.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Mihaila</surname>
            ,
            <given-names>G.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Ross</surname>
            ,
            <given-names>K.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Lau</surname>
            ,
            <given-names>S.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>McArthur</surname>
            ,
            <given-names>C.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Toth</surname>
            ,
            <given-names>Z.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Sherkat</surname>
            ,
            <given-names>R.. “</given-names>
          </string-name>
          <article-title>Efficient index compression in DB2 LUW”</article-title>
          ,
          <source>Proceedings of the VLDB Endow</source>
          .
          <volume>2</volume>
          (
          <issue>2</issue>
          ):
          <fpage>1462</fpage>
          -
          <lpage>1473</lpage>
          (
          <year>2009</year>
          ).
        </mixed-citation>
      </ref>
    </ref-list>
  </back>
</article>