Changes

Jump to: navigation, search

Supporting Architectures above armv5tel

342 bytes added, 19:51, 22 December 2010
[0.1] Optimize and run a benchmark program specifically designed to make use of glibc
<blockquote>
My fellow classmate , a great and helpful guy working on the [http://zenit.senecac.on.ca/wiki/index.php/To_Thumb_or_Not_to_Thumb To Thumb or Not to Thumb Project]. We both have the same project objective; to test the significance of armv7 codes benchmark a system. (his project deals with 16-bit codes) and we We share access to the test builder cdot-beagleXM-0-3. and even ran tests both at the same time that could have toasted it! Tyler helped me out with with scripting /'makefiles' and using 'makefilesscreen'.</blockquote>
== Project Details ==
Currently, Fedora only supports armv5tel codes. With the release of armv7 architecture (with beagleboardXM) Fedora-ARM is pressed with the decision of upgrading its Fedora Universe to use armv7 code. While it seems logical, re-compiling the whole Fedora package is a strenuous task. Before deciding to recompile the whole universe, Fedora-ARM can test if optimizing certain system binaries to use armv7 architecture provides significant performance difference against the currently used armv5tel codes. The test would clarify if armv7 codes used for armv7 hardware really improves system performance.
This project aims for that sole purpose. By running a benchmark and compiler optimizations on system binaries, Fedora-ARM can contrast both technologies and use the results to decide if it's really worth to recompile the whole Fedora Universe to use armv7 optimized codes.
Below is a list of technologies by armv7.
'''rpm -q glibc'''<br />
<blockquote>glibc-2.11-2.fa3.armv5tel(Subjected for upgrade to armv7)</blockquote>
== Project Plan ==
</blockquote>
 [[Image:graph.png|thumb|450px|right| A graph showing the overall system performance of cdot-beagleXM-0-3]]  '''Test Result(in DMIPS):'''<br /> Normal = 758.869322709 DMIPS<br />Optimized for armv5tel = 1034.82179852 DMIPS<br />Optimized for armv7 = 1034.82179852 DMIPS<br /> 
[[Image:graph.png|widthpx| ]]
'''Legend:'''
*Normal = 758.869322709 DMIPS
*Optimized for armv5tel = 1034.82179852 DMIPS
*Optimized for armv7 = 1034.82179852 DMIPS<br />
The benchmark graph shows that optimization increased the overall performance of cdot-beagleXM-0-3 by '''36%'''(Normal run vs. Optimized for armv5tel/armv7). The results for both armv5tel and armv7 optimizations are the same. (It can be assumed that the armv5tel glibc impacts the performance of C library dependent programs such as Dhrystone). Another possible reason is that the compiler used is already armv7 optimized (since dhrystone also relies on the compiler efficiency) The data gathered can be used as a reference for conducting 0.2 project release.<br /><br /><br /><br /><br /><br /><br /><br />
===[0.2] Install an armv7 glibc and re-run the benchmark using dhrystone===
The previous test didn't leave an opportunity for me to work on [0.3] Release. Although the comparison is done, and the results are gathered; One last option to test armv7 technology still remains: "Rebuild everything to use a hardfp ABI!" This recommendation would undoubtedly reveal the performance difference of armv7 against armv5tel; but at the same time would be a big project "not suitable for a single person to work on".
I hope that this project page including the [http://zenit.senecac.on.ca/wiki/index.php/Dhrystone_howto Dhrystone How To] page can be of use for future ARM based project for reference.
== Things to learn ==
== Project News ==
''December 16th, 2010'' - [0.2] and [0.3] Release updatedand finalized
''December 15th, 2010'' - Added the [http://zenit.senecac.on.ca/wiki/index.php/Dhrystone_howto Dhrystone How to Page]
2
edits

Navigation menu