Who ate my battery?

Video thumbnail (Frame 0) Video thumbnail (Frame 1481) Video thumbnail (Frame 3168) Video thumbnail (Frame 5343) Video thumbnail (Frame 6886) Video thumbnail (Frame 8080) Video thumbnail (Frame 9134) Video thumbnail (Frame 10397) Video thumbnail (Frame 11549) Video thumbnail (Frame 13208) Video thumbnail (Frame 14382) Video thumbnail (Frame 15532) Video thumbnail (Frame 16513) Video thumbnail (Frame 17641) Video thumbnail (Frame 18751) Video thumbnail (Frame 19903) Video thumbnail (Frame 20870) Video thumbnail (Frame 23546) Video thumbnail (Frame 24919) Video thumbnail (Frame 26010) Video thumbnail (Frame 27021) Video thumbnail (Frame 28044) Video thumbnail (Frame 29046) Video thumbnail (Frame 30325) Video thumbnail (Frame 31332) Video thumbnail (Frame 32443) Video thumbnail (Frame 33514) Video thumbnail (Frame 34636) Video thumbnail (Frame 35588) Video thumbnail (Frame 36890) Video thumbnail (Frame 37966) Video thumbnail (Frame 39086) Video thumbnail (Frame 42440) Video thumbnail (Frame 43947) Video thumbnail (Frame 45265) Video thumbnail (Frame 47385) Video thumbnail (Frame 48476) Video thumbnail (Frame 50195) Video thumbnail (Frame 51874) Video thumbnail (Frame 53929) Video thumbnail (Frame 54987) Video thumbnail (Frame 56423) Video thumbnail (Frame 58268) Video thumbnail (Frame 59412) Video thumbnail (Frame 60530) Video thumbnail (Frame 61757) Video thumbnail (Frame 62915) Video thumbnail (Frame 63888) Video thumbnail (Frame 74476)
Video in TIB AV-Portal: Who ate my battery?

Formal Metadata

Who ate my battery?
Why free and open source systems are solving the problem of excessive energy consumption.
Title of Series
CC Attribution 2.0 Belgium:
You are free to use, adapt and copy, distribute and transmit the work or content in adapted or unchanged form for any legal purpose as long as the work is attributed to the author in the manner specified by the author or licensor.
Release Date

Content Metadata

Subject Area
Despite a decade of innovative development, and despite improvements in battery technology, a modern smartphone needs recharging far more often than its turn-of-the-century predecessor. Yet the blame cannot be laid at the door of hardware engineers; the problem lies in the software. Fortunately free and open source technology is racing to the rescue. With this talk we aim to promote energy efficiency to a first class software design goal. Modern silicon chips are able use very little power. Multiple clock domains, clock gating and dynamic voltage and frequency control have all served to make modern hardware highly energy efficient. Yet all that can be destroyed by the software running on the chip. In this presentation we will look at how the entire software design process needs reworking to bring the software engineering team into low power design from day one. Central to this is the availability of good software development tool support, debug functionality, and energy transparency from hardware to software. We will explain why developers should consider energy consumption as a primary design goal for software, give an insight into how energy consumption of code can be measured and present some of the tools we are currently working on to enable more energy efficient software development. Open source is playing a central role in giving developers access to tools that enable energy efficient design. We will present details of MAGEEC, a UK government funded project to build the next generation of open source machine learning compilers, which will optimize for energy efficiency. We will present the compiler framework, and the energy measurement hardware, both of which are fully open source. We will also introduce the EU ENTRA project, which aims to promote energy aware system development by enabling energy transparency from the hardware to the software in a computer system. This will be achieved using advanced energy modelling and program analysis techniques to make predictions of energy usage available to the system developer and to the software engineering tool chain. We will present energy consumption analysis tools developed in the ENTRA project. The talk leads into the Energy Efficient Computing devroom happening on Sunday
Predictability Mathematics Computer animation Bit Line (geometry) Food energy
Digital photography Group action Computer animation Multiplication sign Structural load Sound effect
Metre Area Multiplication sign Database transaction Insertion loss Total S.A. Streaming media Food energy Computer Mathematics Arithmetic mean Computer animation Integrated development environment Rootkit Internetworking Factory (trading post) Freeware
Computer animation Multiplication sign output Nichtlineares Gleichungssystem Inverter (logic gate)
Ocean current Addition Dynamical system Multiplication sign Insertion loss Food energy Power (physics) Frequency Computer animation Term (mathematics) Atomic number Personal digital assistant Amenable group
Frequency Computer animation Multiplication sign Square number Variance Insertion loss Mereology Food energy Sinc function Power (physics)
Cross section (physics) Computer animation Open source File viewer Quantum computer Computer Logic gate
Dataflow Fluid statics Frequency Web portal Computer animation Multiplication sign Square number Insertion loss Food energy
Laptop Range (statistics) Voltmeter Mereology System call Computer Number Frequency Computer animation Computer hardware Configuration space Table (information) Error message Social class
Point (geometry) Facebook Computer program Googol Software engineering Computer animation Key (cryptography) Open source Universe (mathematics) Computer science Machine code Food energy
Suspension (chemistry) Dynamical system Sound effect Public domain Food energy Order of magnitude Power (physics) Frequency Digital rights management Computer animation Different (Kate Ryan album) Right angle Summierbarkeit Quicksort Social class
Computer animation Term (mathematics) Computer hardware Computer science Mathematical optimization Power (physics) Physical system
Focus (optics) Process (computing) Computer animation Software Energy level Quicksort Mereology Computer Physical system
Group action Multiplication sign Insertion loss Bit System call Power (physics) Computer animation Software Personal digital assistant Different (Kate Ryan album) Computer hardware Multimedia Right angle
Dataflow Digital rights management Dynamical system Computer animation Term (mathematics) Computer hardware Compiler Mathematical optimization Task (computing) Vector potential Element (mathematics)
Algorithm Computer animation Software Decision theory Energy level Sound effect Machine code Data structure Food energy Logic gate Abstraction Mathematical optimization
Point (geometry) Transformation (genetics) Computer Power (physics) Meeting/Interview Semiconductor memory Operator (mathematics) Computer hardware Selectivity (electronic) Quantum computer Mathematical optimization Algorithm Mapping Sampling (statistics) Fitness function Parallel port Maxima and minima Bit Line (geometry) Cartesian coordinate system Sequence Band matrix Digital rights management Computer animation Software Right angle Reading (process)
Computer program Algorithm Information Moment (mathematics) Machine code Cartesian coordinate system Mereology Food energy Event horizon Arithmetic mean Computer animation Energy level Right angle Abstraction
Point (geometry) Category of being Computer animation Information Different (Kate Ryan album) Term (mathematics) Decision theory Computer hardware Video game output Funktionalanalysis Mereology
Point (geometry) Algorithm Computer animation View (database) Machine code Student's t-test Food energy Computer Computing platform Spacetime
Context awareness Algorithm Mathematics Computer animation Different (Kate Ryan album) Software framework Bit Quicksort Traffic reporting Computer Food energy
User interface Pairwise comparison Slide rule Link (knot theory) Multiplication sign Sheaf (mathematics) Mathematical analysis Bit Instance (computer science) Client (computing) Food energy Power (physics) Process (computing) Computer animation Average Right angle Quicksort Resultant
Computer program Context awareness Information Stochastic process Projective plane Model theory Mathematical analysis Funktionalanalysis Mereology Limit (category theory) Food energy Graph coloring Fluid statics Computer animation Software Right angle Endliche Modelltheorie Physical system
Computer program Computer animation Assembly language Model theory Mathematical analysis Bit Insertion loss Software testing Streaming media Food energy Sequence Binary multiplier
Pairwise comparison Computer program Concurrency (computer science) Process (computing) Computer animation Information Stochastic process Model theory Food energy Computer
Computer program Mapping Set (mathematics) Bit Funktionalanalysis Price index Measurement Food energy Product (business) Digital rights management Goodness of fit Computer animation Whiteboard Partial derivative
Point (geometry) Computer animation Mapping Euler angles Bit Right angle Data type Food energy
Computer program Statistics Algorithm Projective plane Model theory Adaptive behavior Mathematical analysis Bound state Funktionalanalysis Instance (computer science) Mereology Food energy Computer Fluid statics Category of being Computer animation Formal verification output Worst-Case-Laufzeit Procedural programming
Information Plotter Multiplication sign Decision theory Mathematical analysis Bound state Machine code Food energy Latent heat Computer animation Term (mathematics) Formal verification Right angle
Area Momentum Open source Model theory Projective plane Gradient Mathematical analysis Funktionalanalysis Food energy Computer animation Personal digital assistant Different (Kate Ryan album) Resultant Abstraction Computer architecture Physical system
Point (geometry) Presentation of a group Software engineering Mapping Decision theory Software developer Funktionalanalysis Machine code Food energy Computer Compiler Power (physics) Plane (geometry) Computer animation Boundary value problem Right angle Computer-assisted translation Form (programming) Spacetime
Computer animation Food energy Social class
Software engineering Computer animation Software Multiplication sign Projective plane Computer hardware Compiler Formal grammar Moment <Mathematik> Parameter (computer programming) Food energy Compiler
Computer program Copyright infringement Link (knot theory) Multiplication sign Projective plane Voltmeter Lattice (order) Open set Computer Food energy Machine vision Compiler Process (computing) Computer animation Different (Kate Ryan album) Computer configuration Compiler Resultant
Computer animation Compiler Projective plane Machine code Food energy
Computer program Multiplication sign Model theory Feedback Projective plane Sound effect Food energy Measurement Computer Compiler Machine learning Computer animation Selectivity (electronic) Right angle Quicksort Radiant flux Mathematical optimization
Computer program Arm Stochastic process Projective plane Database Food energy Compiler Goodness of fit Computer animation Personal digital assistant Universe (mathematics) Website Quicksort Mathematical optimization Resultant Form (programming)
Interface (computing) Patch (Unix) Online help Line (geometry) Food energy Computer Measurement Prototype Goodness of fit Computer animation Software framework Plug-in (computing) Mathematical optimization
Ocean current Data mining Digital rights management Process (computing) Computer animation Multiplication sign Bit Quicksort Drop (liquid) Whiteboard Food energy Measurement
Component-based software engineering Computer animation Sampling (statistics) Volume (thermodynamics) Open set Mass Food energy Measurement Speichermodell 2 (number)
Point (geometry) Suite (music) Computer program Open source Projective plane Set (mathematics) Benchmark Mixture model Goodness of fit Computer animation Energy level Software testing Integer Whiteboard Best, worst and average case Freeware Multi-core processor Physical system
Area Computer animation Meeting/Interview Computer configuration Different (Kate Ryan album) Whiteboard Computer Spacetime
Wiki Computer animation Mapping Projective plane Mathematical analysis Machine code Food energy Field (computer science)
Collaborationism Context awareness Algorithm Link (knot theory) Projective plane Set (mathematics) Computer Food energy Computer animation Term (mathematics) Universe (mathematics) Energy level Speech synthesis Right angle Quicksort Series (mathematics)
Computer program Trail Email Statistics Computer animation Student's t-test Computer Food energy Dimensional analysis
Degree (graph theory) Simulation Befehlsprozessor Computer animation Different (Kate Ryan album) Mixed reality Mathematical analysis Computer simulation Bit Food energy Resultant
Trajectory Computer program State observer Suite (music) Group action Presentation of a group Context awareness Multiplication sign Mereology Food energy Order of magnitude Physical system Simulation Constructor (object-oriented programming) Sampling (statistics) Instance (computer science) Measurement Process (computing) Telecommunication Summierbarkeit Figurate number Quicksort Spacetime Ocean current Point (geometry) Slide rule Statistics Implementation Existence Flash memory Event horizon Computer Element (mathematics) Number Power (physics) Frequency Latent heat Profil (magazine) Term (mathematics) Computer hardware Software testing Mathematical optimization Computing platform Computer architecture Form (programming) Addition Chemical equation Model theory Projective plane Mathematical analysis Database Line (geometry) Machine code Compiler Radius Computer animation Software Web-Designer Data center Family Operating system
Metre Computer animation Computer file Software Independence (probability theory)
the good all where you have to say about this evening larger than it obviously joined my colleague that I I will be chopping and changing halfway through as we talked to you about the subject of energy the so in line only concerned about energy while is coming from a bit over a decade ago there the release 2001 you must be now you have all of this leads to a lot of the house without any problem and actually very good predictions that you have to have a change of the how much of the tool the problem is that we
got from the experience and it's going to be the battery religious how batteries have got much bigger in the same size of the and it has all along the and by time and it's full time is only
about the SOS technologies advance got more more stuff in the phones we want to be more computing with it and the consequences of actions the there is the is the photos that quicker than I would that something like a galaxy as for the last few that this huge it's 1 of the 2 thousand 600 million but time is that all much longer you can say this is an issue that I immediately account tremolo effects in the by the power station 11 Google loads of
active you want to hear and status sensors that cost you will have to be developed so there's a strong financial incentive to leave alone the environment incentive to save energy in dataset and I think we'll transactions things over the Internet that do little to blame will not only because of the recent research shows aware of that have this is actually rooted in advance of the fuel stream in a movie about 97 per cent of the energy cost that you know the most that is in the root of the mobile phone really discussed the batteries get bigger and bigger of lossness unless a couple of other areas it may seem strange that all of the meter acting as a factory stays on the most expensive thing about him is the the guy comes out every 10 years the change that on and it doesn't change the battery you don't get me to the reality free if you could make it at the last another year the significant cost of the and all of the energy comes what the energy scavenging now when Google made insulin itself we gigawatts energy scavenging devices concern themselves with animals and then energy say is more computation can be done
just to clarify some basic mathematics here when I talk about energy and that they have precise meanings and how fast you the energy so you multiply the time and you get the energy use and generally it's the total amount of energy and
that so we can learn a lot of that for a short time and that's just as good as you have and the solution to that equation
now I will want to give the impression that people have been working all of where engineers are actually very good that energy efficiency so here is so it all standard inverter in some on the left will say we see the in but when it's an input fine so the low transistor the endless when is turned on and the past that's all this
has be drain that that energy being used when I switch it the other way of charging
that pass inside and that uses energy so each time i switch currents flowing current flowing is energy use In addition as i switch between the 2 the period when both transistors are all 1 terms all the atoms all amenable short circuit and that's great so the fact that the the fossilized switch the more hundreds and lose energy that's what we call dynamic energy loss
now you're members who will school jaw tronics power is proportional to voltage squared times the resistance but we're also this case losing that every time we portions of
frequency so the power portion of the square of the variance and since frequency indicates is generally portion of the voltage is higher frequency you want to run the higher up the voltage on the run you OK so we actually
want how is proportional to the with the frequency you run into that on and if you multiply by 2 times the energy of course if you run OK so you have to use that have longer so actually energy is proportional to the frequency where all voltage but only part of the energy loss we also lose energy through current just leaking
through viewer cross section of a modern chair the actual layer between the gates and the online substrate is just for items they make if I have to say it won't be senses make reactions to it I mean just have quantum tunneling electrons through to the substrate but we still don't lose some values and through the ordinary current just break through resistance and you some 3 holding some and indeed you want to do
some from side to side is the source and drain
connect both through the traditional
and uh this is flow and so important in on a master status lost its and whatever you do so as you got our energy when you switch it on what you're going to get static energy loss
is still the square of we don't care frequency now so this frequency voltage is still related out portals where frequency a lot of time and
energy loss due to static also proportional to the voltage and so on and our energies or from the frequency that it means is that dropping the frequency of your chair so that you can actually reduce the
voltage is a huge win and that's
why in your mobile phone you get 4 8 schools because the market at around 4 or 8 calls letter frequency in the voltage and the from 1 of a high frequency the that's all
you can do is you can switch off when you're not doing it now you use the power-saving modes of laptop and so but actually hardware from it's as it's the far wider range and what propagating not using part circuit that data that's not what the tool that do anything with and we can see that there that if we look objectionable example here it's really have no idea range that the use not we know you're familiar with these this is that it's not monthly dx in 5 6 minus 3 volts and you make which is the standard configuration and even is that going to 299 grants to small error but it's still not if you don't have to be much computing you can drop down to 32 kilohertz and then you can run on the table and then is that my current these just for my class and that means you can run the large number of years on back so far engineering as a great
deal to try and say that but we still have a lot of code that we still have the Googles Facebooks in this world doing their best to contribute to global warming at this point I'm going to have the person who's going to explain our software engineers and the open source community are going to say well you have to have a chance to live up to that thank you very much chairman underestimator and computer scientists and I'm from this university and I would like to introduce you to the idea of an energy transparency which I believe is the key to us as computer scientists programmers and gaining better understanding of how much energy is actually consumed by the currently right and I think
we better get on with this because it is really important we don't want to use like this
but that's the sort of things you want to avoid the use of and it seems that the whole community has done an awful lot but I of community is very much a blissfully unaware of this right so the sum up how management has
largely been on domain Jeremy explains that this kind the power this energy consumption and which is the 1st class design goal of the design and that's engine power management damage dynamic voltage and frequency scaling best different nodes that only suspense laid off on the something different than effects on the power consumption of the
hardware but we actually focusing on the mined area always focusing on where the greatest savings can be made when I started looking at this
I saw someone from into graphics and they explained that where it's most efficient or where you can get the most the biggest gains in terms of power optimization and what was said was that that is at the highest level of and the designing hierarchy but
on as a computer scientist I know that that is not the top of the systems that right that might be for hardware but as a computer scientist under there's there's about and so the fact is really
is on software and interestingly when I got into this there was this interesting article that in the electron intimately the heading is interesting that have sort of a support marks a low-pass go out and talk to us and the caption is also interesting Intel grateful that no part of the control right so really the focus is on us let me a user this it says it has become clear that the system level is currently the missing money but I think it's called active for no good reason below switching problem that process 1 the real saving here's an
interesting fact someone from Intel said that was limited software support dedicated low-cost secretaries complacent maybe 20
% in a typical multimedia oriented call fast if we make the software better at controlling the power states that difference could be 3 to 5 times so that there's a lot to gain if we really look at software no action is when we can take the actual use cases
into consideration and optimize the software to politics and it's and we still have a long way to go and the loss that is really interesting because this is which this is the bit that talks to us so we should have been challenged in a software design to see how much power they can say
right as a command which from hardware to software the ball is in your court right so you should
not have been made in terms of how efficient hardware that's not a controllable and energy-saving features available but potential savings are wasted effectively by that that does not exploit them and by more than an inch not dynamic management of tasks and resources so we really need to learn about the stuff to make ourselves more energy efficient none of us
this the emergence of that because it is this fact that controls what hold does ultimately it is the element of the data flow that compilers the optimization compilers realize but the problem is the
traditional software design goes on performance performance performance so in blissfully unaware off and what effect algorithms and data structures and holdings have on the power consumption of the energy use of our code and the best energy is secondary design both for us but we can't get around the fact that the biggest savings can be achieved by optimizations at higher levels of abstraction and that includes algorithms data and software has
an interesting article when I got into this I read this article and I would like to talk you through this it is initially actually the last passage of an article I read and and gates started with if you want to align yourself of design decisions with energy efficiency and designed all you have to follow the following steps and others can that really is coming from an article fast that shows the best algorithm for the problem at hand and make sure it
fits well with the computational hardware failure to do this leads to cost far exceeding the benefit of more localized optimization so there's a little warning here but how many of us think from selection algorithm called that maps to the hardware next that minimize memory size and expensive memory access throughout the transformations efficient sampling of data into memory and optimal use of memory bandwidth registers and cash next that to optimize the performance of the application and making maximum use of available parallelism next have taken montage of hunger supported about management that's the 4th step down that is when we consider what the hardware makes available to us and finally select instruction sequence them and all operations in a way that minimizes which you see pure data off so that's when you minimize the bit twiddles effectively during computation any guesses how this article might be when when wanted have been written and directed and the not good yes 97 so 19 sixties well 97 so and since some not much has changed in the software community right and that's really interesting here is that the starting
point of this article something that starts with it is tempting to suppose that the harbor dissipated power not software however that would be analogous to postulating that only about quantum about the end of line of people right that is worth reading and it's a really good article I recommend this to 1st right so that
leads into something interesting we can't optimize something that becomes the so for me mean energy transparency means that information energy usage is available for programs ideally without having to run them at all levels of abstraction
between machine code and height application code we need to see it before we can optimize it so we can better understand which algorithm to choose for which battery life right at the moment we have very poor visibility of this event now we know that the
principle of transparency works we know this from different parts of my we can make
decisions about what we consume based on transparent information
but we make decisions in life because resource usage is transparent to us
and 1 that I really like this is the back of an Italian Red part that shows you how much CO 2 that is caused by different modes of transport for their and and destinations none really what you want is you don't want this point solutions you want a function you want a function that tells you in terms of properties of the input data and potentially also properties of the target hardware
platform what is the energy consumption of the code that you are proposing I think you can then see in which space so from my
point of view energy transparency enables the understanding of how the algorithms and code impact on the energy consumption the computations when it's executed on a particular target platform that this is critically important and 1 can enable this in various different
ways 1 of them is doing it dynamically by actually measuring it here's 1 bought with which the Germany's got me explain little amount later on and our 2nd year students have embarked on and
design of an API which is called the energy aware computing framework international get up since 2 days ago I understand that API allows you to put like reports into your code and that connected on the
other side so some energy probes which have available and then you can get interesting data about the algorithms so this is what we've done sort in changes just between 0 and 255 but encoded
using 8 16 32 or 64 bit and is a different sort of weapons and compare them between the rat was just between the columns I'm and as the true interesting you can get interesting
results so for instance in section so active infection seems to be more optimized right we have 100 into 103 104 105 and it's not 104 also for these 2 sort of wouldn't it seems to take longer to sort the data and it takes to sort 64 bit data but more energy can is consumed in the process but can we now have time together with energy and average power we can make these comparisons we can see it so that is what I mean by energy transparency we should all be able to see this yeah achieving energy
transparency this by static analysis here is a slide that shows you that the coverage is available and so you can see here is that there that the and link to the course and the web interface you can get involved in this a client of just introduced right so
static analysis in another the way of doing this and that's part of the interim project interest is a european funded project that looks at energy transparency of the whole system it's in its 1st
year now and it hasn't color and which has been part of the Future and Emerging Technologies program which is focused on minimizing the energy consumption of computing to the limit and what I'm talking about of this stuff models and programming methodologies that supporting the strife the energetic limit and that means the energy cost awareness by exploiting the trade-off
between energy performance and precision the the project partners was in University of Bristol in their software and x as our industrial partner and interpreted using static analysis and energy modelling to be basically building energy models and of processes and only using static analysis to solve information from the energy models to tell us up and how much it might cost and to execute a particular function right so that we talk you through a
little bit about the energy modeling because that is the data that enables energy transparency if you want to add the static analysis
if you want to know how much it costs to execute a program that there's a very simple way of doing this that means that the instructions so that basically you associate every instruction with a basic cost me and of course multiply by how often it occurs in the instruction stream then you get the sense that had that is created by switching between 2 instructions and look at how often does a test and then there's other effects like and precious is public schools etc. We after this and in principle if you choose later program into a sequence of assembler instructions then you can figure out the energy loss and how much it costs to run this that's not new that's quite an old think 1996 now we can't
spend more than recent process so the to multithreading so you have to consider also the cost of an comparison sitting a multithreaded program you have to look at the at the cost of the computation being vital but also the cost of concurrency in the computation and then that factored in here so we have an energy model for the x x processor and that's about 10 % as has inverse and and that now what you can do with this it's you can use this to measure and to basically salsa the and information from energy model to find out how much it costs to run a
program now i'll ask and ask how do you how do you get to the costs and the reaction measure this using boards and it looks a bit messy on a desk we basically have a partial function boredom uniport somewhat targets in some of the management boards Germany told you to your little bit more about this what you
end up with is what we call the last and he's he's maps an idiot good indication as to how much it costs and for each instruction to be executed so what we've got here is a set of instructions and we've got them together running in pairs with and all other instructions available and they are going to say any instructions which have like 2 operands are lower energy than any with like 4 or 6 of products and also interesting
to see the impact of the data path so this is of attitude that data is displayed data and as you would expect a the data the heat map is a lot cooler than if you use that to to the data point always point out my 1st years when you write it do you actually think about how many bits this this and do you actually need that many bit for what you want today because that is the impact of choosing the right data type and of course we've
got a lot more instructions but the 2 charges rather large the point as you can see how much energy is being consumed by each instruction and based
on those models we can mention around how much a problem consumes based on the statistics of the program all we can this into static resource analysis and the 2nd part or another part of the engine project
so if we do stuff measles analysis of the algorithms of adaptations of advanced cost analysis and worst-case execution time analysis techniques and then automatically infer up and low amounts of energy usage of a given the procedure of function the bounds are expressed as monotonic aromatic functions for each procedure and parameterized by properties
of the input data such as for instance the data size and seems what this you can do verification so you can start to determine whether a computation fits a particular budget that you might have in mind is not hold some its theoretical so to give you a picture
if you think about this as specified resource usage is that we are the low amount of plot this this time it's in terms of the data size and you've got your resource which is energy and then the
static decriminalized appellate and these are then the upper and lower bounds of the static analysis has found for your code and this is those available then you can do verification and you can see where problem funding needs specification where it is not known whether you probably the specifications and they are actually a problem definitely not does not hold your specification not only 10 hours to make the right decisions at the right time with the right information what I'm doing and
turn project we are targeting an analysis of different abstraction and also with the VECSYS source that when using the EM I the xt assembly that's where we have the instructions and architecture and engine model went on and on an energy model that is based on the area my and the 1st results that we've got actually show us how induced consumed for a particular function OK the 1st functions we analyzed very simple functions which don't occur that much for at all in embedded systems Victoria function in this case and you can say that Hong momentum and this Hindu and not that results analysis is in grade you can see that pretty much much so
that's quite a good result and and we've
done there is other functions as well has been recently published but the point is if you've got this available then you can make the right decisions unemployment we trained on a
map into all which connects all instructions and architecture model to the enemy my are so that we can easier see what energy is consumed at the isolobal and then translate into the relevant looks at the the MIR and tools will be presented that tomorrow and the energy-efficient computing that right so let
me summarize following minus has always been and always will be paid and 1st last design goal and effectively from designer and designed as a point into the space spanned by the interesting presentation by month by month Horowitz and when he points out that followed the design of a given 2 in plane and you can find your design that in a plane from 1 accesses energy the other 1 is performance and you can look at this and you can see and you can also see that the boundaries so when they you know yeah actually having a good an optimal size I want this for software engineer i want effectively more power for software developers I want to imagine what we're saying 50 ms do and then the compiler says no way that I can already do what I want to say yes in some many jewels data and then the compiler says yes or no OK that's what really want to see and I would like to see a cool Cat competition some cool cool and competition and say what is the lowest energy code that we can write to achieve a particular functionality right on target form what is the lowest energy code that we can do to answer the challenge right let's see how much energy they can say well let's tell them what we can say right some promoting energy efficiency in the past us after desirable isn't really engine research challenge but also means we have to engage the community and that's 1 reason why we're here right hand at this stage will be
in that but not as a special class and I could use His don't
save energy below the of so this thing I and injuries to let you know more about
ongoing projects and compiler we did the grammar thank you very much have you met got the
impression that the torque on a whole where engineer I'm not I'm a software engineer so hardware where I do involves things like going to the nodes and bread lots and my spare time however if you looking compilers like I do you can't actually ignore the hardware and I want to talk to you about 1 other aspect software curses already explained how the software engineers of sovereignty this is the key it's actually getting serious energy improvements on 1 place that we can help is potentially by making compilers that are better with regard to energy and it all started a couple of years ago with an argument
between 2 eminent professors in the UK at a meeting I attended as to whether or not the compilers could make a difference and what became clear from that discussion was that actually neither professor had any data on which to make the assessment so we set up a small summer project done by a a guy who just graduated 3 months well we got a lot of little computers we got some very
good the current and voltage measurement equipment and we tried running lots and lots of programs with every different gcc compiler options raise a measured how much energy they took in fact we did 2 thousand times 3 job 2 option just to make sure that we got good reliable results and that was actually is now being published is an open access journal publication we act you paid a small fortune to persuade the Computer Journal to make it open access rather than the usual licensed piracy and I'm done as consequence you can all read and there's the link and the good news a that compilers can make a big difference to the amount of energy your program consumes the bad news is it's very hard to work out which options to use any particular program so we have this vision and what
salvation once day you typically optimised for either code size code performance minus less enable minus 1 0 2 and 0 3 on mainstream compilers but
what if you that you have a minus so e optimize the energy that would be quite something as our researcher showed if you could do that you cannot you make the energy savings the so where do we
start from well the projects called the machine guided energy efficient compilation giving the acronym magic we started off with the sole research the customs talked about this been going on for many
years as we have In some ordering energy usage but we realize that any particular compiler optimization is probably only itself could have a small effect and smaller than anything you could reason the accurately model so we better measure and would already
shown we could do that the so without a based on energy measurement how much does computer actually use but then the next question is how do we get a compiler to benefit from that were thought has been a lot of work over the years into what's called feedback directed optimization where you run your program look awarding date and then use that to select spectral power optimizations that's quite laborious particularly that a lot of time you can spend weeks just trying to find the right optimizations alright program that has actually use a few years ago there was a big European project called Mile Post a I'll post said Schori machine learning can help us we can learn what sorts of programs go with what sorts of optimizations if we just had enough programs and tried will differ optimizations
standard machine learning techniques we can build up a database all this program goes with this sort optimization and that's what they did to 3 years to universities to major companies but they did that and what they found was that they could get very good results for something like that as the on processor they could do 40 % better than minus 0 3 8 they're optimising for performance in that case no energy forms thing and they're they're optimising for that so we thought surely we can use the same technique we can run lots of programs will define optimizations unlearn what is the best and optimizations that energy efficiency for this sort program build up a database and then anyone coming along the new program would look in the database site that's the optimizations I want among that causes all automated you don't actually look at the database the compiler goes and does it for you of course that's a great idea where a small company riskless University in universities never have enough money but fortunately the UK Technology
Strategy Board came riding to the rescue that the UK Government's Innovation arm and they said will pay the and that's how much heat is funded its 18 month project it's halfway through it finishes in November and I'll home is to develop that so what's
new 1st of all we're focusing on energy optimization secondly we are using measured energy not model energy this is actual what actual compete computers use thirdly it's going to be generic 1 of the real big problems with my cheek away with my opens go well that's what it was brilliant and only worked with GCC 4 . 4 its 300 thousand lines of patch and heaven help you if you want you to any West actually we did help because we migrated 4 . 5 and never again I'm so magic is a complete a generic framework it was to the plugin interface and it will work with GCC while that of the and the early prototypes already working with and the final thing is there is a catch with getting government money they're not into blue skies research is not it better be working at the end so November we've got to deliver something I'm hoping that at the end of the and conferences and GCC conferences later this year will be showing off
I mentioned energy measurements and this is where comes in you can act you ready get very good energy measurement systems people are now the back and sell them to you but they cost a
small fortune certainly not the sort of money that ordinary people hobbyists or even small companies like mine can afford to buy and we thought actually it's very easy to measure energy all you have to do is measure the voltage and measure the current how to measure the current through the resistance in the power supply measure the voltage drop over the only thing is we want to a quite a lot in fact we want to it several million times a 2nd and we don't want to a lot of money for it and that's where this comes in this is the 4th
generation I think about how many measurement bought it's not this is about this is that the board is the little bit on top of the management board the thing underneath is a long process from NST discovery boards of 10 pound computable would we just use that to suck all the data often spit out on USB it's the board on top of the measures the
energy it's open hardware design it's got nothing special in the components it costs us in small volumes about 30 pounds to make if this were made in mass volume it will be 2 3 pounds each and the nice thing about that is if you'd like to have a go with 1 of these and it can sample 6 million samples of seconds it can go down if your if you buy a energy thing that uses 10 million smacks we can cope with it if you got and energy burning boat the bonds that we can cope with that as well good thing is we got 50 of these here so we're
running a workshop in the energy Development room next tomorrow lunchtime comes the Devon tomorrow and you can have a gun you can bring your own kids along the measure it all we got a of
Arduinos and on board you can measure those to come and learn how to to use it tomorrow
and the other thing we need is if you're gonna do this stuff seriously you need a good benchmark suite were fully open source and that means that we need a good open-source benchmark if you're around as my bench this the worst-case execution test whether is the good set and all of them
assume you're running on that's not got printed on on the whole these that lim Betty boards and then all is because that is 1 I made earlier that's at the level of 1 more thing and but they don't have called cells they're embedded systems so we've actually put together the Breslin because on embedded benchmark suite of beads which he's a suite of free and open source programs for testing embedded systems I through the full a lot nicer mixture programs to test floating point integer multi-core and so forth and we developed over the years and if you buy and you want to contribute please let us know yeah so that's just another project in here that I got
a finish by handing back to Kirsten will explain how you can get involved and so if you wanna get
involved and there's a few options you can get
involved coming along tomorrow we're running energy-efficient computing at different freshened area at 9 o'clock and
and this is what you will see notice that a lot of space uh lunchtime and where we are actually going to use these boards that measure and if you're staying to the end and you
can take it away so that before this we've got 50 of those with us so if you stay with us to the end and you can take it but other things there as well that is the core
of the introduced by hidden Field led the 2nd year project and there is the enemy and and mappings from I hear understanding analysis based on and and the MIR so there's all the
things that we've introduced you you basically not indexed explained in detail and the the opportunity for you to bring your own applications and let us measure the energy of the code that you right so that you get some transparency of and your suffered development and how much energy is consumed there's
also opportunities to get involved after faster than the meiji projects which Jeremy introduced and there is a website wiki this still open you can contribute you can contact us that the cough which has got
got up on on and get up where you can contribute to understand her project where we're looking at the MIR and as as an abstraction level and you can get involved in contact us about as well as from this university if you wanna get involved and on and on in in this sort of context at their
speech the summer projects a common industrial collaborations all of those are available and and Bristol I've started an initiative and workshop series called energy-aware computing which is an acronym of ECO and here's the link to the what we've done is the set of challenges in terms of energy aware computing ranging from algorithms down to 100 challenges and and the because of is hiring of you wanna if you want to get involved and Jeremy's hiring right
so what remains is that the thinking for about turning and listening to all student contact us on these e-mails and we obviously want to thank all sponsors because without them it would not have been as possible for us to look at the energy consumption of computing do you
have any questions the by and dimensions statistical analysis to estimate the energy consumption of the programs here you have a track
simulations of the school analysis because I know that the mix of instructions that goes through the CPU can actually make quite a bit of a difference in the in the with
execution vitamins and audience set so if I have any I'm half of the public trust in the right half we have to go and we try connecting for energy you because you think you simulation might be more accurate the moves of this was that this degree nodes actually if we get that can assign some can see the results of the simulation and so we've got that
all of that and if I wanna show
you this stuff that s so phrases like analysis is going to the hardware that measure is blow and the statistics based face-to-face analysis based on the simulation with the yellow line yes we have done that what we are doing that the action and yet this year that I have you of some of the
interesting figures where you are able to provide some of the follower will yield the construction of this if you migration the following issues that you want or need was reviews use meticulous attention because if you're running in the ability of many the radius is sometimes a slot of you you been do exactly the institution using the existence of humankind so intensive instruction based models and we've got a test suite which has very selected contexts and we're basically running the threats in such a way that and they all had the right instructions that we have not based on a test harness which selects the tests specifically to her profile specific and and instructions I think probably so the wider question your concern about the operating system and what happens if you're running lots of programs what were some of the focused on deeply embedded systems and deeply embedded systems you typically running 1 thing at a time the other thing that because we can sample energy with the measurement at such high frequency for some of the smaller devices we can actually measure the energy consumption of an individual instruction and executes and so if you come along tomorrow you'll hear James Madison talk about some of these were received for optimization for energy which is based on In addition the things that you have fully XXX Corps that's an operating system running the program in the and hardware straight hi and about a couple of observations and a couple of questions if you got out and 1st of all there is a very good book or long high performance were grounding which covers some of the things you can do as a web developer to say that a lot from of all and I would suggest is that developers and here you are in that space can would be advised to in the 2nd observation is regarding some of the data center stuff it would help I think a lot of data center people actually started charging for a power as opposed to jogging for available balance because this is what we reasons is what you get internal commute so that it doesn't say as anything to do so the 2 questions I know it's it's very easy for me now to get hold of a profiler which will tell me where my code is running more in terms of usage and you think it's reasonable to expect that kind of the sort of 20 % of my energy is going back to the in a qualifying tool within the sort of defending the future and the 2nd question is what he's doing to consider things like I know in particular network and maybe the usage and OK of sums with that which is that you can already do it and companies like allowed to back and indeed all have a technology that will allow you to see the profile of your program by energy as well as by speed and in fact of the we're much of the rest of the week or so ago where on came along and demonstrate the profiling by energy rather the number of a computer and so you're ready to do that in terms of the ice that's a really interesting question I've taken some slides mounted that mention this because this community communication and computation and I'm not focus on the computation of the cost of communication can be orders of magnitude higher than the cost of computation and so in our energy model the next step is to look at the cost of Ireland and and communication generally and in the context of the project we're running this is difficult because the but is part of the instructions that we can model and parameterized arising in a similar way to the remaining instructions with amendment other platforms such as long like and forms and that the modeling is is significantly different but I fully agree that the cost of communication needs to be considered because it is a large and very costly part of of the computer like think in yeah 1 1 thing I'm really concerned about doing energy optimization today you have to optimize for a specific implementation of the instruction set so for the unprocessed or by now that the model in the future we will have a smaller and smaller for exercise somewhat ability and energy usage so do you consider it possible to really optimise for assessing fabricated instance of that just because it might be completely different to the next coming off the assembly line you want to call you tighten up back there when we do the compiler optimization is actually be tied to the particular release and for example I it depends if if if you look at some of the events of some reality at the end of the trajectory from flash optimizations you what depend on the architecture the flash how long you been line is how long you were linings and so we anticipate that when you do the optimisation database you will have a database not just an architecture family but the particular issue of articulatory come from that is 1 of the challenges we got to do that of everybody who's talking itself because it's really a lot of this going on so if you could keep in most of the current thinking yeah I'm from my point is that and we expect that the static analysis that's the relativity will still be maintained but I have to be proven so something process here and the possibility of of so sometimes it's the relativity that allows you to choose the right element and it might not be enough for the values of the relativity might have but modulo German just explained that flash yeah and so I think that there
that's the last so contrasting independences in this room however there is no we're talking about 10 minutes on the files the network which made by Andrew meter from Cisco and Richard you will be explaining what's
changed on network this year and all the things you need to know about not successful domestic support