MACROMODELING AND CHARACTERIZATION OF …...Major Subject: Computer Engineering. MACROMODELING AND...

57
MACROMODELING AND CHARACTERIZATION OF FILESYSTEM ENERGY CONSUMPTION FOR DISKLESS EMBEDDED SYSTEMS A Thesis by SIDDHARTH CHOUDHURI Submitted to the Office of Graduate Studies of Texas A&M University in partial fulfillment of the requirements for the degree of MASTER OF SCIENCE August 2003 Major Subject: Computer Engineering

Transcript of MACROMODELING AND CHARACTERIZATION OF …...Major Subject: Computer Engineering. MACROMODELING AND...

Page 1: MACROMODELING AND CHARACTERIZATION OF …...Major Subject: Computer Engineering. MACROMODELING AND CHARACTERIZATION OF FILESYSTEM ENERGY CONSUMPTION FOR DISKLESS EMBEDDED SYSTEMS A

MACROMODELING AND CHARACTERIZATION OF FILESYSTEMENERGY

CONSUMPTIONFORDISKLESSEMBEDDEDSYSTEMS

A Thesis

by

SIDDHARTH CHOUDHURI

Submittedto theOfficeof GraduateStudiesofTexasA&M University

in partialfulfillment of therequirementsfor thedegreeof

MASTER OFSCIENCE

August2003

Major Subject:ComputerEngineering

Page 2: MACROMODELING AND CHARACTERIZATION OF …...Major Subject: Computer Engineering. MACROMODELING AND CHARACTERIZATION OF FILESYSTEM ENERGY CONSUMPTION FOR DISKLESS EMBEDDED SYSTEMS A

MACROMODELING AND CHARACTERIZATION OF FILESYSTEMENERGY

CONSUMPTIONFORDISKLESSEMBEDDEDSYSTEMS

A Thesis

by

SIDDHARTH CHOUDHURI

Submittedto TexasA&M Universityin partialfulfillment of therequirements

for thedegreeof

MASTER OFSCIENCE

Approvedasto styleandcontentby:

RabiMahapatra(Chairof Committee)

LawrenceRauchwerger(Member)

A. L. NarasimhaReddy(Member)

ValerieE. Taylor(Headof Department)

August2003

Major Subject:ComputerEngineering

Page 3: MACROMODELING AND CHARACTERIZATION OF …...Major Subject: Computer Engineering. MACROMODELING AND CHARACTERIZATION OF FILESYSTEM ENERGY CONSUMPTION FOR DISKLESS EMBEDDED SYSTEMS A

iii

ABSTRACT

MacromodelingandCharacterizationof FilesystemEnergy Consumptionfor Diskless

EmbeddedSystems.(August2003)

SiddharthChoudhuri,Bachelorof Engineering,SambalpurUniversity

Chairof Advisory Committee:Dr. RabiMahapatra

Theuseandapplicationof embeddedsystemsin everydaylife hasproliferatedin the

pastfew years. Thesesystemsareconstrainedin termsof power consumption,available

memoryandprocessingrequirements.Typical embeddedsystemslike handhelddevices,

cell phones,singleboardcomputerbasedsystemsaredisklessanduseflashfor secondary

storage.Thechoiceof filesystemfor thesedisklesssystemscangreatlyimpacttheperfor-

manceandtheenergy consumptionof thesystemaswell aslifetime of flash.

In this thesiswork, theenergy consumptionof flashbasedfilesystemshasbeenchar-

acterized.Both theprocessorandflashenergy consumptionarecharacterizedasa function

of filesystemspecificoperations.Thework is aimedat helpingasystemdesignercompare

andcontrastdifferentfilesystemsbasedon energy consumptionasa metric. The macro-

modelcanbeusedto characterizeandestimatetheenergy consumptionof applicationsdue

to filesystemrunningon flash.

Thestudyis doneonaStrongARMbasedprocessorrunningLinux. Two of thepopu-

lar filesystemsJFFS2andext3 areprofiled.

Page 4: MACROMODELING AND CHARACTERIZATION OF …...Major Subject: Computer Engineering. MACROMODELING AND CHARACTERIZATION OF FILESYSTEM ENERGY CONSUMPTION FOR DISKLESS EMBEDDED SYSTEMS A

iv

To My Parents

Page 5: MACROMODELING AND CHARACTERIZATION OF …...Major Subject: Computer Engineering. MACROMODELING AND CHARACTERIZATION OF FILESYSTEM ENERGY CONSUMPTION FOR DISKLESS EMBEDDED SYSTEMS A

v

ACKNOWLEDGMENTS

I wouldliketo thankDr. RabiMahapatrafor all thehelpandguidancethatheoffered.

I amgratefulto him for lettingmetakeup this interestingwork.

Di Wu andDr. Mahapatra’shelpin comingupwith theexperimentalsetupandLART

boardsavedmea lot of time. I would like to thankPraveenandJunyi for their technical

help,numerousadviseandproof-reading.

I havehadamemorabletimeworking in theembeddedsystemsandcodesigngroup.I

wish to thankJohn,Brenna,Mily , Anand,Abhijit andIan for makinggradlife memorable

with discussionsrangingfrom life to quantumcomputing.

This work would not have beenpossiblewithout helpfrom thelinux-mtd , arm-linux

andkernel-newbiesmailing lists. I would like to thankDr. ReddyandDr. Rauchwerger

for servingonmy committee.Theirgraduateclasseshavebeenanexcellentlearningexpe-

riencefor me.

Finally, I would like to thankpeoplewho areclosestto me: my parents,who have

beenaninfinite sourceof encouragementfor me;andmy sisterandbrother-in-law for their

encouragement.

Page 6: MACROMODELING AND CHARACTERIZATION OF …...Major Subject: Computer Engineering. MACROMODELING AND CHARACTERIZATION OF FILESYSTEM ENERGY CONSUMPTION FOR DISKLESS EMBEDDED SYSTEMS A

vi

TABLE OFCONTENTS

CHAPTER Page

I INTRODUCTION ��������������������������������������������������� 1

A. OperatingSystemsandEnergy Consumption . . . . . . . . . . 3B. MacromodelingFilesystemEnergy Consumption. . . . . . . . 3C. Motivation . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4D. Contributionsof theThesis. . . . . . . . . . . . . . . . . . . . 5

II BACKGROUND AND PROPOSEDRESEARCH ������������������� 6

A. Introduction. . . . . . . . . . . . . . . . . . . . . . . . . . . . 61. Macromodeling . . . . . . . . . . . . . . . . . . . . . . . 72. Tools . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7

B. ProblemSpecification . . . . . . . . . . . . . . . . . . . . . . 8C. ExperimentalSetup. . . . . . . . . . . . . . . . . . . . . . . . 8

1. DevelopmentEnvironment . . . . . . . . . . . . . . . . . 102. CPUEnergy Measurement. . . . . . . . . . . . . . . . . 103. FlashEnergy Measurement. . . . . . . . . . . . . . . . . 13

D. Methodology . . . . . . . . . . . . . . . . . . . . . . . . . . . 141. RAMDisk Approach . . . . . . . . . . . . . . . . . . . . 17

E. Conclusion . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17

III MACROMODELING AND DISKLESSFILESYSTEMS ����������� 18

A. Introduction. . . . . . . . . . . . . . . . . . . . . . . . . . . . 18B. Filesystems. . . . . . . . . . . . . . . . . . . . . . . . . . . . 18

1. JournalingFilesystems . . . . . . . . . . . . . . . . . . . 192. DisklessFilesystems . . . . . . . . . . . . . . . . . . . . 19

a. JFFS2 . . . . . . . . . . . . . . . . . . . . . . . . . 21b. EXT3 . . . . . . . . . . . . . . . . . . . . . . . . . . 22

C. Macromodeling. . . . . . . . . . . . . . . . . . . . . . . . . . 221. MacromodelingandRegressionAnalysis . . . . . . . . . 23

D. KernelChanges. . . . . . . . . . . . . . . . . . . . . . . . . . 241. TriggerModule . . . . . . . . . . . . . . . . . . . . . . . 242. FlashEnergy ConsumptionList . . . . . . . . . . . . . . . 25

E. Conclusions. . . . . . . . . . . . . . . . . . . . . . . . . . . . 26

IV EXPERIMENTSRESULTS ����������������������������������������� 27

Page 7: MACROMODELING AND CHARACTERIZATION OF …...Major Subject: Computer Engineering. MACROMODELING AND CHARACTERIZATION OF FILESYSTEM ENERGY CONSUMPTION FOR DISKLESS EMBEDDED SYSTEMS A

vii

CHAPTER Page

A. Introduction. . . . . . . . . . . . . . . . . . . . . . . . . . . . 27B. Results . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27C. Analysis . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29D. BenchmarkPrograms. . . . . . . . . . . . . . . . . . . . . . . 31

V FUTUREWORK ����������������������������������������������������� 35

A. ExploringDynamicStateof Flash . . . . . . . . . . . . . . . . 35B. Studyof OtherFilesystems. . . . . . . . . . . . . . . . . . . . 35C. EfficientFlashPartitioningScheme . . . . . . . . . . . . . . . 35

VI CONCLUSION ����������������������������������������������������� 36

REFERENCES ��������������������������������������������������������������������� 37

APPENDIXA ����������������������������������������������������������������������� 40

APPENDIXB ����������������������������������������������������������������������� 43

APPENDIXC ����������������������������������������������������������������������� 44

APPENDIXD ����������������������������������������������������������������������� 45

APPENDIXE ����������������������������������������������������������������������� 47

VITA ��������������������������������������������������������������������������������� 48

Page 8: MACROMODELING AND CHARACTERIZATION OF …...Major Subject: Computer Engineering. MACROMODELING AND CHARACTERIZATION OF FILESYSTEM ENERGY CONSUMPTION FOR DISKLESS EMBEDDED SYSTEMS A

viii

LIST OFTABLES

TABLE Page

I PowerCharacteristicsfor Flash [1] ��������������������������������������� 13

II Energy ConsumptionDueto FilesystemOperationsfor JFFS2 ����������� 32

III Energy ConsumptionDueto FilesystemOperationsfor EXT3 ������������� 33

IV Energy Consumptionof FilesystemRelatedSystemCallsfor JFFS2 ����� 33

V Energy Consumptionof FilesystemRelatedSystemCallsfor EXT3 ������� 34

VI Energy Consumptionof Filesystemfor Programsin JFFS2 ��������������� 34

VII Energy ConsumptionCharactericsDueto File Delete ��������������������� 47

Page 9: MACROMODELING AND CHARACTERIZATION OF …...Major Subject: Computer Engineering. MACROMODELING AND CHARACTERIZATION OF FILESYSTEM ENERGY CONSUMPTION FOR DISKLESS EMBEDDED SYSTEMS A

ix

LIST OFFIGURES

FIGURE Page

1 LART DevelopmentBoard ������������������������������������������������� 9

2 Profiling FlashAccessesfor Energy Measurement������������������������� 10

3 CPUPowerMeasurement ������������������������������������������������� 11

4 LART Energy MeasurementSetup ����������������������������������������� 12

5 Profiling FlashAccessesfor Energy Measurement������������������������� 15

6 PhysicalMap Showing Partition of FlashAddressSpace ����������������� 15

7 MacromodelingFlashEnergy ConsumptionDueto Write Operations ����� 16

8 Organizationof aFlashBasedFilesystem ��������������������������������� 20

9 Using/procInterfaceto ProfileaSectionof Code ������������������������� 25

10 LinkedList LoggingperProcessFlashEnergy Consumption ������������� 25

11 Comparisionof ProcessorEnergy Consumption ��������������������������� 30

12 Comparisionof FlashWrite Energy Consumption ������������������������� 31

Page 10: MACROMODELING AND CHARACTERIZATION OF …...Major Subject: Computer Engineering. MACROMODELING AND CHARACTERIZATION OF FILESYSTEM ENERGY CONSUMPTION FOR DISKLESS EMBEDDED SYSTEMS A

1

CHAPTERI

INTRODUCTION

Theuseandapplicationof embeddedsystemsin everydaylife hasproliferatedin thepast

few years.Thedecreasingcostof processorbasedsystemscoupledwith Moore’s law has

led to thedevelopmentof a plethoraof embeddeddevices.Embeddedsystemsareubiqui-

tousandhave becomeintegral partof our daily lives.Someof theembeddedsystemsthat

we comeacrossin our dayto day livesarein automatedgasstations,airportkiosks,cash

registersin grocerystores,microwaves,cell phones,ATM machinesandPDAs to namea

few. However, thesesystems,unlikeconventionaldesktopsystemsareconstrainedin terms

of powerconsumption,availablememory, processingrequirementsandoperatingenviron-

ments.Theserestrictionsaremainly dueto the fact thatembeddedsystemsaredesigned

to serve specificpurposein mind andusuallyhave a strict restrictionon their form factor

(physicalsize),computationalcapacityandcostof manufacturing. For example,a hand-

heldshouldbedesignedto consumeminimumpower in orderto have a prolongedbattery

life. Also, it shouldbeassmallaspossiblein its form-factor.

Thede-facto standardfor secondarystoragein conventionaldesktopsystemshasbeen

hard disk drive. However, constraintsdue to form-factor and power consumptionrules

out theoptionof usingharddisk drive for secondarystoragein embeddedsystems.Hard

disk drivesconsumepower in theorderof hundredsof milli Watts[2] which is significant

consideringthatmostembeddedsystemsrun on battery. This hasleadto thewidespread

useof a ROM, EEPROM or Flashbaseddevices as meansof secondarystorage. The

limitation of ROM andEEPROM is that they canbe usedasreadonlysystemswhereas

Thejournalmodelis IEEETransactionsonAutomaticControl.

Page 11: MACROMODELING AND CHARACTERIZATION OF …...Major Subject: Computer Engineering. MACROMODELING AND CHARACTERIZATION OF FILESYSTEM ENERGY CONSUMPTION FOR DISKLESS EMBEDDED SYSTEMS A

2

flashbasedstoragecanbeusedasread-writesystems.While read-onlystorageis suitedfor

applicationslike mp3players,mostof theembeddedsystemslike handhelddeviceshave

the needto be ableto readandwrite dataout of a secondarystoragedevice, henceflash

basedstorageis ideally suited.Flashmemoryis a typeof constantly-powerednonvolatile

memorythat canbe eraseandreprogrammedin units of memorycalledblocks. Typical

embeddedsystemslike PDAs, cell phonesand singleboardcomuterbasedsystemsare

disklessanduseflashfor secondarystorage[3].

In the pastfew years,designefforts to minimize energy consumptionof embedded

systemshave beenof paramountimportance.Oneof thereasonsis dueto thefactthatthe

improvementin batterytechnologyhaslaggedbehindthatof processoranddigital systems

[4]. However, the importancein power awaredesignis dueto obviousreasonsof making

devicesthat consumelesspower leadingto longerbatterylife. Conventionaltechniques

of reducingpower consumptionhave beenstudiedandimplementedin hardware[5]. The

powerdissipationin a CMOScircuit is dueto[6]

1. Static dissipationdue to leakagecurrent. The total static power dissipationof a

CMOScircuit is givenby

Ps� n

∑1

leakage current � supply voltage (1.1)

where,n = numberof devices

2. Dynamicdissipationdueto switchingandcapacitancewhich is givenby

Pd� Cl

� V 2DD

� fp (1.2)

where,Cl is theswithcedcapacitance,VDD is thesupplyvoltageand fp is thesystem

clock frequency.

Theunderlyingideasbehindpowerawaredesignshavebeento eitherreducetheoperating

Page 12: MACROMODELING AND CHARACTERIZATION OF …...Major Subject: Computer Engineering. MACROMODELING AND CHARACTERIZATION OF FILESYSTEM ENERGY CONSUMPTION FOR DISKLESS EMBEDDED SYSTEMS A

3

voltageor thefrequency in (1.2) to reduceoverallpowerconsumption.

More recenttechniqueshave revolvedaroundexploiting softwaretechniquesto designen-

ergy efficient systems[7]. The obvious advantageofferedby softwaretechniquesis the

flexibility it offers. Softwaretechniquesdo not requirea re-designof hardwarewhich is

oneof its biggeststrengthsasopposedto low level hardwaretechniques.Also, software

techniquescanbechangedor dynamicallytuneddependingonapplication.

A. OperatingSystemsandEnergy Consumption

In recentyears,considerablework hasbeendonein theareaof OperatingSystemdirected

power managementfor embeddedsystems.Thesestudieshave revealedvariousaspects

of OperatingSystemsthat canhelp in designingenergy efficient embeddedsystems[8].

Thevariousaspectsof OperatingSystemslikescheduling,memorymanagement,dynamic

powermanagementandidling of devicesfor powersaving hasbeenextensively studiedin

[9, 10, 11, 12, 13]. However, energy consumptionfrom a filesystemperspective hasnot

beendoneby any of theabove. Anotherimportantreasonwhy OperatingSystemdirected

energy managementhasgainedconsiderableimportanceis dueto the fact that it is in the

right placebetweenhigh level applicationsandlow level architecture.It is faster(in terms

of timeto market)andeasierto makechangesto softwareandreinstall,comparedto change

in hardwarearchitecturewhich leadsto entireredesign.

B. MacromodelingFilesystemEnergy Consumption

Macromodelingis a techniquethat givesa high level model or equationfor the system

understudy. In the caseof filesystemenergy consumption,the goal is to comeup with

mathematicalformulaethat describethe energy consumptionof CPU and Flashdue to

filesystemrelatedoperations.(For example,creatinga new file, removing directory, reads

Page 13: MACROMODELING AND CHARACTERIZATION OF …...Major Subject: Computer Engineering. MACROMODELING AND CHARACTERIZATION OF FILESYSTEM ENERGY CONSUMPTION FOR DISKLESS EMBEDDED SYSTEMS A

4

andwrites to a file etc). Theseequationswould relateenergy consumptionasa function

of filesystemmetrics. Themacromodelis derivedafter runningexperimentson anactual

setupandthenusingstandardtechniqueslike regressionanalysisto generateamodel.

C. Motivation

Oneof the importantdesigndecisionsfor an embeddedsystemsdeveloperis the energy

consumptionof the intendeddevice. Theenergy consumptionis an indicatorof how fast

the device dischargesbatteryandobviously is an importantdesignfactor. However, fast

timeto marketdoesnotgivethedesignersufficienttimeto compareandcontrasttheenergy

consumptionandperformanceof differentfilesystems.Also, a studyof filesystemenergy

consumptionwould requireanexperimentalsetup,which would addto thecostandtime

to market. Theaimof thispaperis to giveaquantitativestudyfilesystemsfor aflashbased

deviceandprovidewith astudyof energy consumptionandperformancebasedonstandard

benchmarks.Wethenprovideamacromodelthatcanbeusedto relatefilesystemusagewith

energy consumption.Themotivationbehindthismacromodelis thatanembeddedsystems

developercanusethis macromodelto estimatethe energy consumptionof filesystemsat

designtime. The macromodelwould have characteristicsof energy consumedby both

processoraswell asflash. The macromodelcould be usedto make a tradeoff between

availablefilesystemchoicesfor energy awaresystems.

To ourknowledge,this is thefirst timefilesystemenergy characterizationhasbeendonefor

flashbaseddevices. This canbeusedefficiently by a systemdesignerto make filesystem

tradeoffs andto save timewithout theneedfor anactualpowermeasurementsetup.

Page 14: MACROMODELING AND CHARACTERIZATION OF …...Major Subject: Computer Engineering. MACROMODELING AND CHARACTERIZATION OF FILESYSTEM ENERGY CONSUMPTION FOR DISKLESS EMBEDDED SYSTEMS A

5

D. Contributionsof theThesis

1. Characterizationof energy consumptionoverheadin an embeddedsystemdue to

filesystem. In our work, we have isolatedthe filesystemenergy consumptionfor

a disklessembeddedsystemfrom othercomponentsof the operatingsystem.This

studygivesus a pictureof overheadthe filesystemimposeson the overall energy

consumption.

2. A macro-modelthatdescribesfilesystemenergy consumptionin termsof CPUand

Flash. This modelis a setof mathematicalequationsderived from macromodeling

usingregressionanalysis.

Page 15: MACROMODELING AND CHARACTERIZATION OF …...Major Subject: Computer Engineering. MACROMODELING AND CHARACTERIZATION OF FILESYSTEM ENERGY CONSUMPTION FOR DISKLESS EMBEDDED SYSTEMS A

6

CHAPTERII

BACKGROUND AND PROPOSEDRESEARCH

This chaptersummarizesthecurrentstateof researchwork beingdonein theareaof en-

ergy characterizationfor embeddedoperatingsystemsandrelatedwork. It alsointroduces

our methodologyanddiscussesin detail theexperimentalsetuprequiredfor theproposed

researchwork.

A. Introduction

As discussedin thepreviouschapter, in thepastfew yearsresearchhasfocussedon study-

ing, analyzingand finding ways to make operatingsystemsenergy efficient and power

aware for embeddedsystems.Varioussubsystemsof operatingsystemsthat canbe im-

provedtowardsa power awaresystemhave beenstudiedandintroducedin [8]. Most of

the approachestowardsmakingoperatingsystemspower efficient have revolved around

makingchangesto theschedulerandidling deviceswhenthey arenot in use.A first step

towardsenergy characterizationof embeddedsystemswasdonein [9]. In this paper, the

authorsgave a per-instructionlevel energy consumptionthatcouldbeusedby softwareto

characterizeits power consumption.Characterizingenergy consumptionis importantfor

two reasons

1. It givesananalyticalmodelthatcanbestudiedandinterpreted.Also, trendsof energy

consumptioncanbeconcludedfrom ananlalyticmodel.

2. It helpsin developingtoolsthatcanbeusedto simulateandpredictenergy consump-

tion of applicationsto a fair amountof accuracy, without having anactualmeasure-

mentsetup.

3. Having a macromodelis fasterthanconventionalinstructionlevel profiling or hard-

Page 16: MACROMODELING AND CHARACTERIZATION OF …...Major Subject: Computer Engineering. MACROMODELING AND CHARACTERIZATION OF FILESYSTEM ENERGY CONSUMPTION FOR DISKLESS EMBEDDED SYSTEMS A

7

waresimulations.

1. Macromodeling

Macromodelingof operatingsystemsenergy consumptionhasbeendoneby [14]. In this

paper, theauthorshaveusedlinearregressionanalysisto relatetheoperatingsystemactivi-

tiesandsystemcallsto energy consumption.For example,context switchenergy consump-

tion hasbeenfoundout to be12570nJfor anARM processor. However, thiswork doesnot

take into considerationthetypeof filesystempresenton thesystemandthemeasurements

andmacromodeldevelopedis only for CPUenergy consumption.In practicalembedded

systems,power is consumedbothby theCPUandotherdevicesinteractingwith thepro-

cessor. A moregeneralapproachtowardshigh level macromodelinghasbeendescribedin

[15]

2. Tools

Jouletrackis a webbasedtool developedby [16]. This tool givestheenergy consumption

andsomeotherprofileddatafor a C programrunningon anARM processor. Theenergy

consumptionis calculatedfrom aninstructionlevel energy consumptiondataavailablefor

ARM basedprocessor. Thetoolsis for profiling theenergy consumptionof staticallylinked

C programsonly. It doesnot give energy consumptionfrom anoperatingsystempoint of

view. EMSIM is anotherenergy profiling tool developedby [17]. This tool simulatesa

systemfrom bootuphaving therequiredapplicationrunningon asa ramdiskimage.This

toolsgivesadetailedresultsof energy consumptionatsystemcall level. However, only one

applicationcanberun on this tool. Anothertool, calledwattchhasbeendevelopedbased

on simplescalarthatcharacterizesthepowerconsumptionof anARM processor[18, 19]

Page 17: MACROMODELING AND CHARACTERIZATION OF …...Major Subject: Computer Engineering. MACROMODELING AND CHARACTERIZATION OF FILESYSTEM ENERGY CONSUMPTION FOR DISKLESS EMBEDDED SYSTEMS A

8

B. ProblemSpecification

Thegoalof the thesisis to characterizetheenergy consumptionof theembeddedsystem

asa functionof CPUandflashenergy consumption.In otherwords,we want to obtaina

mathematicalmodelof theform

Esystem� f

�Ecpu � E f lash � (2.1)

Ecpu� g

�a0x � a1x2 � a2x3 � ��� � (2.2)

E f lash� h

�a0x � a1x2 � a2x3 � ��� � (2.3)

whereEsystem is theenergy consumptionof thesystemdueto filesystemrelatedoperations,

Ecpu and E f lash are the energy consumptionby processorand flash respectively, due to

filesystemrelatedoperations.Thisenergy consumptionagain,is somefunctionof number

of bytesx reador written to theflashduringfilesystemoperations.Theaim is to find what

kind of relationsexist in (2.1) for variousfilesystemrelatedsystemcalls.For example,the

equationsin (2.2,2.3)couldhavea linearrelation(having coefficientsof higherpowersof

x equalzero)for creatinga directory, chdir, proportionalto numberof byteswritten into

thefilesystemwhile creatingadirectory.

C. ExperimentalSetup

Theexperimentalsetupconsistsof a StrongARMprocessorbasedsystemrunningLinux.

Theversionof Linux is 2.4.18with ARM processorspecificpatchesaddedfor theLART

board. We useda LART board [20]. LART is a PC104basedSingleBoardComputer

(SBC)runningonIntel StrongARMSA1100processor[21]. A figureof thisdevelopment

boardalongwith processor, flashchips,RAM andpower supply is shown in 1. LART

Page 18: MACROMODELING AND CHARACTERIZATION OF …...Major Subject: Computer Engineering. MACROMODELING AND CHARACTERIZATION OF FILESYSTEM ENERGY CONSUMPTION FOR DISKLESS EMBEDDED SYSTEMS A

9

Fig. 1. LART DevelopmentBoard

consumeslessthan1 Watt of power andrunsat around250MIPS.Theconfigurationthat

we have has32MB DRAM and4MB of FlashROM. As canbe seenin 1, therearetwo

distinctPowerSupplyUnits(PSU)to theboard.A variablevoltagesupplygoesto theCPU

andafixedvoltagesupplyof 3.3V drivesothercomponentsof theboardincludingtheflash

chips. TheCPUpower supplyunit hastheability to generatevariablevoltages,however,

for ourexperimentsweusedafixed1.5Vvoltagesupplyasourexperimentsdid not require

voltagescaling. The flashis manufacturedby Intel and is part of its 3V fastboot block

flashmemory [1]. TheJTAG port is usefulto flasha bootloaderif theexisting bootloader

on theflashgetsaccidentlydestroyedor overwritten.Theimageis flashedon theboardby

connectingthehostcomputer’sparallelport to theJTAG portusingaJTAG dongle.JFlash

utility canbe usedto downloadthe image [20]. The Power/Idle LED glows during the

periodof any CPUoperation.It canbesetto glow or not in thekernelconfigurationfile.

LART hasa performanceof around100 MIPS. the 2x3 serialport pin is connected

Page 19: MACROMODELING AND CHARACTERIZATION OF …...Major Subject: Computer Engineering. MACROMODELING AND CHARACTERIZATION OF FILESYSTEM ENERGY CONSUMPTION FOR DISKLESS EMBEDDED SYSTEMS A

10

Host Serial ConnectionTarget(9600 Baud 8N1)

Fig. 2. Profiling FlashAccessesfor Energy Measurement

to the hostmachineandactsasa terminal to interactwith the board. A standardserial

emulationprogramlikeminicomwith 9600-8N1serialsettingsis used.

1. DevelopmentEnvironment

TheLART boardrunson ARM (Intel SA1100)processor. Becauseof thelimited memory

andprocessorspeed;thekernel,driversandotherapplicationprogramscannotbebuilt on

the boarditself. A hostbaseddevelopmentenvironmentexists for this reason.The host

canbe connectedto LART boardusingeither serial port or ethernet. The host runson

dual AMD Athlon(tm) 1.5 GHz processor. arm-linux-gcc,the crosscompiler for ARM

processoris usedto compilethekernel,driversandotherprogramson thehostmachine.

The ARM executablesare downloadedusingstandardserial port communicationutility

likeMinicom. Thekernelandramdiskarealsoloadedon theLART boardthroughaserial

port. Thehostbaseddevelopmentenvironmentis shown in Figure 2

2. CPUEnergy Measurement

LART boardcomeswith a low valuesenseresistorin serieswith theCPUpowersupplyto

measurethepower consumptionof the processor. Sincethevalueof voltagedropacross

this senseresistoris extremely small (in the order of milli volts), a standarddifferential

amplifiercircuit basedonoperationalamplifieris usedto amplify theoutput 3. Theoutput

Page 20: MACROMODELING AND CHARACTERIZATION OF …...Major Subject: Computer Engineering. MACROMODELING AND CHARACTERIZATION OF FILESYSTEM ENERGY CONSUMPTION FOR DISKLESS EMBEDDED SYSTEMS A

11

R2

R1

R3R4

VoutVcpu

VsupR1 3 R4 3 1K

R2 3 R3 3 1000K

Rsense

Fig. 3. CPUPowerMeasurement

of thedifferentialamplifieris givenby

Vout� R2

R1

� � V2 � V1 � (2.4)

whereV2 - V1 is thedifferencein voltageacrossthesenseresistor, Rsense.

The actualmeasurementof energy consumptionis doneusingLabview. The output

of differentialamplifiercircuit is fed into aSCB-68connectorboardwhich interfaceswith

Labview via a PCI basedData Acquisition Card (DAQ) as shown in 4. The Labview

interfaceis configuredto readdatafrom thePCI interfaceat100scanspersecond.In order

to startmeasuringenergy in real-time,the setupis triggeredto startby sendinga pulse

from theprocessorGPIOpinsto oneof thepinsof theconnectorboard.Specifically, one

of the GPIO pins of the StrongARMCPU is connectedto pin number68 of the SCB-68

connectorboard.Thestartandstopsignalstogglewith everypulsesentthroughtheGPIO

pin. A loadablemodulehasbeenwritten asa /proc/triggerinterface,to setGPIO pins to

high andlow. The stepsinvolved in profiling a sectionof codecould be summarizedas

follows

Page 21: MACROMODELING AND CHARACTERIZATION OF …...Major Subject: Computer Engineering. MACROMODELING AND CHARACTERIZATION OF FILESYSTEM ENERGY CONSUMPTION FOR DISKLESS EMBEDDED SYSTEMS A

12

LabView Console

Trigger

L4RT Board

SCB 68 connector

R2 3 R3 = 1000KR1 = R4 = 1K

R1

R3

R2

R4

Vcpu

GND

PCI MIO

Fig. 4. LART Energy MeasurementSetup

1. echo0 � /proc/trigger

2. echo1 � /proc/trigger

3. echo0 � /proc/trigger

4. executecodeto beprofiledfor energy consumption

5. echo0 � /proc/trigger

6. echo1 � /proc/trigger

7. echo0 � /proc/trigger

The first threetrigger signalswould start the energy measurements.After the codeto

be profiled hasrun, the last threelines would senda pulsethat would stopenergy mea-

surements.After this, theenergy consumedin milli-Joulescanbereadfrom theLabview

interface.

Theinstantaneouspowerconsumptionby theabovecircuit at any time t is givenby

I�t � � Vsense

�t �

Rsense(2.5)

Page 22: MACROMODELING AND CHARACTERIZATION OF …...Major Subject: Computer Engineering. MACROMODELING AND CHARACTERIZATION OF FILESYSTEM ENERGY CONSUMPTION FOR DISKLESS EMBEDDED SYSTEMS A

13

The Labview softwarebasicallyintegratesthe power measuredduring the startandstop

intervals (seperatedby the two triggers),which is exactly theenergy consumptionduring

thatinterval givenby

Ecpu� T RIGstop

T RIGstart

I�t � � Vdd dt (2.6)

3. FlashEnergy Measurement

The energy consumptionof flash is calculatedusinga tracestaken from flash accesses.

We addedcodeinsidethe flashdriver that calcuatesthe energy consumptionper process

dependingon how muchtime theflashwasaccessedandin whatmode.Theenergy con-

sumptionperprocessis calculatedusingthefollowing equation

E f lash� Vdd

� Imode� taccess (2.7)

Thevalueof Imode is obtainedfrom [1] dependingonwhatkind of operationis beingdone

(read/write/program/erase).The time of flashaccess,taccess is calculatedin microsecond

resolution.Thisdatais loggedin a /proc interfacebasedonaperprocessenergy consump-

tion. The power characteristicsof a Intel flashchip operatingat 2.7V is shown in table

below.

TableI. PowerCharacteristicsfor Flash [1]

Parameter Current Units

ReadCurrent 45 mA

ProgramCurrent 8 mA

StandbyCurrent 30 uA

Theoverall procedurefor profiling andcalculatingflashenergy consumptionis given

Page 23: MACROMODELING AND CHARACTERIZATION OF …...Major Subject: Computer Engineering. MACROMODELING AND CHARACTERIZATION OF FILESYSTEM ENERGY CONSUMPTION FOR DISKLESS EMBEDDED SYSTEMS A

14

in figure 5. As shown in the figure, the profiler is a layer on top of the flashdriver. It

profiles the write andreadrequestsseparatelyandoutputsinformationon two different

files in proc-filesystem.Thevaluesin procfsareloggedperprocessalongwith theamount

of byteswritten or read.This datais usedfor generatinga macro-modelthatcharacterizes

flashenergy consumption.

The4 MB of NORflashon theLART boardhasthreepartitionsfor boot-loader(128KB),

Linux kernel(896KB) anda 3MB partitionfor theactualfilesystem.Theroot partitionis

loadedasa ramfspartitioninto theRAM. Thekerneluncompressesacompressedramdisk

imagethathastheroot partition. This is doneduringbootupandthecompressedramdisk

imageis loadedusinga serial link to the board. This is donedueto the limited amount

of flashon theboard(4MB). The3MB partitionon flashis usedonly for our experiemnts.

This also hasthe advantageof having /var, /tmp and other systemdirectoriesin RAM,

hencegivesanaccuratemeasurementof only theenergy consumptionwerequire.

D. Methodology

In thissection,theoverallmethodologyadoptedin thiswork to comeupwith amacromodel

is described.An exampleof macromodelfor deletingafile is explainedhere.Thefollowing

stepsillustratethemethodologyanddetails

1. As thefirst step,weneedto isolatethefile deletionactivity outof therestof operating

systemfilesystemrelatedactivities. A testprogramis written for this purpose.The

testprogramtriggersthelabview energy measurementsetup,deletestwentytestfiles

generatedfor thepurposeof profiling andsendsatriggerto stoptheenergy measure-

ment. Thereasontwentyfiles arechosenis becausethetime requiredto deleteone

file in caseof verysmallsizedfiles,is toosmallto measure.Theenergy consumption

is dividedby twentyin laterstepsto calculatetheaverage.

Page 24: MACROMODELING AND CHARACTERIZATION OF …...Major Subject: Computer Engineering. MACROMODELING AND CHARACTERIZATION OF FILESYSTEM ENERGY CONSUMPTION FOR DISKLESS EMBEDDED SYSTEMS A

15

System Call Interface

VFS

procjffs2ramfs

mtd

profiler

flash driver

KERNEL SPACE

USER SPACE

Applications

/proc/wtrace

/proc/rtrace

Macromodel

Regression Analysis

Writes

Reads

Fig. 5. Profiling FlashAccessesfor Energy Measurement

Filesystem under study

Kernel

Bootloader (Blob) 128 KB

896 KB

3 MB

0x0000 0000 to 0x0001 FFFF Boot0x0002 0000 to 0x001F FFFF Kernel0x0010 0000 to 0x0040 0000 Filesystem

Physical Map of 4MB Flash

Fig. 6. PhysicalMapShowing Partition of FlashAddressSpace

Page 25: MACROMODELING AND CHARACTERIZATION OF …...Major Subject: Computer Engineering. MACROMODELING AND CHARACTERIZATION OF FILESYSTEM ENERGY CONSUMPTION FOR DISKLESS EMBEDDED SYSTEMS A

16

1000 2000 3000 4000 5000 6000 7000 8000

−500

0

500

Residual Error due to curve fitting

Linear: norm of residuals = 1220.8892 residual: linearnorm of residuals

100

101

102

103

104

1

1.1

1.2

1.3

1.4

1.5

1.6x 10

4

File Sizes (Logarithmic Scale)

Ene

rgy

in (

nJ)

File Deletion Energy Consmption due to Flash Write Access

y = 0.327*x + 11900

Plot from experimentsLinear equation fitting curve

Fig. 7. MacromodelingFlashEnergy ConsumptionDueto Write Operations

2. Theaverageenergy consumedby processeris calculatedusinglabview. Theenergy

consumeddueto flashreadandflashwrite accessesarecalculatedby takingaverages

out of the datain /proc/wtraceand /proc/rtracefiles (correspondingto entriesthat

belongto theprocessid of thetestprogram).

3. Theabove two stepsarerepeatedby varyingthefile size.Thefile sizeasarevaried

from 1 byteto 8KB in powersof two.

4. Oncewehavethesetof energy consumptiondueto differentfile sizes,a linearequa-

tion relating energy consumptionto numberof bytesis calculatedusing equation

( 3.3). This equationcanalsobederivedby plotting thevaluesof (ei, xi) in matlab

andusinga basicfitting operationprovidedby matlab.

Figure 7 showsthelinearequationdevelopedfor file deletionusinglinearregressionanal-

ysis. The plot is drawn for flashwrite energy consumptionagainstdifferentfile sizeson

Page 26: MACROMODELING AND CHARACTERIZATION OF …...Major Subject: Computer Engineering. MACROMODELING AND CHARACTERIZATION OF FILESYSTEM ENERGY CONSUMPTION FOR DISKLESS EMBEDDED SYSTEMS A

17

x-axis. Thelower graphshows a plot of residualsthatdo not fit in theequationgenerated

out of regressionanalysis.This is dueto thefact that theequationgeneratedout of linear

regressionanalysisis not a perfectfit for theobservedvaluesandis only a “bestfit”. The

scaleon x-axis is logarithmicasfile sizesarevariedfrom 1 byteto 8192bytes,a factorof

morethan8000.

1. RAMDisk Approach

Oneof theproblemswith measuringenergy consumptiondueto filesystemis that theop-

eratingsystemitself usesa numberof files for locks, statusandlog information. These

files aretypically found in /var, /usr, /tmp directories.For example,the kernelmessages

areappendedin /var/log/messages.Now, whentheprogramsarerun to measurefilesystem

energy consumption,the kernelshouldnot be writing to the flashtoo. This would result

in valuesof energy consumptionthat aremore thanwhat is actuallyconsumed.To get

aroundthis, the root partitionof thekernelis kept in RAM asa ramfs(RAM Filesystem)

[22]. RAMFS is a kernelmodulefor Linux thatallows a partof RAM to look like it’ s a

read-writeblock baseddevice.

E. Conclusion

We have formulatedtheproblemto beaddressedin this work. Thehigh level macromodel

equationandhow it canbeusedin thecontext of currentproblemof finding energy con-

sumptionof filesystemsdueto processorandflashenergy consumptionis alsointroduced.

Theexperimentalsetupthatis beingusedfor theexperimentsis describedin detail.Finally,

thedevelopmentenvironmentdescribinghow kernelandramdiskarecrosscompiledand

loadedinto theLART boardis described.

Page 27: MACROMODELING AND CHARACTERIZATION OF …...Major Subject: Computer Engineering. MACROMODELING AND CHARACTERIZATION OF FILESYSTEM ENERGY CONSUMPTION FOR DISKLESS EMBEDDED SYSTEMS A

18

CHAPTERIII

MACROMODELING AND DISKLESSFILESYSTEMS

A. Introduction

Thissectionintroducestheroleof filesystemsin embeddedsystems.Eventhough,thebasic

ideaof filesystemsin caseof embeddedsystemsis sameasin traditionaldesktopsystems,

themediaon which it residesandaccesstypecangive rise to differentoptionsto choose

from andalsoalternatedesigns.Disklesssystemslikeflashusedfor secondarystorageare

not block baseddevices. Thesearerandomaccessdevicesandhencehaving a filesystem

in thesesystemsusuallymeansthereis a below filesystemthatmakesit look like a block

baseddevice. This chapterdiscusseshow this layercouldaffect theenergy consumption.

Theaimof thischapteris alsoto show how macromodelingcanbeusedto studyfilesystems

(for disklessembeddedsystmes)in general.

B. Filesystems

Filesystemsareoneof the subsystemof an operatingsystemthat help it to organizeand

managedatastoredon secondarystoragedevice. It is responsiblefor providing integrity

andorganizingdatain a hierarchy. In additionto storaingthe actualdata,the filesystem

alsostoresinformationaboutfile itself (eg: date,time stamps,permissions...). This data

aboutdatais alsoknown asmeta-data.Therecanbe many different implementationof

filesystems.Someof thecommonfilesystemsusedin embeddedsystemsarejf fs2,cramfs,

ext3, romfs.

Linux usesaVirtual Filesystemlayeron topof theactualfilesystemthatdelegatestheuser

level systemcalls to filesystemspecificsystemcalls. The VFS layer is provided so that

multiplefilesystemscanbesupportedby thekernelat thesametime [23].

Page 28: MACROMODELING AND CHARACTERIZATION OF …...Major Subject: Computer Engineering. MACROMODELING AND CHARACTERIZATION OF FILESYSTEM ENERGY CONSUMPTION FOR DISKLESS EMBEDDED SYSTEMS A

19

1. JournalingFilesystems

Conventionalfilesystemshave a staticmapor order in which files areactuallystoredon

secondarystoragedevice. This canleadto long fsck timesif the systemcrasheswithout

doing a normalshutdown. This problemhasbeenaddressedin a new kind of filesystem

calledthe journalingor loggingfilesystem.Thesefilesystemskeepa track of changesas

opposedto the contentsof file in a regular filesystem. The differencebetweena jour-

naledanda log structuredfilesystemis thatjournaledfilesystemkeepstrackof only inode

changeswhereaslog structuredfilesystemkeepstrackof bothdataandmeta-datachanges.

[24, 25]. The ideabehindusingjournalingfilesystemis thatuserstendto useembedded

devicesnot like “computers”but like“appliances”andhenceto switchit onandoff at ran-

dom. Having a journaledfilesystemmakesit possibleto have thedataintegrity intactby

its verynatureandalsoservesthepurposeof erasingtheflashregionsuniformly, aconcept

known as“wear-levelling”.

2. DisklessFilesystems

Embeddedsystemshave flash as secondarystorageinsteadof a conventionalhard disk

drive. Flashchipsareavailablein two types- A NOR flashthat is directly accessibleand

NAND flashthat is addressablethrougha 8-bit wide bus . Thesamebus is usedfor both

write andreadoperationsusingseparatecontrolsignals.Theadvantageof NORchipsover

NAND chipsis that it canbeclearedindividually which givesmorecontrol for thedriver

in termsof erasinga region in flash. However, NOR chipsaremuchmoreexpensive than

NAND chips.Flashfilesystemsin generalcanbeclassifiedinto two categories[26]

1. Filesystemsthataredesignedexclusively for flashchips. Thesefilesystemsoperate

directlyon flashmemory. JFFS2is anexampleof suchfilesystem.

2. Conventionalfilesystemsthat run on a block baseddevice. Thesefilesystemscan

Page 29: MACROMODELING AND CHARACTERIZATION OF …...Major Subject: Computer Engineering. MACROMODELING AND CHARACTERIZATION OF FILESYSTEM ENERGY CONSUMPTION FOR DISKLESS EMBEDDED SYSTEMS A

20

Linux MTD Layer

Linux Block Layer

ext3

Linux VFS

JFFS2

BlockDevices

mtdchardevice

NFTL mtdblock FTL

Fig. 8. Organizationof a FlashBasedFilesystem

usea virual block device layerasa secondarystorage,which in turn operateson the

flash.ext3 is anexampleof sucha filesystem.

Figure 8 showstheorganizationof flashbasedfilesysteminsideLinux kernel.As can

beseen,JFFS2interactsdirectly withe Linux MTD layer thatsitson top of thehardware

specificflashdriver. The Linux VFS layer on the top delegatesthe “generic” filesystem

requeststo “specific” filesystemcalls.As canbeseenin thefigure,JFFS2interactsdirectly

with theflashchip throughtheLinux MTD layer. A conventionalfilesystem(eg: ext3) on

theotherhand,interactswith theMTD layerusingintermediatelayes.Thelayerconsisting

of NFTL, mtdblock,FTL aretranslationlayer. Thetranslationlayerregistersablockdevice

with theLinux block layer, andontopof thatonecanmountaconventionalfilesystemlike

theext3, cramfs,ext2 or any otherfilesystemfor thatmatter. Thedevicecanbeaccessedby

their device nodes(/dev/ftl*, /dev/nftl/*, /dev/mtdblock*) which areblock specialdevices

or using(/dev/mtd*) which is acharacterspecialdevice. However, thebasicideais to give

theuserapplicationsonhigherlayera “view” asif ablockbasedsecondarystoragedevice

Page 30: MACROMODELING AND CHARACTERIZATION OF …...Major Subject: Computer Engineering. MACROMODELING AND CHARACTERIZATION OF FILESYSTEM ENERGY CONSUMPTION FOR DISKLESS EMBEDDED SYSTEMS A

21

existed,eventhoughtheflashis actuallyacharacterbasedrandomaccessdevice.

The two differenttypesof filesystemsusedin the experimentsandmacro-modeling

aredescribedin thenext two subsections

a. JFFS2

TheJournalingFlashFilesystemis a log structuredfilesysteminitially developedby Axis

CommunicationsAB Sweeden,intendedto beusedon flashdevices. Theversiontwo of

thefilesystem,popularlyknown asJFFS2wasdevelopedby RedhatInc [27]. JFFS2like

originalJFFSis alsoa log structuredfilesystem.JFFS2definesthreetypesof nodesfor the

entirefilesystem.The jf fs2 nodetypeinodeconsistsof all inodemetadataaswell asthe

rangeof databelongingto theinode.Thesecondtypeof nodeis thejf fs2 nodetypedirent

that representsa directoryentry, or a link to an inode. The third andfinal kind of nodeis

thejf fs2 nodetypecleanmarkerwhichis writtento anewly erasedblockwhichimpliesthat

theeraseoperationis finishedsuccessfullyandit canbeusedfor storage.Like any other

log structuredfilesystem,in JFFS2alsonodesof varioustypesarewrittenout sequentially

untile a block is fillled. At this point a new block is taken from a free list maintained

by the filesystemand writing continues. When the size of free list reachesa threshold

value,garbagecollectionstarts.Sincetheamountof flashmemoryavailablein embedded

systemsis limited, JFFS2compressesdatawhile storingin the inodes. It useszlib com-

pressionalgorithmto storethiscompresseddata.Onareadoperation,thecompresseddata

in uncompressedon thefly. ThispreventsJFFS2beingusedasanXIP (eXecuteIin Place)

filesystem. However, the benefitsof compressingoutweighthe choiceof an XIP based

system.

Page 31: MACROMODELING AND CHARACTERIZATION OF …...Major Subject: Computer Engineering. MACROMODELING AND CHARACTERIZATION OF FILESYSTEM ENERGY CONSUMPTION FOR DISKLESS EMBEDDED SYSTEMS A

22

b. EXT3

ExtendedFilesystem3 (ext3) is a journalingfilesystembasedon thepopularext2 filesys-

tem[28]. The journalinginformationin ext3 comprisesof bothdataaswell asmetadata.

It usesa JournalingBlock Device layer, or JBD.TheJBD is usedto implementjournaling

on any kind of block device. In this way, ext3 is betterthanotherjournalingfilesystems

like reiserfsthatjournalonly themetadataandnot thedata.However, ext3 is not designed

keepingembeddedsystemsin mind, hencethesmallfile write performanceof ext3 is not

optimized. Theadvantagesof usingext3 is that it is built on top of ext2, which hasbeen

testedin time. Also, changingthefilesystemfrom ext2 to ext3 is fairly easywith a single

command.ext3 is our secondfilesystemof choicefor studybecauseit follows the tradi-

tional UNIX heirarchicalfilesystemstructure. It canbe implementedin any UNIX like

systemthat supportsblock device. As shown in 8, it useslower block level facilities to

interactwith the secondarystoragedevice. In our setup,we createda 3MB partition of

ext3 filesystemandranour filesystemrelatedexperiements.Themtdblocklayerasshown

in 8 wasusedto interactwith theunderlyingflash.This layeris responsiblefor calling the

routinesthatactualdo thewrite to theflash.

C. Macromodeling

In order to comeup with a mathematicalmodel that representsthe energy consumption

dueto processorandflash,we ranexperimentsthatwould isolatethe requiredfilesystem

relatedactivity andmademeasurementsof energy consumptiondueto processorandflash.

Regressionanalysiswasthenusedto formulatea linearequationrelatingfilesystemactivi-

tiesto theenergy consumptionfor applicablecases.

A mathematicalmodelfor theenergy consumptionanalysisis developedasfollows

Page 32: MACROMODELING AND CHARACTERIZATION OF …...Major Subject: Computer Engineering. MACROMODELING AND CHARACTERIZATION OF FILESYSTEM ENERGY CONSUMPTION FOR DISKLESS EMBEDDED SYSTEMS A

23

Let Ecpu�x � = Energy consumptionof CPU due to x bytesof data in a filesystem

operation.

Let E f w�x � = Energy consumptionof flashdueto x bytesof write operationto theflash.

Let E f r�x � = Energy consumptionof flashdueto x bytesof readoperationfrom theflash.

A generalequationof theaboverelationwill beof theform

E�x � � f

�a0 � a1x � a2x2 � a3x3 � ���� � (3.1)

Sincetheenergy consumptionof theprocessorandtheflashis directly proportionalto the

numberof bytesthatarewritten to or readfrom thefilesystem,theaboverelationwouldbe

linear in nature.This implies thata2 andhighertermsof equation(3.1) will be0 (i.e., a2

= a3 = ... = 0). For our purpose,we getthreesuchindependentequationsrepresentingthe

energy consumptiondueto processor, flashwrite operationsandflashreadopeartions,as

shown below

Ecpu�x � � Acpux Bcpu (3.2a)

E f w�x � � A f wx B f w (3.2b)

E f r�x � � A f rx B f r (3.2c)

Now, thegoalis to find out theunknownsin equation(3.2).

1. MacromodelingandRegressionAnalysis

If we have a setof n values� (e0, x0), (e1, x1), (e2, x2), ..., (en, xn) � that relatetheenergy

consumptionei to bytesxi, usingstandardresultsfrom regressionanalysis[?], therelation

Page 33: MACROMODELING AND CHARACTERIZATION OF …...Major Subject: Computer Engineering. MACROMODELING AND CHARACTERIZATION OF FILESYSTEM ENERGY CONSUMPTION FOR DISKLESS EMBEDDED SYSTEMS A

24

canbeexpressedin theform of ageneralmatrix relation

1 x0

1 x1

1 x2

......

1 xn

� A

B

e0

e1

e2

...

en

(3.3)

Solvingtheabovematrix relationfor unknownsA andB, wegetageneralizedlinearequa-

tion of theform:

E�x � � Ax B (3.4)

Thisequationdescribestheenergy consumptionE(x) asa functionof bytesx.

D. KernelChanges

This sectiondescribesthe changesmadeto the existing Linux kernel in orderto macro-

modeltheprocessorandflashenergy consumption.

1. TriggerModule

Theenergy consumptiondueto processoris foundoutby writing programsthatdo certain

filesystemintensive activity andfinding out how muchenergy is consumedusingthe lab-

view setupasmentionedin the previous chapter. However, the processesrun for a very

small interval of time (in theorderof milliseconds).This requiresa precisestartandstop

time intervalsduringwhich processorenergy consumptionis measured.The/proc/trigger

driver is written for this purpose. It is a dynamicallyloadablemodulecompiledfor the

sameversionof Linux thatrunson theboard.Its usageis illustratedin 9

Page 34: MACROMODELING AND CHARACTERIZATION OF …...Major Subject: Computer Engineering. MACROMODELING AND CHARACTERIZATION OF FILESYSTEM ENERGY CONSUMPTION FOR DISKLESS EMBEDDED SYSTEMS A

25

echo 0 > /proc/triggerecho 1 > /proc/triggerecho 0 > /proc/trigger

code to profile starts...............

code to profile ends

echo 0 > /proc/triggerecho 1 > /proc/triggerecho 0 > /proc/trigger

TRIG start

TRIG end

Tmeasure

Fig. 9. Using/procInterfaceto ProfileaSectionof Code

PIDWrite Energy

........

Write Bytes

PIDWrite Energy

Write Bytes

PIDWrite Energy

Write Bytes

PIDRead Energy

........

Read Bytes

PIDRead Energy

Read Bytes

PIDRead Energy

Read Bytes

NULL

NULL

Fig. 10. LinkedList LoggingperProcessFlashEnergy Consumption

2. FlashEnergy ConsumptionList

In orderto comeup with a preciseenergy consumptionmodel,a perprocessenergy con-

sumptiondueto flashreadandflashwrite operationsis required.Theexisting kerneldoes

nothaveany facility for loggingflashreadandwrite operations.Two linkedlistsconsisting

of perprocessflashwrite andflashreadenergy consumptionareaddedto thekernelfor this

purpose.Thestructureof the linked list is shown in. In additionto this, readenergy and

write energy consumptionis addedto taskstructasshown in 10. Thetaskstructis akernel

datastructurethatcontainsall theatributespertainingto a process.[29, 23] To accessthis

datastructureform userspace,a /procinterfaceis used./proc/wtraceenumeratestheflash

write accesslinked list andsimilarly /proc/rtraceenumeratesthe flashreadaccesslinked

Page 35: MACROMODELING AND CHARACTERIZATION OF …...Major Subject: Computer Engineering. MACROMODELING AND CHARACTERIZATION OF FILESYSTEM ENERGY CONSUMPTION FOR DISKLESS EMBEDDED SYSTEMS A

26

list. A userspaceprogramcanmaketheelementsof linkedlist zeroby doingeithera ‘echo

0 � /proc/wtrace‘or ‘echo0 � /proc/rtrace‘.

E. Conclusions

In this section,the detailsof filesystemrunningon flashbaseddeviceswere discussed.

Also, thefilesystemmacromodelingstepwasexplainedin detail.Thegeneralmathematical

equationthatwould beusedto comeup with themacromodelwasderivedfrom standard

resultsof linear regressionanalysis.The kernellevel changesrequiredto implementthis

schemewasalsodiscussed.This forms thestagefor profiling thefilesystemactivities on

our embeddedsystem.

Page 36: MACROMODELING AND CHARACTERIZATION OF …...Major Subject: Computer Engineering. MACROMODELING AND CHARACTERIZATION OF FILESYSTEM ENERGY CONSUMPTION FOR DISKLESS EMBEDDED SYSTEMS A

27

CHAPTERIV

EXPERIMENTSRESULTS

A. Introduction

Thissectiondescribestheresultsobtainedfrommacromodeling.Weconsideredtwofilesys-

temsfor ourcasestudies,JournalingFlashFilesystem(JFFS2)andExtensibleFilesystem-3

(ext3). JFFS2is a log structuredfilesystemdevelopedfor flashbaseddevices[27]. Exten-

siblefilesystem-3(ext3) is a journalingfilesystembasedon conventionalext2 filesystem.

It addsjournalinginformationto thenon-journalingext2 filesystem.[28]. Thereasonfor

using ext3 and JFFS2was to comparetwo filesystemsthat have the samedesigngoals

of having journal informationavailablein thefilesystemalongwith dataandmetadatain

order to improve availablity androbustness.Embeddeddevicesareusedas“appliance”

ratherthanasa “computer”, thereforethey areproneto severalabruptpower down. This

makesit imperative that thesesystemshave a journalingor a log structuredfilesystemto

improve reliability [24]. A conventionalfilesystemdoesnot updatethe changesmadeto

filesystemdataandmetadatato the secondarystoragedevice assoonasthe changesare

made.Thesechangesaremadeonly at a specifiedfrequency by a kernelthreadrunningin

thebackground.The disadvantagewith this kind of mechanismis thata shutdown made

beforethesyncinterval would leave thefilesystemin an inconsistentstate.This wasalso

thereasonanon-journalingfilesystemwasnotstudied.

Theflashchipwaspartitionedto havea3MB spacefor thefilesystemunderstudy.

B. Results

Tables2 and3 show thefilesystemactivities of JFFS2andext3 from theperspective of a

userrelatedfilesystemoperations.As canbeseenfrom thetables,theenergy consumption

Page 37: MACROMODELING AND CHARACTERIZATION OF …...Major Subject: Computer Engineering. MACROMODELING AND CHARACTERIZATION OF FILESYSTEM ENERGY CONSUMPTION FOR DISKLESS EMBEDDED SYSTEMS A

28

of JFFS2filesystemis better than that of ext3. The reasonfor this observation is that

JFFS2is a filesystemdesignedexclusively for flashdevices. It works directly with flash

chip driver to issueread/writerequestsof therequirednumberof bytes.Ext3 on theother

handis afilesystemdesignedfor blockbaseddevice. It seestheflashasablockdeviceand

usesa translationlayer calledmtdblock,to issuethe requeststo the flashchip. Thusthe

read/writerequestsaremadein multiplesof blocksizeof 128K.This impliesthatext3 has

apoorperformanceon flashfor smallread/writerequests.Thishappensto bethecasein a

numberof situationswhereeithera smallnumberof bytesis written to a file or themore

frequentcasethatinvolvechangingmetadataof filesystem(eg: chmod,chown, unlink).

The energy consumptiondueto processorhowever is higherin caseof JFFS2.This

canbeattributedto thefact thatJFFS2triesto compressdatabeingwritten into flashdur-

ing a write operation.While doinga readoperation,it decompressesthedataon fly. This

is donebecausetypically, embeddedsystemshave a constrainton theamountof available

flash,dueto costconsiderations.Thetestprogramsusedto generatethemacromodelused

randomdatato createfiles,sothatthecompressionis not optimalandtheequationsgivea

worstcaseboundon theenergy consumption.

Tables4 and5 show thedistribution of energy consumptionfor JFFS2andext3 due

to variousfilesystemrelatedsystemcalls. Thesystemcall level energy consumptionis an

importantmetric becauseall applicationlevel, filesystemrelatedfunctionsareconverted

into systemcall by theoperatingsystem.Besidesthis, a breakupof systemcall level sys-

tem call energy consumptioncanhelp in developinga low level applicationindependent

tool. Theobservationsandconclusionsderivedfrom theprevious tableis alsoapplicable

for the systemcall level energy consumtpionof JFFS2andext3. It canbe seenthat the

write energy consumptionof ext3 is around10 timesgreaterthanJFFS2.Thereadenergy

consumptionof ext3 is onanaverage10-90timesgreaterthanthatof JFFS2.

Page 38: MACROMODELING AND CHARACTERIZATION OF …...Major Subject: Computer Engineering. MACROMODELING AND CHARACTERIZATION OF FILESYSTEM ENERGY CONSUMPTION FOR DISKLESS EMBEDDED SYSTEMS A

29

C. Analysis

The analysisof energy consumptiondue to processoris shown in Figure(??). It com-

paresthe processorenergy consumptiondueto JFFS2with worst casecompressionthat

is generatedby writing randomdatainto a file, JFFS2with compressionusingdatathat

hasuniformity andext3. The file creationactivity is taken in this case,which is a most

commonwrite activity performedby afilesystem.Thefollowing resultscanbeestablished

from thisfigure

1. JFFS2is not suitedfor smallfile size(¡ 100bytes)dueto thefact that theoverhead

dueto compressionis of theorderof file sizeitself. For smallsizesext3 is betteroff

by storingthe data“as-is”. The advantagesdueto compressionaresignificantand

visible asthefile sizesincrease.For largefiles, theoverheaddueto compressionis

insignificantcomparedto theactualdata.

2. JFFS2withoutcompressionandext3 consumealmostthesameamountof processor

energy for largefile sizes.JFFS2consumesslightly higherin this casebecausepro-

cessorcyclesarewastedin trying to compressdata. However, this is a worst case

upperboundonly for datathat is randomandcannotbecompressionandnot likely

to occurfrequentlyin normalfilesystemactivities.

The analysisfor flashwrite energy consumptionfor the sameactivity of creatinga

new file is shown in 12. Thefollowing conclusionscanbedrawn

1. Ext3 is expensive for small files ( � 128K). This is dueto the fact that the requests

sentto theflashchip arein multiplesof 128K.For smallfiles, this would meanthat

128K bytesof datais written, no matterwhat is thesizeof request(if it happensto

Page 39: MACROMODELING AND CHARACTERIZATION OF …...Major Subject: Computer Engineering. MACROMODELING AND CHARACTERIZATION OF FILESYSTEM ENERGY CONSUMPTION FOR DISKLESS EMBEDDED SYSTEMS A

30

101

102

103

104

105

104

105

106

107

108

File Size (Bytes)

Pro

cess

or E

nerg

y C

onsu

mpt

ion

(nJ)

JFFS2 (worst case)JFFS2 (with compression)EXT3

Fig. 11. Comparisionof ProcessorEnergy Consumption

be lessthan128K). For large files, ext3 is almostasgoodasJFFS2with bestcase

compression.

2. JFFS2with worstcasecompressionis alwaysmoreexpensive thanext3 andJFFS2

with compression.This is due to the extra overheadof keepingthe compression

informationalongwith thefile itself.

Also, asageneralobservation,it canbeseenthatnot all filesystemrelatedoperations

area functionof numberof bytes.This is dueto thefactthatmostof thefilesystemrelated

operationsinvolvechangingthemetadata.Theflashis a randomaccessdevice,sotheseek

time thattypically variesin caseof aharddiskdrive is constantin this case.

Sincewe haveuseda regressionanalysisbasedtechniqueto comeupwith themacro-

model,thereareboundto be errorsin the calcuatedandthe actualvalues. This error as

Page 40: MACROMODELING AND CHARACTERIZATION OF …...Major Subject: Computer Engineering. MACROMODELING AND CHARACTERIZATION OF FILESYSTEM ENERGY CONSUMPTION FOR DISKLESS EMBEDDED SYSTEMS A

31

102

103

104

105

106

104

105

106

107

108

File Size (Bytes)

Fla

sh W

rite

Ene

rgy

(nJ)

JFFS2 worst caseJFFS2 with compressionEXT3

Fig. 12. Comparisionof FlashWrite Energy Consumption

depictedin thetablesis calculatedby thefollowing formulafrom theresultsof regression

analysis.

error �n

∑1

1n

� Em � Ea

Ea� 2 (4.1)

Em = Themeasuredenergy usingmacromodelequations

Ea = Theactualenergy from measurementor simulation

Theerrorat eachsampledpoint is calculatedfor all then measurements.

D. BenchmarkPrograms

In orderto validatethe error in energy valueswith actualapplications,threebenchmark

programswererun. compressusesthe standardcompressionalgorithmin orderto com-

pressa given text file andwrite thecompresseddatainto an outputfile. v42 is a modem

Page 41: MACROMODELING AND CHARACTERIZATION OF …...Major Subject: Computer Engineering. MACROMODELING AND CHARACTERIZATION OF FILESYSTEM ENERGY CONSUMPTION FOR DISKLESS EMBEDDED SYSTEMS A

32

basedalgorithmthatencodesdata.Theoutputdataof this programis redirectedto a text

file. Thethird benchmarkprogram,ucbqsort,is thequicksortalgorithmthatreadsaninput

file andoutputsthedataontoanoutputfile. Theflashwrite andreadenergy in eachof these

benchmarkprogramsis calculatedusingbothmacromodelandflashtraceprofile. Theerror

calcuatedbetweenthesimulationandmacromodelis alsogivenin thetable6.

TableII. Energy ConsumptionDueto FilesystemOperationsfor JFFS2

FilesystemActivity CPUEnergy (nJ) Error FlashEnergy Consumption(nJ)

Dueto Writes Error Dueto Read Error

CreateNew File 237x+ 35973 0.31 224x+ 12270 1.06 0.30x+ 224 0.23

DeleteFile 11x + 22074 0.17 0.327x+ 11900 0.10 0.003x+ 195 0.73

CreateDirectory 38000 0.82 20072 0.65 140 0.22

RemoveDirectory 21500 0.12 12119 0.43 38 0.64

MoveaFile 0.328x+ 35240 0.00 0.13x+ 20290 0.27 229 0.04

Copy aFile 10x + 38604 0.13 176x+ 37127 0.03 345 0.10

chmod 29500 0.02 13273 0.11 136 0.23

Page 42: MACROMODELING AND CHARACTERIZATION OF …...Major Subject: Computer Engineering. MACROMODELING AND CHARACTERIZATION OF FILESYSTEM ENERGY CONSUMPTION FOR DISKLESS EMBEDDED SYSTEMS A

33

TableIII. Energy ConsumptionDueto FilesystemOperationsfor EXT3

FilesystemActivity CPUEnergy (nJ) Error FlashEnergy Consumption(nJ)

Dueto Writes Error Dueto Read Error

CreateNew File 191x+ 16321 0.30 81x+ 238550 0.47 6.6x+ 39044 0.37

DeleteFile 1.5x+ 15515 0.90 6.8x+ 32859 1.66 0.72x+ 11007 1.13

CreateDirectory 292250 0.11 222789 0.16 27477 0.05

RemoveDirectory 17500 0.90 164279 0.24 20609 0.09

MoveaFile 0.68x+ 17364 0.09 1.8x+ 255230 0.35 0.67x+ 28069 0.44

Copy aFile 0.33x+ 18290 1.33 507x+ 208390 0.53 7.3x+ 18038 0.64

chmod 16000 0.12 94485 0.04 13745 0.09

TableIV. Energy Consumptionof FilesystemRelatedSystemCallsfor JFFS2

SystemCall CPUEnergy (nJ) Error FlashEnergy Consumption(nJ)

Dueto Writes Error Dueto Read Error

creat 21750 0.09 21211 0.12 2122 0.0

link 23750 0.09 8984 0.24 169 0.31

chown 20000 0.15 13258 0.12 1083 0.0

mkdir 19750 0.02 21332 0.06 2068 0.0

rmdir 23250 0.02 12187 0.07 166 0.05

mknod 18250 0.00 21198 0.07 169 0.11

mkfifo 21750 0.15 21070 0.07 228 0.03

write 12.67x+ 48885 0.02 178x+ 30496 0.06 0.03x+ 169 0.03

rename 33500 0.01 18870 0.21 227 0.26

unlink 93x - 27755 0.40 0.25x+ 11918 0.89 90 0.10

Page 43: MACROMODELING AND CHARACTERIZATION OF …...Major Subject: Computer Engineering. MACROMODELING AND CHARACTERIZATION OF FILESYSTEM ENERGY CONSUMPTION FOR DISKLESS EMBEDDED SYSTEMS A

34

TableV. Energy Consumptionof FilesystemRelatedSystemCallsfor EXT3

SystemCall CPUEnergy (nJ) Error FlashEnergy Consumption(nJ)

Dueto Writes Error Dueto Read Error

creat 18000 0.17 262144 0.31 13745 0.24

link 17775 0.15 169887 0.25 20608 0.21

chown 15750 0.02 95572 0.12 13746 0.22

mkdir 19750 0.06 195883 0.08 20548 0.00

rmdir 19500 0.05 247599 1.06 27481 0.59

mknod 18550 0.10 205357 0.15 27490 0.04

mkfifo 19000 0.13 165325 0.10 20605 0.07

write 80x + 14320 0.60 75x+ 242850 0.56 20645 0.01

rename 18500 0.06 247832 1.02 27487 0.50

unlink 1.8x+ 14320 0.29 5.2x+ 24210 0.66 9550 0.16

TableVI. Energy Consumptionof Filesystemfor Programsin JFFS2

Benchmark FlashWrite Energy(nJ) FlashReadEnergy (nJ)

Traced Evaluated Error Traced Evaluated Error

compress 62011 59742 -3.6 340 358 5.2

ucbqsort 139693 147376 5.2 335 358 6.8

v42 372899 385900 3.4 153 162 -7.0

Page 44: MACROMODELING AND CHARACTERIZATION OF …...Major Subject: Computer Engineering. MACROMODELING AND CHARACTERIZATION OF FILESYSTEM ENERGY CONSUMPTION FOR DISKLESS EMBEDDED SYSTEMS A

35

CHAPTERV

FUTUREWORK

A. ExploringDynamicStateof Flash

Most flashchipsprovide a “standbystate”thatconsumescurrentin theorderof uA. This

is order of around1000 lessthan that of normal operationwherethe currentis in mA.

Dependingontheaccesspatterns,it canbecalcuatedatwhattimestheflashhaslow energy

consumptionandaccordingly, theflashcanbeput in the low power, standystate.This is

similar to ACPI harddiskdrivesin conventionaldesktopsystemsthatcanswitchto a low-

power “sleepstate”whennot in use.Oneof thewaysto implementthis canbeusingthe

scheduler, thatcanmemodifiedandmadeenergy awaresothatit switchesstateof theflash

chip.

B. Studyof OtherFilesystems

The work currentlystudiesonly two of the filesystems,JFFS2andext3. Onehashigher

processorenergy consumptionandtheotherhashigherflashenergy consumption.Thetool

canbeusedto designfilesystemthatdoesnot usethemtdblock(asin thecaseof JFFS2),

but usestheotherfeaturesof ext3.

C. EfficientFlashPartitioningScheme

The energy consumptioncan be studiedto partition flash suchthat all the libraries and

other read-onlydirectory structureis kept on a partition that haslow flash read-energy

consumption.The restof thefilesystemcanbemadea read-writepartitiondependingon

energy requirements.Thispartitioncanbelog structuredto improvethereliability.

Page 45: MACROMODELING AND CHARACTERIZATION OF …...Major Subject: Computer Engineering. MACROMODELING AND CHARACTERIZATION OF FILESYSTEM ENERGY CONSUMPTION FOR DISKLESS EMBEDDED SYSTEMS A

36

CHAPTERVI

CONCLUSION

In this thesis,a mathematicalmodeldescribingenergy consumptionof filesystemis char-

acterized.Theenergy consumptiondueto processor, flashwrite operationsandflashread

operationsarequantifiedusinglinear regressionanalysis.This studyis donefor two dif-

ferenttypesof filesystemsthatarepopularlyused.The resultsof the two filesystemsare

comparedto find out theadvantagesanddisadvantagesof each.

The mathematicalmodelingdescribingenergy consumptionas a function of filesystem

level system-callscan be a powerful tool for systemdesignerto make decisionsabout

filesystemof choicefrom anenergy consumptionpoint of view. It canalsobeusedto find

out theenergy consumptiondueto filesystemoverheadin userapplications.

Page 46: MACROMODELING AND CHARACTERIZATION OF …...Major Subject: Computer Engineering. MACROMODELING AND CHARACTERIZATION OF FILESYSTEM ENERGY CONSUMPTION FOR DISKLESS EMBEDDED SYSTEMS A

37

REFERENCES

[1] Intel Flash Memories, “Intel Fast Boot Block Flash Memory,” in

http://www.intel.com/design/flash/support/DevChar/28f800f3.htm,May 2003.

[2] JohnZedlewski Sumeet,“Modeling hard-diskpowerconsumption,” in Proc.Second

ConferenceonFile andStorageTechnologies, March,2003.

[3] JonathanT. Moore,MichaelHicks, andScottNettles, “General-purposepersistence

usingflash memory,” Technicalreport ms-cis-97-3,Departmentof Computerand

InformationScience,Universityof Pennsylvania,1997.

[4] J. Eager, Ed., Advancesin rechargeablebatteriessparkproductinnovation, Silicon

Valley ComputerConference,SantaClara,CA, August1992.

[5] A. Chandrakasan,S.Sheng,andR. Brodersen,“Low-powercmosdigital design,” in

Low-PowerCMOSDigital Design.JSSC, pp.473–484,April, 1992.

[6] Neil H. E. WesteandKamranEshraghian,Principlesof CMOS VLSI Design- A

SystemsPerspective, 2nded.UpperSaddleRiver, NJ: PearsonEducation,1992.

[7] Amit Sinha, “Energy awaresoftware,” M.S. thesis,MassachusettsInstituteof Tech-

nology, Cambridge,MA, 1999.

[8] A. Vahdat,A. Lebeck,andC. Ellis, “Every joule is precious:The casefor revisit-

ing operatingsystemdesignfor energy efficiency,” in SIGOPSEuropeanWorkshop,

Kolding,Denmark,2000,pp.31-36.

[9] V. Tiwari, S. Malik, andA. Wolfe, “Power analysisof embeddedsoftware: A first

steptowardssoftwarepowerminimization,” IEEE Transactionson Very LargeScale

Integration(VLSI) Systems, vol. 2, no.4, pp.437–445,1994.

Page 47: MACROMODELING AND CHARACTERIZATION OF …...Major Subject: Computer Engineering. MACROMODELING AND CHARACTERIZATION OF FILESYSTEM ENERGY CONSUMPTION FOR DISKLESS EMBEDDED SYSTEMS A

38

[10] RobertP. Dick, GaneshLakshminarayana,Anand Raghunathan,andNiraj K. Jha,

“Poweranalysisof embeddedoperatingsystems,” in DesignAutomationConference,

SanDiego,CA, 2000,pp.312–315.

[11] JasonFlinn andM. Satyanarayanan,“Energy-awareadaptationfor mobile applica-

tions,” in Symposiumon OperatingSystemsPrinciples, 1999,pp.48–63.

[12] F. Bellosa, “OS-directedthrottling of processoractivity for dynamicpower manage-

ment,” Technicalreport tri4 -3-9, Departmentof ComputerScience,University of

Erlangen,Germany, 1999.

[13] T. Simunic, L. Benini, and G. D. Micheli, “Event-driven power managementof

portablesystems,” in InternationalSymposiumon SystemSynthesis, 1999,pp. 18–

23.

[14] N. JhaT. K. Tan,A. Raghunathan,“Embeddedoperatingsystemenergy analysisand

macro-modeling,” in ICCD, 2002.

[15] T. K. Tan,AnandRaghunathan,GaneshLakshminarayana,andNiraj K. Jha,“High-

level softwareenergy macro-modeling,” in DesignAutomationConference, 2001,

pp.605–610.

[16] Amit SinhaandAnanthaChandrakasan,“Jouletrack- a webbasedtool for software

energy profiling,” in DesignAutomationConference, 2001,pp.220–225.

[17] N. JhaT. K. Tan, “EMSIM anenergy simulationframework for anembeddedoper-

ating system,” in Proceedingsof InternationalSymposiumon Circuit andSystems,

May 2002.

[18] David Brooks,Vivek Tiwari, andMargaretMartonosi, “Wattch: a framework for

architectural-level poweranalysisandoptimizations,” in ISCA, 2000,pp.83–94.

Page 48: MACROMODELING AND CHARACTERIZATION OF …...Major Subject: Computer Engineering. MACROMODELING AND CHARACTERIZATION OF FILESYSTEM ENERGY CONSUMPTION FOR DISKLESS EMBEDDED SYSTEMS A

39

[19] DougBurger, ToddM. Austin, andSteve Bennett, “Evaluatingfuturemicroproces-

sors:Thesimplescalartool set,” Tech.Rep.CS-TR-1996-1308,1996.

[20] LART, Delft University of Technology, “The lart pages,” in

http://www.lart.tudelft.nl/,May, 2003.

[21] Intel PCA Processors “Intel strongarm processor,” in

http://www.intel.com/design/pca/applicationsprocessors/1110 brf.htm,May 2003.

[22] Handhelds.org, The handheld portal, “RAMFS,” in

http://www.handhelds.org/z/wiki/RAMfs, May 2003.

[23] CesatiM Bovet P. D., Understandingthe Linux Kernel, 1st ed. Sebastopol,CA:

O’Reilly, 1998.

[24] MendelRosenblumandJohnK. Ousterhout,“The designandimplementationof a

log-structuredfile system,” ACM Transactionson ComputerSystems, vol. 10,no.1,

pp.26–52,1992.

[25] Margo I. Seltzer, Keith Bostic,MarshallK. McKusick,andCarl Staelin, “An imple-

mentationof a log-structuredfile systemfor UNIX,” in USENIX Winter, 1993,pp.

307–326.

[26] Aleph One Limited, “JFFS2and NAND,” in http://www.aleph1.co.uk/armlinux/

projects/yaffs/jffs2 andnand.htm,May, 2003.

[27] JFFS: The JournalingFlash File System. Ottawa Linux Symposium,2001, in

http://sources.redhat.com/jffs2/jffs2.pdf.

[28] StephenTweedie,“JournalingtheLinux ext2fsfilesystem,” in LinuxExpo’98, 1998.

[29] Rubini, Writing DeviceDriversin Linux, 2nded.Sebastopol,CA: O’Reilly, 1999.

Page 49: MACROMODELING AND CHARACTERIZATION OF …...Major Subject: Computer Engineering. MACROMODELING AND CHARACTERIZATION OF FILESYSTEM ENERGY CONSUMPTION FOR DISKLESS EMBEDDED SYSTEMS A

40

APPENDIX A

SOURCECODEFORTRIGGERDRIVER

/** trigger.c: A module that sends a high or low to one of GPIO pins of LART** Author:* - Siddharth Choudhuri ([email protected]): final version** Goal of the program* ===================* The goal of this driver is to set pin 16 (GPIO 3) to high or low to* start the trigger for NI Labview for power measurements** Usage* =====* echo 0 > /proc/trigger -> To set GPIO Pin 3 to LOW* echo 1 > /proc/trigger -> To set GPIO Pin 3 to HIGH**/

#include <linux/config.h>#include <linux/kernel.h>/* because this is kernel level program */#include <linux/module.h>/* because it is a module */#include <linux/init.h>/* for the __init macros */#include <linux/proc_fs.h>/* for the proc filesystem entry */#include <linux/ioport.h>#include <asm/uaccess.h>/* to copy to/from userspace */#include <asm/arch/hardware.h> /* to set the GPIO pins to High and Low */

#define MODULE_NAME"trigger"#define MODULE_VERSION"1.0"

#define LCD_PPC_BITS 0x000000ff

static int gpio_pin_status;

static int read_trigger(char *, char **, off_t, int, int *, void *);static int write_trigger(struct file *, const char *, unsigned long, void *);

static int __init init_trigger_mod(void){struct proc_dir_entry *entry;

/* create a new proc entry by name trigger */entry = create_proc_entry(MODULE_NAME, 0666, NULL);

Page 50: MACROMODELING AND CHARACTERIZATION OF …...Major Subject: Computer Engineering. MACROMODELING AND CHARACTERIZATION OF FILESYSTEM ENERGY CONSUMPTION FOR DISKLESS EMBEDDED SYSTEMS A

41

/*entry->uid = 0;*/

/* voltage control init */LCCR0 &= ˜LCCR0_LEN; /* disable the built-in lcd controller */

/* Write to a read-only register ??? */PPFR |= PPFR_LCD; /* let the PPC control the lcd pins */

/* set register vaules */PPSR |= 0x00000000; /* all pins low *//* set direction */PPDR |= LCD_PPC_BITS; /* pins are outputs */

if (entry) {/* callback functions to read and write to /proc/trigger */entry->read_proc = read_trigger;entry->write_proc = write_trigger;}else {printk(KERN_ERR MODULE_NAME ": can’t create /proc" MODULE_NAME "\n");return -1;}

return 0;}

static int read_trigger(char *page, char **start, off_t off, int count, int *eof, void *data){int len;

len = sprintf(page, "%d\n", gpio_pin_status);/*printk("Module trigger: read %d\n", gpio_pin_status);*/

return len;}

static int write_trigger(struct file *f, const char *buffer, unsigned long count, void *data){int gpio_to_set, len;char *p;

MOD_INC_USE_COUNT;len = count;gpio_to_set = simple_strtoul(buffer, &p, 0);/*printk("Module trigger: wrote %d\n",gpio_to_set); */gpio_pin_status = gpio_to_set;

if ( gpio_pin_status == 1 ) {/* Set LDD7 to high */PPSR |= 0x00000080; /* set LDD7 to high */printk("Module trigger: setting LDD7 to 1\n");

Page 51: MACROMODELING AND CHARACTERIZATION OF …...Major Subject: Computer Engineering. MACROMODELING AND CHARACTERIZATION OF FILESYSTEM ENERGY CONSUMPTION FOR DISKLESS EMBEDDED SYSTEMS A

42

}else {/* Set LDD 7 to low */GPCR= GPIO_GPIO3;PPSR &= 0xFFFFFF7F; /* set LDD7 to low */printk("Module trigger: setting LDD7 to 0\n");}

MOD_DEC_USE_COUNT;

return len;}

static void __exit exit_trigger_mod(void){remove_proc_entry(MODULE_NAME, NULL);

return;}

module_init(init_trigger_mod);

module_exit(exit_trigger_mod);

Page 52: MACROMODELING AND CHARACTERIZATION OF …...Major Subject: Computer Engineering. MACROMODELING AND CHARACTERIZATION OF FILESYSTEM ENERGY CONSUMPTION FOR DISKLESS EMBEDDED SYSTEMS A

43

APPENDIX B

CREATING A RAMDISK IMAGE

dd if=/dev/zero of=/dev/ram1 bs=1k count=4096mkfs.ext3 -vm0 /dev/ram1 4096mount -t ext3 /dev/ram1 /mnt/ramdiskcp -av <prepared_filesystem> /mnt/ramdiskumount /mnt/ramdiskdd if=/dev/ram1 bs=1k count=4096 | gzip -v9 > ramdisk.gzuuencode ramdisk.gz ramdisk.gz > ramdisk.gz.uu

Page 53: MACROMODELING AND CHARACTERIZATION OF …...Major Subject: Computer Engineering. MACROMODELING AND CHARACTERIZATION OF FILESYSTEM ENERGY CONSUMPTION FOR DISKLESS EMBEDDED SYSTEMS A

44

APPENDIX C

CREATING A JFFS2FLASH BASEDIMAGE

1. Create a JFFS2 filesystem image out of a root filesystem that is locatedin directory rootfsmkfs.jffs2 -r rootfs/ -o jffs2_image.imgjffs2_image is the name of the output file that has the JFFS2 image.

2. Erase the flash partitioneraseall /dev/mtd2 -or- erase /dev/mtd2 0 0x300000This command erases the 3MB partition on flash that is used for filesystem

3. Download the JFFS2 image (jffs2_image.img) to the LART board using z-modemserial transfer

4. Copy the filesysetm image onto the flash partitioncat jffs_image.img > /dev/mtd2

5. Load the JFFS2 module into the kernelmodprobe -a jffs2

6. Mount the JFFS2 filesystemmount -t jffs2 /dev/mtdblock2 /mnt

Page 54: MACROMODELING AND CHARACTERIZATION OF …...Major Subject: Computer Engineering. MACROMODELING AND CHARACTERIZATION OF FILESYSTEM ENERGY CONSUMPTION FOR DISKLESS EMBEDDED SYSTEMS A

45

APPENDIX D

KERNEL DATA STRUCTURESFORLOGGING FLASH ENERGYCONSUMPTION

/** Trace.h* This file has the data structures required to generate a trace* based simulation of flash chip energy consumption** Author: Siddharth Choudhuri <[email protected]>*/

#ifndef __MTD_TRACE_H__#define __MTD_TRACE_H__

#include <linux/types.h>#include <linux/list.h>

/** These defines are from Intels’ flash chip manual under section 8.0** The following defines are to convert the above values to* integer values. Floating point seems to have problems* with kernel compilation as ARMhas a floating point emulation only*/#define FLASH_CHIP_VDD27 /* 10 x V */#define FLASH_READ_CURRENT45 /* mA */#define FLASH_PROGRAM_CURRENT8 /* mA */#define FLASH_ERASE_CURRENT8 /* mA */#define FLASH_STANDBY_CURRENT3 /* uA */#define UPDATE_READ0#define UPDATE_WRITE1

/** This is the basic structure that holds per process energy consumption* due to write operations to flash chip*/struct trace_wr_energy {pid_t pid; /* PID of the process*/char comm[16]; /* Name of the process */u64 write_energy; /* Energy consumed (mJ) due to write to flash */unsigned int bytes_written; /* Total number of bytes written */};

/** This is the basic structure that holds per process energy consumption* due to write operations to flash chip

Page 55: MACROMODELING AND CHARACTERIZATION OF …...Major Subject: Computer Engineering. MACROMODELING AND CHARACTERIZATION OF FILESYSTEM ENERGY CONSUMPTION FOR DISKLESS EMBEDDED SYSTEMS A

46

*/struct trace_rd_energy {pid_t pid; /* PID of the process*/char comm[32]; /* Name of the process */u64 read_energy; /* Energy consumed (mJ) due to read from flash */unsigned int bytes_read; /* Total number of bytes read */};

/** This to generate a linked list out of the trace_energy* using the list_head provided by the kernel in <linux/list.h>* This is for write operations*/struct trace_wr_list {struct trace_wr_energy tr_energy;struct trace_wr_list *next;struct trace_wr_list *prev;};

/** This to generate a linked list out of the trace_energy* using the list_head provided by the kernel in <linux/list.h>* This is for read operations*/struct trace_rd_list {struct trace_rd_energy tr_energy;struct trace_rd_list *next;struct trace_rd_list *prev;};

#endif /* __MTD_TRACE_H__*/

Page 56: MACROMODELING AND CHARACTERIZATION OF …...Major Subject: Computer Engineering. MACROMODELING AND CHARACTERIZATION OF FILESYSTEM ENERGY CONSUMPTION FOR DISKLESS EMBEDDED SYSTEMS A

47

APPENDIXE

READINGSFORENERGYMEASUREMENT

This tableillustratesthereadingsfor processorandflashenergy for differentfile sizes.The

file deleteactivity usingrm commandwasbeingprofiled. Similar tableswerecreatedfor

eachactivity whosemacromodelwasmade.

TableVII. Energy ConsumptionCharactericsDueto File Delete

File Size BytesWritten Write Energy BytesRead ReadEnergy CPUEnergy

1 61 10956 36 179.7 0.0275

2 68 12166 40 204.9 0.0270

8 40 12280 38.8 116.35 0.024

16 68 12275 40 224.5 0.0265

32 68 12182 40 211.2 0.0280

128 68 12232 40 208.7 0.0285

512 68 12046 40 235.5 0.0270

1024 68.6 12368 40.6 197.75 0.0225

2048 68 12116 40 190 0.0225

8196 81.2 14679 53.2 224 0.1195

Page 57: MACROMODELING AND CHARACTERIZATION OF …...Major Subject: Computer Engineering. MACROMODELING AND CHARACTERIZATION OF FILESYSTEM ENERGY CONSUMPTION FOR DISKLESS EMBEDDED SYSTEMS A

48

VITA

SiddharthChoudhurireceived his undergraduationdegreein ComputerScienceand

Engineeringfrom UniversityCollege of Engineering,SambalpurUniversity in 1999. He

workedasa SeniorDesignEngineerat GE MedicalSystems,writing driversfor Magnetic

ResonanceImaging(MRI) scannersbeforebeginningstudyfor theMS in ComputerEngi-

neeringat TexasA&M Universityin 2001.

PermanentAddress

Dr. P. C. Choudhuri

215Dharmavihar,

Bhubaneswar751030

INDIA

Thetypist for this thesiswasSiddharthChoudhuri.