 |
OHO - OBDD Heuristics Online
This is a system that allows the use of a number of BDD-based
tools online.
The User can submit benchmarks via web-form. These benchmarks are
then executed on a cluster of Computers and the results
are reported to the user by email or web page.
Intentions behind the OHO system
The intention of OHO is to facilitate the evaluation of OBDD heuristics
developed by the OBDD group in Trier for everyone interested. Classically
evaluation of such heuristics mean you would have to compile a larger and
not easy to use pice of software, deal with bugs and portability problems
and other troubles. It may even be that you would have to reimplement the
heuristic. If you want to include a new heuristic into some special OBDD
package, you will have to reimplement it, but before you do, you might
have some indication whether this is worth your while. The first such indication
is given by the tables included in the scientific paper describing the
heuristic. But that is usually not enough. OHO fills the gap between these
tables and building the software yourself, by letting you do limited experiments
on a standard platform without great effort. OHO can also give you indications
what heuristic would be best suited for some kind of circuit class you
might be working in.
How to use OHO
You can just explore the site and read about the OBDD heuristics contained.
However, if you want to try one of the heuristics, say Block Restricted
Sifting, you have to learn a bit about the tool the heuristic is included
in. If you are, e.g. interested in what Block Restricted Sifting may do
for combinatoric verification, you may want to have the OBDD for some (combinatoric)
circuit synthesised. In this case you might want to use the Block Restricted
Sifting added to the tool Nanotrav. Just go to the
OHO user
interface page and
select the submit form for Block Restricted Sifting with Nanotrav. The
for will show you some parameters you can modify and ask you to submit
a file describing the circuit in the BLIF format
or to select one of the predefined files. If you are unsure about
the Parameters, go back to the heuristics page and read the short description
or other documentation linked next to the link to the submit form. If you
want to learn what this BLIF format is, you can select the name directly
to be taken to some documentation.
Let's now assume, you have your circuit description (BLIF) and have
chosen the parameter(s) to your liking. Transfer the file with the file
transfer element of the form and select the submit button on the bottom
of the form. You will be take to a short confirmation page, stating what
you just requested, and giving an ID for the request. You need this ID
only if you submitted more circuits and requested notification via email.
In that case you might need the ID to tell which notification corresponds
to which request.
Now click the continue button and be taken to the results page for
your request. It will show you whether your job is waiting to be executed
(and in that case how much other jobs will be processed before your job
is), welter it is active and if it is done it will give the results. These
result pages have some parameters in their URL and for that reason can
be bookmarked. If you didn't specify a notification email address, you
can get results only via the specific results page for your job.
That's it! Of course you might want to experiment with the parameters
or try different circuits. Just keep in mind, that the computational power
of this system is limited. It my be that jobs taking longer than some minutes
will be executed at night, or my be stored for some time. However no job
should be lost.
Technical Details
Computations are currently done on 3 Pentium Pro 200 workstations,
running Linux. Should all machines be busy, the newly submitted benchmarks
will wait in a queue until a machine becomes free. At the moment there is no
limit on this waiting time, meaning every submission will be processed
eventually. Limits on the actual execution are:
- Memory: 80 MB
- Time: 2 hour cpu time
- Input file size: 1 MB
The memory limit is checked by an external program and the computation
will be killed externally if the limit is exceeded. At the moment the user
cannot modify these limits.
As we are upgrading our computing equipment at the moment,
this numbers will change in the near future. Please be patient if
computations are slow at the moment, fewer than 3 machines might be
available because of the upgrades. We expect to have around
5-10 Pentium III 500 cpu's available for the computations in
the near future.
|