Blogger Tips and TricksLatest Tips For BloggersBlogger Tricks

Friday 19 September 2014

GREEENDROID

                             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:
    We are developing a prototype mobile application processor called GreenDroid that leverage "dark silicon" to dramatically reduce energy consumption in smartphones. GreenDroid will provide many specialized processors targeting key portions of Google's Android smartphone platform. GreenDroid will reduce energy consumption for these codes by integrating conservation cores (c-cores).
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.
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.


No comments:

Post a Comment