taskSavannah Administration - Tasks: task #5612, Submission of OpenDos - An Open...

 
 

task #5612: Submission of OpenDos - An Open Source Dynamic Optimization System

Submitter:  OpenDos Team <opendos>
Submitted:  Mon 29 May 2006 06:59:40 AM UTC
   
 
Should Start On:  Mon 29 May 2006 12:00:00 AM UTC Should be Finished on:  Thu 08 Jun 2006 12:00:00 AM UTC
Category:  Project Approval Priority:  * 5 - Normal
Status:  Cancelled Privacy:  Public
Assigned to:  stevenr Open/Closed:  Closed
* Mandatory Fields

Add a New Comment Rich Markup
   

Wed 12 Jul 2006 01:01:15 AM UTC, comment #5: 

Hi,

We did not get a response from you, so we deleted your project from the pending queue.

If you would still like to have your project hosted at Savannah, please register it again.

The re-registration URL found in our acknowledgment of your earlier registration will direct you to the proper location where you can re-register your project.

Regards.

Steven Robson <stevenr>
Sat 01 Jul 2006 08:38:40 PM UTC, comment #4: 

Hi,

I am waiting for an answer from you.

If within one week I still do not get a reply, I will remove your project. You will still be able to register it again once you have the time to deal with the registration issues.

Are you still willing to host your project at Savannah? If not, please tell us - we don't bite, and it will make us gain time.

Regards.

Steven Robson <stevenr>
Thu 22 Jun 2006 10:12:50 PM UTC, comment #3: 

Hi,

In order to release your project properly and unambiguously under the GNU GPL, please place copyright notices and permission-to-copy statements at the beginning of every copyrightable file, usually any file more than 10 lines long. A number of your source files are missing these necessary notices.

In addition, if you haven't already, please include a copy of the plain text version of the GPL, available from http://www.gnu.org/licenses/gpl.txt, into a file named "COPYING".

For more information, see http://www.gnu.org/licenses/gpl-howto.html.

If some of your files cannot carry such notices (e.g. binary files), then you can add a README file in the same directory containing the copyright and license notices. Check http://www.gnu.org/prep/maintain/html_node/Copyright-Notices.html for further information.

The GPL FAQ explains why these procedures must be followed.  To learn why a copy of the GPL must be included with every copy of the code, for example, see http://www.gnu.org/licenses/gpl-faq.html#WhyMustIInclude.


Secondly, the word document format is a closed, proprietary format and not fully readable by Free software. Please use a format that is fully readable by Free software, such as open document, HTML, XML, texinfo or plain text.  For certain documentation formats we would prefer you to license under the GNU FDL too.  Also, please include copyright statements for your documentation, stating its license and copyright holders.


Finally, please address the points that I raised earlier, with regards to your project's name.


If you are willing to make the changes mentioned above, please provide us with an URL to an updated tarball of your project.  Upon review, we will reconsider your project for inclusion in Savannah.

To help us better keep track of your registration, please use the tracker's web interface following the link below. Do not reply directly, the registration process is not driven by e-mail, and we will not receive such replies.

Regards.

Steven Robson <stevenr>
Sun 18 Jun 2006 09:12:10 PM UTC, comment #2: 

Hi,

I am waiting for an answer from you.

If within one week I still do not get a reply, I will remove your project. You will still be able to register it again once you have the time to deal with the registration issues.

Are you still willing to host your project at Savannah? If not, please tell us - we don't bite, and it will make us gain time.

Regards.

Steven Robson <stevenr>
Sat 10 Jun 2006 03:43:31 PM UTC, comment #1: 

Hi,

I'm evaluating the project you submitted for approval in Savannah.

Note that Savannah supports projects of the Free Software movement,
not projects of the Open Source movement.

We are careful about ethical issues and insist on producing software
that is not dependent on proprietary software.

While Open Source as defined by its founders means something pretty
close to Free Software, it's frequently misunderstood.  For more
information, please see
http://www.gnu.org/philosophy/free-software-for-freedom.html.


Also, Savannah's mission is to host free software projects, and we
want the public to think of them as free software projects.  A project
name that says "open" will tend to lead people to think of the project
as "open source" instead of "free software".

We would be glad if you accept to use "free" instead of "open" in your
project name.


Additionally, please include a (perhaps temporary) URL pointing to the
source code. Alternatively, you can forward the code to me by email.

We wish to review your source code, even if it is not functional, to
catch potential legal issues early.

For example, to release your program properly under the GNU GPL you
must include a copyright notice and permission-to-copy statements at
the beginning of every copyrightable file, usually any file more than
10 lines long.  This is explained in
http://www.gnu.org/licenses/gpl-howto.html.  Our review would help
catch potential omissions such as these.

Note that sending code to our repositories is a release, since the
code will then be publicly available through anonymous access.


Finally, Savannah is a central point for development, distribution and
maintenance of GNU Software.

There is a companion site savannah.nongnu.org where we also host Free
Software projects that are not part of the GNU Project, but run on
free platforms.

However, we do not allow to host your project on Savannah and
SourceForge at the same time, if Savannah is just a project mirror.
Your project development should happen primarily on Savannah.

How do you plan to use your Savannah account?


To help us better keep track of your registration, please use the tracker's web interface following the link below. Do not reply directly, the registration process is not driven by e-mail, and we will not receive such replies.

Regards.

Steven Robson <stevenr>
Mon 29 May 2006 06:59:40 AM UTC, original submission:  

A new project has been registered at Savannah
The project account will remain inactive until a site admin approve or discard the registration.


######### REGISTRATION ADMINISTRATION #########

While this item will be useful to track the registration process, approving or discarding the registration must be done using the specific "Group Administration" page, accessible only to site administrators, effectively logged as site administrators (superuser):

  <https://savannah.gnu.org/siteadmin/groupedit.php?group_id=8598>


######### REGISTRATION DETAILS #########

Full Name:
----------
  OpenDos - An Open Source Dynamic Optimization System

System Group Name:
-----------------
  opendos

Type:
-----
  non-GNU software & documentation

License:
--------
  GNU General Public License V2 or later

Description:
------------
  Project name : OpenDos – Dynamic Optimization System
College :Maharashtra Academy Of Engineering.

Project group

1.Poornima.P.Kamath . email-id: kamath.poornima@gmail.com.
2.Divya Sasidharan email-id: -email is unavailable-
3.Sumit Kumar email-id: sumit.pmb@gmail.com.
4.Sandeep Kumar email-id: sandeepksinha@gmail.com.

Project Guides:
Internal guide: Prof Pallavi Talegaonkar.
External guide: Mr Saurabh Verma (Codito technologies)
Sponsored by: Codito Technologies, Pune.

Dynamic optimization refers to the runtime optimization of a native program binary. Dynamic binary translation is an important area for compiler research, because additional information available at runtime can substantially improve the effectiveness of optimizations. The challenge is to monitor a process during its execution. We are building a system for monitoring and modifying a program’s behavior while it is running. The runtime environment exposes several execution paths that have not been discovered during static optimization. This gives us several opportunities for performing optimizations even though the binary is statically optimized.
As the 90-10 rule 90% of the program execution time is used for 10% of the program region. The main aim of our system is to identify this 10% and optimize it. The lightweight dynamic binary optimizer is a software that optimizes the executables at run-time. This optimizer is aimed to optimize i386 executables of ELF format. It is entirely user-level software, which works on the native binaries.
As the binaries shipped by the vendors are not fully optimized there are various opportunities for optimizing these binaries. Also as optimization is done at runtime no extra code is added to the binary. Also our system exploits the runtime information available to it. This includes information about the taken branches, frequently executed path etc.
Using this information we can apply certain optimizations, which are termed aggressive during static compilation. Also our system is an open source effort towards dynamic optimization.



SYNOPSIS


1.1 Problem Statement:
Static optimization techniques do not perform optimization across shared libraries. Also legacy code where code is unavailable cannot be optimized using static techniques .
1.2 Soultion:
A solution to above problem is dynamic optimization. Dynamic optimizers apply code to an executing application. Applying optimizations dynamically provides several benefits over static optimization, particularly for control-intensive programs. For example dynamic optimization span branches and calls including calls to dynamically linked code, which typically hinder static optimizations. In many cases, a dynamic optimizer is able to identify and optimize longer hot execution paths than a static optimization. Also because it naturally and transparently profiles during execution, a dynamic optimizer can adapt to changing program behaviour.

1.3 Functional Description:
1.Region selection.
The optimizer observes the execution and generates a series of traces (code which is executed frequently) that represent the common dynamic sequencing of instructions.
2.Optimization.
It applies optimizations or transformations to the generated code traces.
3. Optimized region storage(fragment cache)
It stores the optimized code traces in a software based code cache.
4.Dispatch of optimized code.
It intercepts execution and directs it to code cache for all future executions of the optimized code traces until program termination.

2.1 OUR SYSTEM DESIGN

The Image Cannot be Displayed.


MAIN COMPONENTS
1. Bootstrapper:
This module intercepts control from the running binary and gives control to our interpreter.It loads and initializes all the modules of our system.

2.Interpreter.
This module does the job of profiling the executable.
It performs two tasks, a).It disassembles the binary till it gets a control transfer instruction.
b).It simulates control transfer instructions and processes and records the frequently executed hot regions.

3.Epilog-Prolog adder.
This module adds the epilog and prolog code along with exit stubs and compensation code.As we execute hot code from fragment cache, there has to be a change in context between executable and fragment code.
So the epilog and prolog code saves the register context

4.Optimizer.
The optimizer optimizes the hot code. The optimizer performs optimizations like constant propagation. Copy propagation, etc.

5.Fragment cache manager.
The hot code that is frequently executed code is stored in fragment cache. This code is in binary and is stored in a software code cache.
This is managed by fragment manager.
2.2 Software Process Life Cycle
The primary tasks involved in this project is to profile the executable as well as optimize it at runtime . We can increase the optimizations in each release Hence we use the Incremental model for the development of the project.

2.3 Platforms
The dynamic optimizer we are developing is a user level software on linux platform. It is for i386-Elf executables.


2.4 Area of work

Main category
Software
Subcategory:
System applications

2.5 Function point analysis

Measurement parameter Count Complex Count*average
Number of user input 1 6 6
Number of user output 1 7 7
Number of files 21 15 315
Count-total 328

FP= 328*(0.65+0.01*sum(Fi)) ,Fi=8
FP=239.44


2.6 Test Suites:

SPEC 2000 benchmarks
1.wc
2.bzip2
3.gzip

THE SOURCE CODE HAS NOT BEEN UPLOADED, BUT WILL BE UPLOADED IN A DAY OR TWO.


SOURCE URL : opendos.souceforge.net
BLOG       : opendos.blogspot.com
GROUP      : groups.google.co.in/group/opendos
             groups.yahoo.com/groups/opendos            
MAIL       : -email is unavailable-



Other Comments:
---------------
  SIR WE HAVE NOT YET UPLOADED THE SOURCE BUT WE WILL DO IT AS EARLY AS POSSIBLE. THE SOFTWARE IS IN TESTING PHASE NOW.


OpenDos Team <opendos>

 

(Note: upload size limit is set to 16384 kB, after insertion of the required escape characters.)

Attach Files:
   
   
Comment:
   

No files currently attached

 

Depends on the following items: None found

Items that depend on this one: None found

 

CC list is empty

 

There are 0 votes so far. Votes easily highlight which items people would like to see resolved in priority, independently of the priority of the item set by tracker managers.

Only logged-in users can vote.

 

Follow 7 latest changes.

Date Changed by Updated Field Previous Value => Replaced by
2006-07-12 stevenr StatusPing-ed Cancelled
    Open/ClosedOpen Closed
2006-07-01 stevenr StatusNeed Info Ping-ed
2006-06-22 stevenr StatusPing-ed Need Info
2006-06-18 stevenr StatusNeed Info Ping-ed
2006-06-10 stevenr StatusNone Need Info
2006-06-10 stevenr Assigned toNone stevenr

Back to the top

Powered by Savane 3.13-f8d8.
Corresponding source code