research implementation
Sponsored Links
Sponsored Links
Secleted [ 0 ] software to compare
Results 1 - 15 of about 1952
Suffix tree implementation library 1.2
Suffix tree implementation library is a C library, an implementation of the suffix trees algorithm to store/retrieve key/data pa more>>
Suffix tree implementation library is a C library, an implementation of the suffix trees algorithm to store/retrieve key/data pairs.
The main advantages are a linear indexing time, little memory usage, and very fast retrieving.
It has been developped on FreeBSD/gcc but should be fairly portable.
The source code "testsfx.c" show an example of how to use the library both for inserting, retrieving, and deleting data. There arent many functions and comments should be enough to give you an idea of how to use the library. (read the header of the source file)
You should edit sfxdisk.h to suit your needs: you can change the alphabet size and the offset type. It should be OK to use "long long" 64 bits ints instead of long, in fact I tested it succesfully but havent gone to the point of filling more than 2 GB of data (needless to say you need a 64 bits filesystem).
Two "tools" come with the library (new with version 1.2): dumpsfx and loadsfx. dumpsfx is used to dump the database: dumpsfx [-s separator] if you want to output the result as readable text or dumpsfx < file.sfx > -h to output it for reloading with loadsfx.
dumpsfx outputs on stdout and loadsfx reads from stdin. loadsfx < suffix tree file to create > < dumped_file
Enhancements:
- removed an useless offset incrementation in STwritenode
<<lessThe main advantages are a linear indexing time, little memory usage, and very fast retrieving.
It has been developped on FreeBSD/gcc but should be fairly portable.
The source code "testsfx.c" show an example of how to use the library both for inserting, retrieving, and deleting data. There arent many functions and comments should be enough to give you an idea of how to use the library. (read the header of the source file)
You should edit sfxdisk.h to suit your needs: you can change the alphabet size and the offset type. It should be OK to use "long long" 64 bits ints instead of long, in fact I tested it succesfully but havent gone to the point of filling more than 2 GB of data (needless to say you need a 64 bits filesystem).
Two "tools" come with the library (new with version 1.2): dumpsfx and loadsfx. dumpsfx is used to dump the database: dumpsfx [-s separator] if you want to output the result as readable text or dumpsfx < file.sfx > -h to output it for reloading with loadsfx.
dumpsfx outputs on stdout and loadsfx reads from stdin. loadsfx < suffix tree file to create > < dumped_file
Enhancements:
- removed an useless offset incrementation in STwritenode
Download (0.015MB)
Added: 2006-08-07 License: GPL (GNU General Public License) Price:
1189 downloads
Procinfo NG 2.0.113 (C++ Implementation)
Procinfo NG is a ground-up rewrite of the procinfo program. more>>
Procinfo NG is a ground-up rewrite of the procinfo program. Procinfo NGs goal is to make the code more readable (and reusable) and to restore broken functionality of the original program.
The original program was written for Linux 1.0, and updated through 2.2. This version is for 2.6.
Enhancements:
- Updates were made to match what some Linux distributions have done to procinfo-18.
- Support for MSI and XEN interrupts were added.
- Some non-x86 architectures are handled.
- Assorted bugs and 80-character console nonsense were fixed.
<<lessThe original program was written for Linux 1.0, and updated through 2.2. This version is for 2.6.
Enhancements:
- Updates were made to match what some Linux distributions have done to procinfo-18.
- Support for MSI and XEN interrupts were added.
- Some non-x86 architectures are handled.
- Assorted bugs and 80-character console nonsense were fixed.
Download (0.041MB)
Added: 2007-08-11 License: GPL (GNU General Public License) Price:
805 downloads
Other version of Procinfo NG
License:GPL (GNU General Public License)
Research Master 1.2c
ResearchMaster has been designed to make working a little easier. more>>
ResearchMaster project has been designed to make working a little easier. Specifically, the application can be either a storage facility for all of your precious, miscellaneous digital information, or for just some of it. The project began as a way for the author to [1] have a centralized library for all the papers and various snippets he collects, and [2] to have some powerful, built-in support for BibTeX, the LaTeX bibliography system ( The LaTeX bibliography system, as described in the Leslie Lamport book. ISBN 0-201-52983-1).
When the application starts up, it creates a virtual filesystem (vfs) from information contained in records. Each record appends itself under at least one folder in the vfs, and the vfs is represented by a tree-widget system of folders and records. The application is divided into folder controls (left) and record controls (right).
Each record is actually a set of three python dictionaries, stored in a flat ascii text file. The three dictionaries correspond to [1] BibTex information corresponding to the record, [2] Meta information (eg. isbn, call number, url, membership) and [3] an endless notes file. When a record is selected from the tree widget, the corresponding three dictionaries are presented in a three-tabbed notebook widget on the right side of the application.
New records are created via a button on the records toolbar. When you create a new record the application pops a filechooser and you are given the opportunity to import a single file. Perhaps the imported file is a pdf copy of a research paper that you dont want to lose. ResearchMaster is a good place to store it. First, the record and the imported file now have each other. Now you can keep a log of your involvement with the file in the notes portion of the record. The Meta portion of the record contains non-BibTex information, such as which folders the record is a member of. The application accesses the records BibTex information whenever the record has membership within the subtree of a particular folder for which a recursive bibliography is being generated.
Heres a typical example: Say you create a folder for some project. Lets say that after six months your folder now has several subtrees of folders and records, all arranged according to the scheme that happened. Now imagine there are twenty records with BibTex information strewn throughout the projects subtree, side-by-side with other records that dont have BibTex information (notes, whatever). By pushing the Create Bibliography button on the left toolbar the application will produce a perfectly formatted BibTex file with all twenty records.
Each record can be made a member of any folder simply by adding the folders path to the membership list in the Meta portion of the record. The tree widget is dynamically constructed by recursively examining a directory tree (corresponding to the folders of the tree-widget) and the membership list contained in each record. This is done so that we only have one physical copy of each record, despite the fact that the record might show up in fifty different places throughout the tree widget.
The file that gets imported with a record can be any file of any format. You can tell ResearchMaster to launch the file as an argument to any external application, based on the filenames suffix (.gif, .avi, .mpg, .mp3). Then, select the record from the tree, push the launch button (on the records toolbar), and voila! The associated application brings up your file. Thats one feature that makes working a little easier.
Enhancements:
- Small correction was needed on line 1140 of ResearchMaster_wxuser.py, where "researchmaster" needed to be "ReseaerchMaster" for preferences initialization.
<<lessWhen the application starts up, it creates a virtual filesystem (vfs) from information contained in records. Each record appends itself under at least one folder in the vfs, and the vfs is represented by a tree-widget system of folders and records. The application is divided into folder controls (left) and record controls (right).
Each record is actually a set of three python dictionaries, stored in a flat ascii text file. The three dictionaries correspond to [1] BibTex information corresponding to the record, [2] Meta information (eg. isbn, call number, url, membership) and [3] an endless notes file. When a record is selected from the tree widget, the corresponding three dictionaries are presented in a three-tabbed notebook widget on the right side of the application.
New records are created via a button on the records toolbar. When you create a new record the application pops a filechooser and you are given the opportunity to import a single file. Perhaps the imported file is a pdf copy of a research paper that you dont want to lose. ResearchMaster is a good place to store it. First, the record and the imported file now have each other. Now you can keep a log of your involvement with the file in the notes portion of the record. The Meta portion of the record contains non-BibTex information, such as which folders the record is a member of. The application accesses the records BibTex information whenever the record has membership within the subtree of a particular folder for which a recursive bibliography is being generated.
Heres a typical example: Say you create a folder for some project. Lets say that after six months your folder now has several subtrees of folders and records, all arranged according to the scheme that happened. Now imagine there are twenty records with BibTex information strewn throughout the projects subtree, side-by-side with other records that dont have BibTex information (notes, whatever). By pushing the Create Bibliography button on the left toolbar the application will produce a perfectly formatted BibTex file with all twenty records.
Each record can be made a member of any folder simply by adding the folders path to the membership list in the Meta portion of the record. The tree widget is dynamically constructed by recursively examining a directory tree (corresponding to the folders of the tree-widget) and the membership list contained in each record. This is done so that we only have one physical copy of each record, despite the fact that the record might show up in fifty different places throughout the tree widget.
The file that gets imported with a record can be any file of any format. You can tell ResearchMaster to launch the file as an argument to any external application, based on the filenames suffix (.gif, .avi, .mpg, .mp3). Then, select the record from the tree, push the launch button (on the records toolbar), and voila! The associated application brings up your file. Thats one feature that makes working a little easier.
Enhancements:
- Small correction was needed on line 1140 of ResearchMaster_wxuser.py, where "researchmaster" needed to be "ReseaerchMaster" for preferences initialization.
Download (2.1MB)
Added: 2006-11-29 License: GPL (GNU General Public License) Price:
1061 downloads
Objective Modula-2 1.00 (Reference Implementation)
Objective Modula-2 programming language is a hybrid between Smalltalk and Modula-2. more>>
Objective Modula-2 programming language is a hybrid between Smalltalk and Modula-2 based on the object model and runtime of Objective-C.
The design is an example how native Cocoa/GNUstep support can be added to static imperative programming languages without implementing a bridge.
Objective Modula-2s scope encompasses the design of the Objective Modula-2 programming language and the implementation of a compiler to implement it. The initial compiler will generate Objective-C source code.
Enhancements:
- This code is used to verify ideas and concepts which come up in the course of defining the language.
- It is in an early stage, incomplete and subject to frequent changes.
<<lessThe design is an example how native Cocoa/GNUstep support can be added to static imperative programming languages without implementing a bridge.
Objective Modula-2s scope encompasses the design of the Objective Modula-2 programming language and the implementation of a compiler to implement it. The initial compiler will generate Objective-C source code.
Enhancements:
- This code is used to verify ideas and concepts which come up in the course of defining the language.
- It is in an early stage, incomplete and subject to frequent changes.
Download (0.019MB)
Added: 2007-07-21 License: (FDL) GNU Free Documentation License Price:
825 downloads
Bellagio OpenMAX IL Implementation 0.3.1
Bellagio is a sample implementation of OpenMAX IL for Linux. more>>
Bellagio is a sample implementation of OpenMAX IL for Linux.
It enables software developers and ISVs to familiarize themselves with the OpenMAX IL API and to develop their own OpenMAX multimedia and streaming media components for mobile devices, including codecs, video I/O, and audio mixers.
Included sample components comply with the OpenMAX base and interoperability profiles and can be tunnelled together.
Main features:
- a shared library with the IL core and a "reference" OpenMAX component
- a number of OpenMAX components which pass Khronos conformance tests
- a set of GStreamer plugins that use the IL API (not available yet)
Enhancements:
New video components:
- ffmpeg based MPEG4/H.264 decoder
- color converter component YUV -> RGB
- video renderer based on devFB
New audio component:
- audio file reader based on ffmpeg audio format
- volume component
Fixed known bugs:
- FFMPEG audio decoder now works on FC6 and other distributions with the latest ffmpeg release (0.4.9-0.35.20070204)
Known pending bugs:
- some ogg streams can not be decoded properly
- the tunneling between file reader, mp3 dec based on ffmpeg - alsa sink ends in a deadlock sometimes.
- This behavior has been detected some times using FC6 and UBUNTU, not with the FC4
Full list of components:
Audio:
- ogg decoder based on libvorbis (stand alone components, and multiple roles component)
- mp3 decoder based on mad decoder
- mp3 decoder based on ffmpeg (multiple roles component)
- volume component
- alsa audio sink
- ffmpeg audio file reader (to be used with mp3 ffmpeg decoder)
Video:
- MPEG4 decoder based on ffmpeg (multiple roles component)
- H.264 decoder based on ffmpeg (multiple roles component)
- Color converter based on ffmpeg
- video renderer based on devFB
- Major additions to the 0.2
- New port classes
The components are:
- multiple formats audio decoder component that supports mp3 and ogg audio formats
- alsa sink component
- all the other components are NOT compatible with the new architecture.
- They have been removed and will be ported to the new architecture in a further delivery
<<lessIt enables software developers and ISVs to familiarize themselves with the OpenMAX IL API and to develop their own OpenMAX multimedia and streaming media components for mobile devices, including codecs, video I/O, and audio mixers.
Included sample components comply with the OpenMAX base and interoperability profiles and can be tunnelled together.
Main features:
- a shared library with the IL core and a "reference" OpenMAX component
- a number of OpenMAX components which pass Khronos conformance tests
- a set of GStreamer plugins that use the IL API (not available yet)
Enhancements:
New video components:
- ffmpeg based MPEG4/H.264 decoder
- color converter component YUV -> RGB
- video renderer based on devFB
New audio component:
- audio file reader based on ffmpeg audio format
- volume component
Fixed known bugs:
- FFMPEG audio decoder now works on FC6 and other distributions with the latest ffmpeg release (0.4.9-0.35.20070204)
Known pending bugs:
- some ogg streams can not be decoded properly
- the tunneling between file reader, mp3 dec based on ffmpeg - alsa sink ends in a deadlock sometimes.
- This behavior has been detected some times using FC6 and UBUNTU, not with the FC4
Full list of components:
Audio:
- ogg decoder based on libvorbis (stand alone components, and multiple roles component)
- mp3 decoder based on mad decoder
- mp3 decoder based on ffmpeg (multiple roles component)
- volume component
- alsa audio sink
- ffmpeg audio file reader (to be used with mp3 ffmpeg decoder)
Video:
- MPEG4 decoder based on ffmpeg (multiple roles component)
- H.264 decoder based on ffmpeg (multiple roles component)
- Color converter based on ffmpeg
- video renderer based on devFB
- Major additions to the 0.2
- New port classes
The components are:
- multiple formats audio decoder component that supports mp3 and ogg audio formats
- alsa sink component
- all the other components are NOT compatible with the new architecture.
- They have been removed and will be ported to the new architecture in a further delivery
Download (0.49MB)
Added: 2007-06-06 License: GPL (GNU General Public License) Price:
895 downloads
Fast MD5 Implementation in Java 2.6.1
Fast MD5 Implementation in Java is a heavily optimized implementation of the MD5 hashing algorithm written in Java. more>>
Fast MD5 Implementation in Java is a heavily optimized implementation of the MD5 hashing algorithm written in Java.
Fast MD5 Implementation in Java includes an optional native method for even greater speed improvements.
How Fast Is It?
Short answer:Much faster than any other Java implementation that I have tested and (surprisingly) even faster than the native, non-Java MD5 implementation on some systems.
Long answer:First of all, it is important to note that the term "fast" is used here in relative terms. The implementation of the MD5 message digest algorithm available on this page is written in Java and is fast compared with other implementations written in Java, both because it is heavily optimized by itself and because there is an optional native method that makes it even faster when the platform supports it. How it compares to a sensible implementation written in a language, such as C, that is compiled directly to machine code, is heavily dependent upon how good of a job the JIT compiler in your JVM does in compiling the code or whether you are able to use the optional native method.
Enhancements:
- Martin West contributed a bug fix and some code refactoring to make all targets work out of the box in the Ant build file. Previously, the "dist" target did not work if the "docs" directory was not present.
<<lessFast MD5 Implementation in Java includes an optional native method for even greater speed improvements.
How Fast Is It?
Short answer:Much faster than any other Java implementation that I have tested and (surprisingly) even faster than the native, non-Java MD5 implementation on some systems.
Long answer:First of all, it is important to note that the term "fast" is used here in relative terms. The implementation of the MD5 message digest algorithm available on this page is written in Java and is fast compared with other implementations written in Java, both because it is heavily optimized by itself and because there is an optional native method that makes it even faster when the platform supports it. How it compares to a sensible implementation written in a language, such as C, that is compiled directly to machine code, is heavily dependent upon how good of a job the JIT compiler in your JVM does in compiling the code or whether you are able to use the optional native method.
Enhancements:
- Martin West contributed a bug fix and some code refactoring to make all targets work out of the box in the Ant build file. Previously, the "dist" target did not work if the "docs" directory was not present.
Download (0.073MB)
Added: 2006-03-06 License: LGPL (GNU Lesser General Public License) Price:
1350 downloads
Amiga Research Operating System 20060207
Amiga Research Operating System (AROS) is a portable and free desktop operating system. more>>
Amiga Research Operating System (AROS) is a portable and free desktop operating system aiming at being compatible with AmigaOS 3.1, while improving on it in many areas. The source code is available under an open source license, which allows anyone to freely improve upon it.
Goals
The goals of the AROS project is it to create an OS which:
1. Is as compatible as possible with AmigaOS 3.1.
2. Can be ported to different kinds of hardware architectures and processors, such as x86, PowerPC, Alpha, Sparc, HPPA and other.
3. Should be binary compatible on Amiga and source compatible on any other hardware.
4. Can run as a standalone version which boots directly from hard disk and as an emulation which opens a window on an existing OS to develop software and run Amiga and native applications at the same time.
5. Improves upon the functionality of AmigaOS.
To reach this goal, we use a number of techniques. First of all, we make heavy use of the Internet. You can participate in our project even if you can write only one single OS function. The most current version of the source is accessible 24 hours per day and patches can be merged into it at any time. A small database with open tasks makes sure work is not duplicated.
History
Some time back in the year 1993, the situation for the Amiga looked somewhat worse than usual and some Amiga fans got together and discussed what should be done to increase the acceptance of our beloved machine. Immediately the main reason for the missing success of the Amiga became clear: it was propagation, or rather the lack thereof. The Amiga should get a more widespread basis to make it more attractive for everyone to use and to develop for. So plans were made to reach this goal. One of the plans was to fix the bugs of the AmigaOS, another was to make it an modern operating system. The AOS project was born.
But exactly what was a bug? And how should the bugs be fixed? What are the features a so-called modern OS must have? And how should they be implemented into the AmigaOS?
Two years later, people were still arguing about this and not even one line of code had been written (or at least no one had ever seen that code). Discussions were still of the pattern where someone stated that "we must have ..." and someone answered "read the old mails" or "this is impossible to do, because ..." which was shortly followed by "youre wrong because ..." and so on.
In the winter of 1995, Aaron Digulla got fed up with this situation and posted an RFC (request for comments) to the AOS mailing list in which I asked what the minimal common ground might be. Several options were given and the conclusion was that almost everyone would like to see an open OS which is compatible to AmigaOS 3.1 (kickstart 40.68) on which further discussions could be based upon to see what is possible and what is not.
So the work began and AROS was born.
<<lessGoals
The goals of the AROS project is it to create an OS which:
1. Is as compatible as possible with AmigaOS 3.1.
2. Can be ported to different kinds of hardware architectures and processors, such as x86, PowerPC, Alpha, Sparc, HPPA and other.
3. Should be binary compatible on Amiga and source compatible on any other hardware.
4. Can run as a standalone version which boots directly from hard disk and as an emulation which opens a window on an existing OS to develop software and run Amiga and native applications at the same time.
5. Improves upon the functionality of AmigaOS.
To reach this goal, we use a number of techniques. First of all, we make heavy use of the Internet. You can participate in our project even if you can write only one single OS function. The most current version of the source is accessible 24 hours per day and patches can be merged into it at any time. A small database with open tasks makes sure work is not duplicated.
History
Some time back in the year 1993, the situation for the Amiga looked somewhat worse than usual and some Amiga fans got together and discussed what should be done to increase the acceptance of our beloved machine. Immediately the main reason for the missing success of the Amiga became clear: it was propagation, or rather the lack thereof. The Amiga should get a more widespread basis to make it more attractive for everyone to use and to develop for. So plans were made to reach this goal. One of the plans was to fix the bugs of the AmigaOS, another was to make it an modern operating system. The AOS project was born.
But exactly what was a bug? And how should the bugs be fixed? What are the features a so-called modern OS must have? And how should they be implemented into the AmigaOS?
Two years later, people were still arguing about this and not even one line of code had been written (or at least no one had ever seen that code). Discussions were still of the pattern where someone stated that "we must have ..." and someone answered "read the old mails" or "this is impossible to do, because ..." which was shortly followed by "youre wrong because ..." and so on.
In the winter of 1995, Aaron Digulla got fed up with this situation and posted an RFC (request for comments) to the AOS mailing list in which I asked what the minimal common ground might be. Several options were given and the conclusion was that almost everyone would like to see an open OS which is compatible to AmigaOS 3.1 (kickstart 40.68) on which further discussions could be based upon to see what is possible and what is not.
So the work began and AROS was born.
Download (18.3MB)
Added: 2006-03-28 License: Other/Proprietary License with Source Price:
1310 downloads
Research 0.3.0.3
Research is a simple and functional application for organizing research papers. more>>
Research is a simple and functional application for organizing research papers. The project allows the tracking of sources, linking of notes and quotes to sources, and organizing of notes in an outline.
Main features:
- Can have many separate papers with their own distinct sources, notes, and outlines.
- Sources can be set up with a citation that uses ${PG} as a placeholder for the page number. For example:
- Mike Sager, The Worlds Greatest Book (Somewhere, USA: Sager Publishing, 2007), ${PG}
- will become
- Mike Sager, The Worlds Greatest Book (Somewhere, USA: Sager Publishing, 2007), 52-65
- when a note is created for that source with the page range set to 52-65
- OUTLINING!!! I am excited because I could never find this in any program anywhere. You can set up an outline for your paper and link in the notes/quotations wherever you want in the outline. If the note is modified, it will update in the outline. They can also be rearranged.
- AJAX interface for quicker, easier use. Outline now has drag n drop sorting and heading/note creation.
<<lessMain features:
- Can have many separate papers with their own distinct sources, notes, and outlines.
- Sources can be set up with a citation that uses ${PG} as a placeholder for the page number. For example:
- Mike Sager, The Worlds Greatest Book (Somewhere, USA: Sager Publishing, 2007), ${PG}
- will become
- Mike Sager, The Worlds Greatest Book (Somewhere, USA: Sager Publishing, 2007), 52-65
- when a note is created for that source with the page range set to 52-65
- OUTLINING!!! I am excited because I could never find this in any program anywhere. You can set up an outline for your paper and link in the notes/quotations wherever you want in the outline. If the note is modified, it will update in the outline. They can also be rearranged.
- AJAX interface for quicker, easier use. Outline now has drag n drop sorting and heading/note creation.
Download (0.088MB)
Added: 2007-04-12 License: GPL (GNU General Public License) Price:
930 downloads
PFScalibration 1.3
PFScalibration package provides an implementation of the Robertson et al. 2003 method for the photometric calibration of cameras more>>
PFScalibration project provides an implementation of the Robertson et al. 2003 method for the photometric calibration of cameras and for the recovery of high dynamic range (HDR) images from the set of low dynamic range (LDR) exposures.
Tools provided with this software can be used for photometric calibration of both off-the-shelf digital cameras and HDR cameras as described in the MPI Research Report. A short tutorial on calibration of the LDR cameras and the recovery of the HDR images from multiple exposures is provided below. For details on the calibration of the HDR cameras please refer to the research report.
<<lessTools provided with this software can be used for photometric calibration of both off-the-shelf digital cameras and HDR cameras as described in the MPI Research Report. A short tutorial on calibration of the LDR cameras and the recovery of the HDR images from multiple exposures is provided below. For details on the calibration of the HDR cameras please refer to the research report.
Download (0.30MB)
Added: 2007-01-05 License: LGPL (GNU Lesser General Public License) Price:
1025 downloads
libGarbageCollector 1.1
libGarbageCollector is an incremental garbage collector with a tri-color, Baker treadmill, write-barrier implementation. more>>
libGarbageCollector is an incremental garbage collector with a tri-color, Baker treadmill, write-barrier implementation.
libGarbageCollector is built from the garbage collector code used in the Io programming language project.
<<lesslibGarbageCollector is built from the garbage collector code used in the Io programming language project.
Download (0.034MB)
Added: 2006-05-22 License: BSD License Price:
1252 downloads
GridMPI 1.1
GridMPI is a new open-source free-software implementation of the standard MPI library. more>>
GridMPI is a new open-source free-software implementation of the standard MPI (Message Passing Interface) library designed for the Grid. GridMPI project enables unmodified applications to run on cluster computers distributed across the Grid environment.
GridMPI team found that it is feasible to connect cluster computers and to run ordinary scientific applications in distance upto 500 miles. Simple experiment has shown that most MPI benchmarks scale fine upto 20 millisecond round-trip latency which corresponds to about 500 miles in distance, when the clusters are connected by fast 1 to 10 Gbps networks. 500 miles covers the major cities between Tokyo--Osaka in Japan.
Thus, applications which are too large to run on a local cluster should run on multiple clusters in the Grid environment with acceptable performance. However, it is only feasible when using an efficient MPI implementation [1]. Existing implementations are not efficient enough mainly because of the two reasons: their focus on security features and TCP performance problems.
GridMPI skips security layers assuming dedicated secure links. The institutes housing large clusters tend to have their own networks to connect to other institutes in most cases. GridMPI so focuses on the performance on TCP. Since existing implementations are in most cases designed for MPP machines and recently clusters with special hardware, their performance on TCP with Ethernet is not optimal.
Also TCP performance itself is not optimal for the work load of the MPI traffic. In addition, support for heterogeneous combinations of computers of the existing MPI implementations is not satisfactory. Thus, GridMPI is designed and implemented from the scratch. GridMPI is carefully coded and tested with heterogeneity in mind.
Main features:
- Full conformance to the standard: GridMPI passes 100% of the functional tests of the large test suites from ANL and Intel (MPI-1.2 level).
- Full heterogeneity support: GridMPI is fully tested with combinations of processors of 32bit/64bit and big/little-endian.
- Primary support of TCP/IP and sockets: GridMPI is written from scratch and it is new and clean. It is efficient with sockets, and thus suitable for the Grid as well as ordinary Ethernet-based clusters.
- Cooperation with Grid job submission: GridMPI can be used with Globus, Unicore, tool from NAREGI project, etc.
- Checkpointing support: GridMPI supports checkpointing on Linux/IA32 platforms to restart long-running applications from failure.
- Vendor MPI support: GridMPI supports IBM-MPI, Fujitsu-Solaris-MPI, Intel-MPI, and any MPICH-based MPI for clusters with special communication hardware.
Enhancements:
- Minor bugfixes were made.
<<lessGridMPI team found that it is feasible to connect cluster computers and to run ordinary scientific applications in distance upto 500 miles. Simple experiment has shown that most MPI benchmarks scale fine upto 20 millisecond round-trip latency which corresponds to about 500 miles in distance, when the clusters are connected by fast 1 to 10 Gbps networks. 500 miles covers the major cities between Tokyo--Osaka in Japan.
Thus, applications which are too large to run on a local cluster should run on multiple clusters in the Grid environment with acceptable performance. However, it is only feasible when using an efficient MPI implementation [1]. Existing implementations are not efficient enough mainly because of the two reasons: their focus on security features and TCP performance problems.
GridMPI skips security layers assuming dedicated secure links. The institutes housing large clusters tend to have their own networks to connect to other institutes in most cases. GridMPI so focuses on the performance on TCP. Since existing implementations are in most cases designed for MPP machines and recently clusters with special hardware, their performance on TCP with Ethernet is not optimal.
Also TCP performance itself is not optimal for the work load of the MPI traffic. In addition, support for heterogeneous combinations of computers of the existing MPI implementations is not satisfactory. Thus, GridMPI is designed and implemented from the scratch. GridMPI is carefully coded and tested with heterogeneity in mind.
Main features:
- Full conformance to the standard: GridMPI passes 100% of the functional tests of the large test suites from ANL and Intel (MPI-1.2 level).
- Full heterogeneity support: GridMPI is fully tested with combinations of processors of 32bit/64bit and big/little-endian.
- Primary support of TCP/IP and sockets: GridMPI is written from scratch and it is new and clean. It is efficient with sockets, and thus suitable for the Grid as well as ordinary Ethernet-based clusters.
- Cooperation with Grid job submission: GridMPI can be used with Globus, Unicore, tool from NAREGI project, etc.
- Checkpointing support: GridMPI supports checkpointing on Linux/IA32 platforms to restart long-running applications from failure.
- Vendor MPI support: GridMPI supports IBM-MPI, Fujitsu-Solaris-MPI, Intel-MPI, and any MPICH-based MPI for clusters with special communication hardware.
Enhancements:
- Minor bugfixes were made.
Download (0.73MB)
Added: 2006-06-13 License: The Apache License Price:
1228 downloads
SableVM 1.12
SableVM is a portable Java virtual machine. more>>
SableVM is a robust, extremely portable, efficient, and specifications-compliant Java virtual machine that aims to be easy to maintain and to extend.
It features a state-of-the-art and efficient interpreter engine. Its source code is very accessible and easy to understand. It also has many robustness features that have been the object of careful design.
SableVM is a clean-room implementation of the publicly available specifications.
Main features:
- Clean code, with minimal duplication, thanks to a set of easy-to-use indent-friendly m4 macros.
- Modularity, making it ideal for research into different implementations of VM components.
- Standards compliance (C, POSIX, JVM, JNI, JLS).
- Three different interpreter engines, of which the basic switch interpreter is perfect for debugging, and the inlined-threaded interpreter is competitively fast. See [Execution Engines]?.
- A nice development environment, thanks to the above features. New contributors can start grokking it easily.
- Use of the latest GNU Classpath. We frequently synchronize with the GNU Classpath CVS.
- Portability (record time is 1 hour for a new port).
- Permissive LGPL license.
- A retargettable just-in-time compiler, SableJIT, which currently runs on ppc, x86, and sparc. The initial implementation is almost ready.
- Proper implementation of the invocation interface, which makes it possible to execute Java code from an application written in a different language. SableVM was designed so that extending it to follow the full specifications is straightforward, and allows for many virtual machines to be created, run, and destroyed within a single process (still not fully complete). This is something that the official Sun implementation does not provide.
<<lessIt features a state-of-the-art and efficient interpreter engine. Its source code is very accessible and easy to understand. It also has many robustness features that have been the object of careful design.
SableVM is a clean-room implementation of the publicly available specifications.
Main features:
- Clean code, with minimal duplication, thanks to a set of easy-to-use indent-friendly m4 macros.
- Modularity, making it ideal for research into different implementations of VM components.
- Standards compliance (C, POSIX, JVM, JNI, JLS).
- Three different interpreter engines, of which the basic switch interpreter is perfect for debugging, and the inlined-threaded interpreter is competitively fast. See [Execution Engines]?.
- A nice development environment, thanks to the above features. New contributors can start grokking it easily.
- Use of the latest GNU Classpath. We frequently synchronize with the GNU Classpath CVS.
- Portability (record time is 1 hour for a new port).
- Permissive LGPL license.
- A retargettable just-in-time compiler, SableJIT, which currently runs on ppc, x86, and sparc. The initial implementation is almost ready.
- Proper implementation of the invocation interface, which makes it possible to execute Java code from an application written in a different language. SableVM was designed so that extending it to follow the full specifications is straightforward, and allows for many virtual machines to be created, run, and destroyed within a single process (still not fully complete). This is something that the official Sun implementation does not provide.
Download (0.69MB)
Added: 2005-07-07 License: LGPL (GNU Lesser General Public License) Price:
1575 downloads
OpenAIS 0.81
OpenAIS is an open source implementation of the SA Forum Application Interface Specification. more>>
The openais project is a project to implement a production quality "Revised BSD" licensed implementation of the SA Forums Application Interface Specification. OpenAIS project implements cutting edge research on virtual synchrony to provide 100% correct operation in the face of failures or partitionable networks with excellent performance characteristics.
The Application Interface Specification is a software API and policies which are used to develop applications that maintain service during faults. The API consists of Availability Management Framework (AMF) which provides application failover, Cluster Membership (CLM), Checkpointing (CKPT), Event (EVT), Messaging (MSG), and Distributed Locks (DLOCK).
Faults occur for various reasons:
- Application Failure
- Middleware Failure
- Operating System Failure
- Hardware Failure
The major focus of high availability in the past has been to mask hardware faults. Faults in other components of the system have gone unsolved until AIS. AIS can mask many types of faults in applications, middleware, operating systems, or even hardware by providing a simple framework for allowing developers to create redundant applications. These redundant applications can be distributed over multiple nodes such that if any one node faults, another node can recover.
Application programmers develop applications to periodically record their state using the checkpointing service. When an active application fails, a standby application recovers the state of the application. This technique, called stateful application failover, provides the fundamental difference between openais and other systems that have come before it. With stateful application failover, the end-application user doesnt have to reload the application or redial a telephone. The full state is recorded, so the end-application user sees no interruption in service.
Because programmers can now distribute applications across multiple processes or nodes, a mechanism must exist for them to communicate. This mechanism is provided by two services. The event service provides a publish/subscribe model for events. The messaging service provides end to end messaging. Finally a mechanism to synchronize access is provided by the distributed lock service.
Enhancements:
- This version significantly improves support for AMF B.02.01 n+m failover of components.
- Most of the QA that went into Whitetank (0.80.2) has been merged.
<<lessThe Application Interface Specification is a software API and policies which are used to develop applications that maintain service during faults. The API consists of Availability Management Framework (AMF) which provides application failover, Cluster Membership (CLM), Checkpointing (CKPT), Event (EVT), Messaging (MSG), and Distributed Locks (DLOCK).
Faults occur for various reasons:
- Application Failure
- Middleware Failure
- Operating System Failure
- Hardware Failure
The major focus of high availability in the past has been to mask hardware faults. Faults in other components of the system have gone unsolved until AIS. AIS can mask many types of faults in applications, middleware, operating systems, or even hardware by providing a simple framework for allowing developers to create redundant applications. These redundant applications can be distributed over multiple nodes such that if any one node faults, another node can recover.
Application programmers develop applications to periodically record their state using the checkpointing service. When an active application fails, a standby application recovers the state of the application. This technique, called stateful application failover, provides the fundamental difference between openais and other systems that have come before it. With stateful application failover, the end-application user doesnt have to reload the application or redial a telephone. The full state is recorded, so the end-application user sees no interruption in service.
Because programmers can now distribute applications across multiple processes or nodes, a mechanism must exist for them to communicate. This mechanism is provided by two services. The event service provides a publish/subscribe model for events. The messaging service provides end to end messaging. Finally a mechanism to synchronize access is provided by the distributed lock service.
Enhancements:
- This version significantly improves support for AMF B.02.01 n+m failover of components.
- Most of the QA that went into Whitetank (0.80.2) has been merged.
Download (0.24MB)
Added: 2007-03-25 License: BSD License Price:
943 downloads
GDamafon 0.10
GDamafon project is an Open Source implementation of the Damafon protocol. more>>
GDamafon project is an Open Source implementation of the Damafon protocol.
Its also a simple client for connecting to the HTTP chat system at www.damochka.ru, using GTK+ libraries.
The realization of a protocol plugin for Pidgin (ex Gaim) client is also in plan.
<<lessIts also a simple client for connecting to the HTTP chat system at www.damochka.ru, using GTK+ libraries.
The realization of a protocol plugin for Pidgin (ex Gaim) client is also in plan.
Download (0.069MB)
Added: 2007-06-04 License: GPL (GNU General Public License) Price:
875 downloads
Net::Oscar 1.0
Net::Oscar project is a pure Perl implementation of the OSCAR protocol used by ICQ and AIM instant message clients. more>>
Net::Oscar project is a pure Perl implementation of the OSCAR protocol used by ICQ and AIM instant message clients.
<<less Download (MB)
Added: 2007-06-25 License: GPL (GNU General Public License) Price:
859 downloads
Secleted [ 0 ] software to compare
Copyright Notice:
Software piracy is theft, Using crack, password, serial numbers, registration codes, key generators is illegal and prevent future software development. The above research implementation search only lists software in full, demo and trial versions for free download. Download links are directly from our mirror sites or publisher sites, torrent files or links from rapidshare.com, yousendit.com or megaupload.com are not allowed