GREEENDROID
B.Obuliraj
Content:
Ø Abstract
Ø Introduction
Ø Purpose
of Greendriod
Ø Android
vs Greendroid
Ø Latest
news about Greendroid
Ø How
to use Greendriod
Ø Features
Ø Advantages
Ø Disadvantages
Ø More
about Greendroid
Ø Conclusion
ABSTRACT:
Mobile application processors are soon to replace
desktop processors as the focus of innovation in microprocessor technology.
Already, these processors have largely caught up to their more power hungry
cousins, supporting out-oforder execution and multicore processing. In the near
future, the exponentially worsening problem of dark silicon is going to be the
primary force that dictates the evolution of these designs. In recent work, we
have argued that the natural evolution of mobile application processors is to
use this dark silicon to create hundreds of automatically generated
energy-saving cores, called conservation cores, which can reduce energy
consumption by an order of magnitude. This article describes GreenDroid, a
research prototype that demonstrates the use of such cores to save energy
broadly across the hotspots in the Android mobile phone software stack.
greendroid is a development library for the
Android platform. It is intended to make UI developments easier
and consistent through your applications.greendroid is an Android library project developed by the French Cyril Mottier. It provides a lot of pre-made UI elements that follows the Android UI Design Patterns.
INTRODUCTION:
I’m
really glad to introduce you to my first attempt of a “true” development
library for Android! As you may have noticed it is named “GreenDroid” and is
intended to help people in designing Android applications. Keep in mind, it is
still a work in progress! Let’s explain everything about GreenDroid before diving
into it!......The GreenDroid mobile application
processor is a 45-nm multicore research prototype that targets the
Android mobile-phone software stack and can execute
general-purpose mobile programs with 11 times less energy than today’s
most energy-efficient designs, at similar or better performance levels.
It does this through theuse of a hundred or so automatically generated,
highly specialized, energy-reducing
cores, called conservation cores.
Our research attacks a key technological
problem for microprocessor architects, which we call the utilization
wall.1 The utilization
wall says that, with each process generation, the percentage of
transistors that a
chip design can switch at full frequency drops exponentially because of
power constraints.
A direct consequence of this is
dark silicon—large swaths of a chip’s silicon area that must remain
mostly passive to stay
within the chip’s power budget. Currently, only about 1 percent of a
modest-sized
32-nm mobile chip can switch at full frequency within a 3-W power
budget.
PURPOSE
OF GREENDROID:
·
Prevent loosing time at copying the same snippets of code over and over
again.
- Try to make Android applications alike. The openness of the Android operating system
makes it less coherent. Seing so many applications that use totally
different ergonomics or designs drives me mad. Indeed, I truly think,
Android applications need coherency in order to get more and more users around
the world. GreenDroid is kinda of a try to bring coherency to your
applications and therefore to the Android environment. Google recently
tried to show a path to “great UX and UI” with the Twitter and Google I/O
applications - A talk about Android UIs will be given at Google I/O 2010
and I’m looking forward to watch it; I would like to see if Google has
understood Android developers need help creating simple and smart
interfaces!
- Help developers to code highly functional
applications. The Android framework
may look like “over-engineered” sometimes. Actually, I believe this is a
direct consequence of the fact you can do almost everything you want.
Unfortunatly, this openness (again!) makes it harder to apprehend. Let’s
say for instance, you are a beginner and wants to develop your own
application. You’ll have to read a lot of documentation in order to be “up
and ready”. GreenDroid makes development a lot easier
- without dicreasing the powerfulness of the
amazing Android framework!
- Leverage the power of the Android framework. Developing on the Android platform may be
pretty easy if you’re not taking care of the resources you’re using.
Trying to optimize your application is quite hard sometimes and is a very
demanding task. GreenDroid has been developed to be as efficient as
possible by integrating basic optimizations.
- Use as much XML as possible. It’s not a mystery to anybody. Android UI development is based on amazing techniques. Layouts and views are defined in XML and automatically inflated by the system. Being an “easy-to-read-for-humans” format, XML is very used among Android developers. GreenDroid puts XML in the middle of the library and takes advantage of all amazing possibilities offered by Android XML file
- LATEST NEWS ABOUT GREENDROID:
Our Hutchins 2010 work, GreenDroid: A Mobile Application Processor for a Future of Dark Silicon, flushes out this proposal. This was followed up with this April 2011 IEEE Micro paper. Our ASPLOS 2010 paper is one of the earliest peer-reviewed architecture papers to have a cogent description of the utilization wall that causes the dark silicon problem, and to propose specialization as an architectural solution.
Our group has constructed a fully-automated toolchain that generates c-cores from application source code. The resulting specialized circuits can deliver up to 18x increases in energy efficiency without sacrificing performance. C-cores also incorporate focused reconfigurability that allows them to adapt to small changes in the target application while still realizing efficiency gains.
How to use GreenDroid ?
In order to use GreenDroid you have to do the following steps:
1. Download the GreenDroid library on your computer with a simple: git
clone http://github.com/cyrilmottier/GreenDroid.git
2. Apply GreenDroid to your project: Go to the scripts/ folder of the
GreenDroid folder. Run the script named “greendroid.py” (make sure you can run
it - chmod +x greendroid.py) to apply the library to your project :
./greendroid.py apply <project_directory>
3. By default, the GreenDroid theme inherits from @android:style/Theme. If
your project inherits from a different theme, you’ll have to modify the
GreenDroid library on your own (and do that everytime you are updating
GreenDroid as updating delete all of your changes). Open the
res/values/gd_themes.xml and replace the parent theme @android:style/Theme with
your own theme
You finally need to make
your project use the GreenDroid base theme. In your Android Manifest, go to the
application tag and add android:theme="@style/Theme.GreenDroid" as a
new attribute (if this attribute already exist override it: if you processed
the step 3 correctly, you will have a theme that inherits from this theme)Cyril Mottier.
Is the developer of greendroid.
THE GREENDROID ARCHITECTURE:
A GreenDroid processor combines general-purpose processors with
application-specific coprocessors
that are very energy efficient. These
conservation cores, or c-cores, execute most of an application’s code
and will account for well over 90 percent of execution time. Green-
Droid is a heterogeneous tiled architecture. illustrates how it uses a
grid-based organization to connect multiple tiles. Figure 2b show the floor
plan for one of the tiles. It
contains an energy-efficient 32-bit 7-stage inorder pipeline that runs
at 1.5 GHz in a 45 nm process technology. It includes a single-precision
floating point unit (FPU), multiplier, 16- kbyte I-cache, translation
lookaside buffer (TLB), and 32-kbyte banked L1 data cache. The architecture
also includes a mesh-basedon-chip network (OCN). The OCN carries memory traffic
and supports fast synchronization primitives
ANDROID:
GREENDROID’S
TARGET
WORKLOAD:
Android is an excellent target for a c-coreenabled, GreenDroid-style
architecture. Android comprises three main components: a
version of the Linux kernel, a collection of native libraries (written
in C and C++), and the
Dalvik virtual machine (VM). Android’s libraries include functions that
target frequently
executed, computationally intensive (or “hot”) portions of many
applications (e.g., 2D compositing,
media decoding, garbage collection).
The remaining “cold” code runs on the Dalvik VM, and, as a result, the
Dalvik VM is also “hot.” Therefore, a small number of c-cores that
target the Android libraries and Dalvik VM should be able to achieve
very high coverage for
Android applications.
We have profiled a diverse set of Android applications including the web
browser, Mail,
Maps, Video Player, Pandora, and many other applications. We found that
this workload spends
95 percent of its time executing just 43,000 static instructions. Our
experience building c-cores
suggests that just 7 mm2 of conservation cores in
a 45 nm process could replace these key instructions.
Even more encouraging, approximately 72
percent of this 95 percent was library or Dalvik code that multiple
applications used.
Android’s usage model also reduces the need for the patching support
c-cores provide. Since
cell phones have a very short replacement cycle (typically two to three
years), it is less important
that a c-core be able to adapt to new software versions as they emerge.
Furthermore, handset
manufacturers can be slow to push out new versions. In contrast, desktop
machines have an
expected lifetime of between five and ten years, and the updates are
more frequent
ADVANTAGE:
Ø Less
power consumption
Ø More
faster than android
Ø More
efficient
Ø Easy
to use
Ø Easy
to understand than android
Ø Life
time is more
Ø More
application available in greendroid than android
DISADVANTAGE:
Ø Power
consumption is high
Ø More
critical to use
Ø Less
efficient to use
FEATURES:
Accelerators
Specialized accelerators have been getting increasingly more attention
lately because they let designers trade customized silicon area for
performance and, often, energy efficiency. At the heart of most
accelerators’ performance is the fact that designers have figured out how to
attain parallel execution of the underlying algorithm, realized efficiently in hardware.
One extreme example of such an accelerator is Anton, which attains
100 times or more improvement in molecular-dynamics simulation versus general-purpose
supercomputer machines.1 At a smaller level, we see accelerators throughout the
computing space, whether for baseband processing,
3D graphics, or video decoding or encoding. The challenge in creating
accelerators is in reorganizing the algorithm to achieve parallel execution.
Being able to do this effectively depends
on the availability of exploitable parallelism in the algorithm and the
ability to expose this parallelism in the form of an accelerator circuit without
errors or excessive effort, complexity, or cost. In particular, creating accelerators
for irregular code that’s difficult to analyze or lacks parallelism is often
challenging, if not impossible. The conservation cores that comprise the
GreenDroid system have different,
but related, underlying goals compared to accelerators. Fundamentally, conservation
cores (c-cores) focus on reducing the energy of
executing code, even if they only modestly improve the resulting
execution time. As a result, c-cores don’t rely on parallelization technology
for a successful outcome; they can target any code in which sufficient
execution time is spent. Because of this, a far greater percentage of code can
be turned into c-cores than can be transformed into accelerators.
We expect that in a commercialized version of GreenDroid, code
that can be accelerated (such as video encoding or baseband processing)
would be expressed as accelerators and generated using either
handcrafted accelerators or high-level synthesis tools. The remaining
unacceleratable,
irregular code (millions and millions of lines of it) creates an
Amdahl’s-law-like limit on the system’s maximum energy efficiency.
Conservation cores provide an automatic way to reduce the energy of this remaining
class of difficult code. This distinction drives some of the
key differences between GreenDroid’s c-cores generation and conventional
high-level synthesis technology, which focuses on generating accelerators from
parallelizable code.
Preconclusion GreenDroid:
GreenDroid is a 45 nm multicore research prototype that targets the Android mobile phone software stack and can execute general-purpose mobile programs with 11 times less energy than today’s most energy-efficient designs, at similar or better levels of performance. It does this through the use of 100 or so automatically generated, highly specialized, energy-reducing cores, called conservation cores,or c-cores. GreenDroid will serve as a prototype for mobile application processors in the next five to ten years.
The GreenDroid presents a novel concept for Smartphone users: a CPU custom-designed around the apps (or perhaps types of apps) one uses the most. It has a specially built structure that can analyze a current Android phone and determine which apps, and which CPU circuits the phone is using the most. Then it can dream up a processor design that best takes advantage of those usage habits, creating a CPU that's both faster and more energy efficient.
In particular, GreenDroid attacks one of the most important realities of Moore’s Law(The number of transistors that can be placed inexpensively on an integrated circuit doubles approximately every two years.) as it continues from today into the future, which we refer to as the DARK SILICON.
Energy efficiency or saving energy is the next evolution in application processors. Dark silicon is becoming the rule rather than the exception as process technologies shrink, and the problem is getting worse.To combat this we need to have a mobile application processor with specialized cores that flip dark silicon from a liability to a benefit.
DARK SILICON
Conventional chip designs in a mobile phone lose significant energy due to the presence of unused transistors called dark silicon. Dark silicon is when we have three billion transistors on our chip but we can only use 1.8 percent of them at a time, so as to squeak under the threshold of our chip's draconian energy budget. So the lights are out on vast swaths of a chip's area; hence "dark silicon”. As the transistor counts are growing faster, the underlying energy efficiency is improving, a direct consequence of this is the phenomenon of dark silicon. The dark silicon problem is directly responsible for the desktop processor industry’s decision to stop scaling clock frequencies and instead build multi-core processors. It plays an equally pivotal role in shaping the future of mobile processors as well. With each process generation, dark silicon is a resource that gets exponentially cheaper, while the power budget becomes exponentially more valuable in comparison.Dark silicon is necessary, because engineers are unable to reduce chips' operating voltages any further to offset increases in power consumption and waste heat produced by smaller, faster chips.This dark silicon limits the ultilization of the application processors to the fullest.
GreenDroid proves to be a boon to this dark silicon problem. It follows the ideology “If you fill the chip with highly specialized cores, then the fraction of the chip that is lit up at one time can be the most energy efficient for that particular task”.These highly specialized cores are known as conservation cores or c-cores.
Specialized, energy-efficient processors can increase parallelism by reducing the per-computation power requirements and allowing more computations to execute under the same power budget. To pursue this goal Conservation cores, or c-cores, are specialized processors that focus on reducing energy and energy-delay instead of increasing performance. This focus on energy makes c-cores an excellent match for many applications that would be poor candidates for hardware acceleration (e.g., irregular integer codes). A toolchain is used for automatically synthesizing c-cores from application source code and demonstrating that they can significantly reduce energy and energy-delay for a wide range of applications. The c-cores support patching, a form of targeted reconfigurability, that allows them to adapt to new versions of the software they target.
GreenDroid is a 45 nm multicore research prototype that targets the Android mobile phone software stack and can execute general-purpose mobile programs with 11 times less energy than today’s most energy-efficient designs, at similar or better levels of performance. It does this through the use of 100 or so automatically generated, highly specialized, energy-reducing cores, called conservation cores,or c-cores. GreenDroid will serve as a prototype for mobile application processors in the next five to ten years.
The GreenDroid presents a novel concept for Smartphone users: a CPU custom-designed around the apps (or perhaps types of apps) one uses the most. It has a specially built structure that can analyze a current Android phone and determine which apps, and which CPU circuits the phone is using the most. Then it can dream up a processor design that best takes advantage of those usage habits, creating a CPU that's both faster and more energy efficient.
In particular, GreenDroid attacks one of the most important realities of Moore’s Law(The number of transistors that can be placed inexpensively on an integrated circuit doubles approximately every two years.) as it continues from today into the future, which we refer to as the DARK SILICON.
Energy efficiency or saving energy is the next evolution in application processors. Dark silicon is becoming the rule rather than the exception as process technologies shrink, and the problem is getting worse.To combat this we need to have a mobile application processor with specialized cores that flip dark silicon from a liability to a benefit.
DARK SILICON
Conventional chip designs in a mobile phone lose significant energy due to the presence of unused transistors called dark silicon. Dark silicon is when we have three billion transistors on our chip but we can only use 1.8 percent of them at a time, so as to squeak under the threshold of our chip's draconian energy budget. So the lights are out on vast swaths of a chip's area; hence "dark silicon”. As the transistor counts are growing faster, the underlying energy efficiency is improving, a direct consequence of this is the phenomenon of dark silicon. The dark silicon problem is directly responsible for the desktop processor industry’s decision to stop scaling clock frequencies and instead build multi-core processors. It plays an equally pivotal role in shaping the future of mobile processors as well. With each process generation, dark silicon is a resource that gets exponentially cheaper, while the power budget becomes exponentially more valuable in comparison.Dark silicon is necessary, because engineers are unable to reduce chips' operating voltages any further to offset increases in power consumption and waste heat produced by smaller, faster chips.This dark silicon limits the ultilization of the application processors to the fullest.
GreenDroid proves to be a boon to this dark silicon problem. It follows the ideology “If you fill the chip with highly specialized cores, then the fraction of the chip that is lit up at one time can be the most energy efficient for that particular task”.These highly specialized cores are known as conservation cores or c-cores.
Specialized, energy-efficient processors can increase parallelism by reducing the per-computation power requirements and allowing more computations to execute under the same power budget. To pursue this goal Conservation cores, or c-cores, are specialized processors that focus on reducing energy and energy-delay instead of increasing performance. This focus on energy makes c-cores an excellent match for many applications that would be poor candidates for hardware acceleration (e.g., irregular integer codes). A toolchain is used for automatically synthesizing c-cores from application source code and demonstrating that they can significantly reduce energy and energy-delay for a wide range of applications. The c-cores support patching, a form of targeted reconfigurability, that allows them to adapt to new versions of the software they target.
CONCLUSION:
GreenDroid is a 45 nm multicore
research prototype that targets the Android mobile phone software stack and can
execute general-purpose mobile programs with 11 times less energy than today’s
most energy-efficient designs, at similar or better levels of performance. It
does this through the use of 100 or so automatically generated, highly
specialized, energy-reducing cores, called conservation cores,or c-cores.
GreenDroid will serve as a prototype for mobile application processors in the
next five to ten years.
So greendroid is always better than
androd.