Kesikli güce sahip sistemlerin geliştirilmesi için bir programlama dili ve sanal makinesi
A programming language and virtual machine for developing intermittently powered systems
Yazar: ÇAĞLAR DURMAZ
Danışman: DOÇ. DR. GEYLANİ KARDAŞ ; DOÇ. DR. KASIM SİNAN YILDIRIM
Ege Üniversitesi / Fen Bilimleri Enstitüsü / Uluslararası Bilgisayar Ana Bilim Dalı / Bilgi Teknolojileri Bilim Dalı
Derece: Doktora, 2022
Konu: Bilgisayar Mühendisliği Bilimleri-Bilgisayar ve Kontrol = Computer Engineering and Computer Science and Control
Dizin: Enerji hasadı = Energy harvest ; Hesaplama = Calculation ; Nesnelerin interneti = Internet of things ; Sanal makineler = Virtual machines

Özet:
Son on yılda hesaplama, algılama ve iletişim donanımlarının güç gereksinimleri azalmış ve enerji hasadı devreleri geliştirilmiştir. Güneş, titreşim ve radyo frekansı gibi ortam kaynaklarından enerji toplayarak pile ihtiyaç duymadan çalışabilen mikrodenetleyici tabanlı cihazlar ortaya çıkmıştır. Pilsiz cihazlar, ortamdan topladıkları enerjiyi küçük enerji depolarında biriktirerek mikrodenetleyici ve çevre birimlerine güç sağlar. Depolanan enerji tükendiğinde cihaz aniden gücünü kaybeder ve enerji ancak belirli bir eşik seviyesine ulaştıktan sonra cihaz tekrar çalışır. Bu olgu, kesikli güçle çalışan sistemlerin ve kesikli hesaplama adı verilen yeni bir hesaplama paradigmasının ortaya çıkmasına neden olmuştur. Kesikli hesaplama, uygulamaların güç kesintilerine rağmen doğru şekilde çalışmasını sağlamak için özel programlama modelleri gerektirir. Ancak, mevcut programlama modelleri ile donanım bağımsız ve tekrar kullanılabilir programlar üretilemez. Bu tez, bu sorunları çözmek için kesikli güç ile çalışan bilgisayarlar üzerine sanal makine tanımlayan ilk çalışmadır.  Tezde, kesikli güce sahip bilgisayarı soyutlayan PureVM adı verilen bir sanal makine ve "devam" bildiren PureLANG programlama dili tanıtılmıştır. Sanallaştırma sayesinde kesikli güç ile çalışan uygulamalar taşınabilir ve yeniden kullanılabilir hale getirilmiştir. PureVM sanal makinesi ile alanda çokça karşılaştırma yapılan programlama modeli arasındaki değerlendirmelerde PureVM programları çalışma zamanı açısından %25-%51 arasında daha iyi performans göstermiştir.

Abstract:
In the last decade, the power requirements of computing, sensing, and communication hardware have decreased, and energy harvesting circuits have evolved. Microcontroller-based devices have emerged that can operate without the need for batteries by collecting energy from ambient sources such as solar, and radio frequency. A battery-free device stores harvested energy in a small energy storage to power the microcontroller and peripherals. When the stored energy is exhausted, the device suddenly loses power. The device can only run again after the storage energy reaches a threshold level. This phenomenon has led to systems operating with intermittent power and the emergence of a new computing paradigm called intermittent computing. Intermittent computing requires special programming models to ensure that applications run correctly despite power failures. However, current programming models lead to hardware-dependent and non-reusable programs. This thesis is the first study to introduce virtualization for the transiently powered computers to solve these problems. A virtual machine called PureVM, which abstracts the transiently powered computer, and a continuation passing programming language PureLANG are introduced. With virtualization, intermittent power applications are made portable and reusable. In evaluations between the PureVM virtual machine and widely used programming model in the research area, PureVM programs performed 25\%-51\% better in terms of runtime.