add referesnce to Anderson

git-svn-id: https://yap.svn.sf.net/svnroot/yap/trunk@1844 b08c6af1-5177-4d33-ba66-4b1c6b8b522a
This commit is contained in:
vsc 2007-03-12 14:44:18 +00:00
parent e7d6171ca0
commit f5e25966a4
2 changed files with 54 additions and 28 deletions

View File

@ -1087,7 +1087,7 @@ applications:
Benchmark & 1st & JITI &{\bf ratio}& 1st & JITI &{\bf ratio}\\
\hline
\sgCyl & 2,864 & 24 &$119\times$& 2,390 & 28 &$85\times$\\
\muta & 30,057 &16,782 &$179\%$ &26,314 &21,574 &$122\%$ \\
\muta & 30,057 &16,782 &$1.79\times$ &26,314 &21,574 &$1.22\times$ \\
\pta & 5,131 & 188 & $27\times$& 4,442 & 279 &$16\times$\\
\tea &1,478,813 &54,616 & $27\times$& --- & --- & --- \\
\hline
@ -1226,10 +1226,10 @@ from one to more than two orders of magnitude.
%% \item[\Krki] tries to learn rules from a small database of chess end-games;
\item[\GeneExpr] learns rules for yeast gene activity given a
database of genes, their interactions, and micro-array gene
expression data~\cite{Regulatory@ILP-06};
expression data; %~\cite{Regulatory@ILP-06};
\item[\BreastCancer] processes real-life patient reports towards
predicting whether an abnormality may be
malignant~\cite{DavisBDPRCS@IJCAI-05};
malignant% ;~\cite{DavisBDPRCS@IJCAI-05-short};
\item[\IEProtein] processes information extraction from paper
abstracts to search proteins;
\item[\Susi] learns from shopping patterns;
@ -1248,21 +1248,21 @@ from one to more than two orders of magnitude.
\paragraph*{Space performance.}
Table~\ref{tab:ilp:memory} shows memory usage when using \JITI. The
table presents data obtained at a point near the end of execution; a
point where memory usage should be at or close to the maximum. These
applications use a mixture of static and dynamic predicates and we
show their memory usage separately. On static predicates, memory usage
varies widely, from only 10\% to the worst case, \Carcino, where the
index tree takes more space than the original program. Hash tables
dominate usage in \IEProtein and \Susi, whereas \TryRetryTrust chains
dominate in \BreastCancer. In most other cases no single component
dominates memory usage. Memory usage for dynamic data is shown in the
last two columns; note that dynamic data is mostly used to store the
search space. One can observe that there is a much lower overhead in
this case. A more detailed analysis shows that most space is occupied
by the hash tables and by internal nodes of the tree, and that
relatively little space is occupied by \TryRetryTrust chains,
suggesting that \JITI is behaving well in practice.
table presents data obtained at a point near the end of execution;
memory usage should be at or close to the maximum. These applications
use a mixture of static and dynamic predicates and we show their
memory usage separately. On static predicates, memory usage varies
widely, from only 10\% to the worst case, \Carcino, where the index
tree takes more space than the original program. Hash tables dominate
usage in \IEProtein and \Susi, whereas \TryRetryTrust chains dominate
in \BreastCancer. In most other cases no single component dominates
memory usage. Memory usage for dynamic data is shown in the last two
columns; note that dynamic data is mostly used to store the search
space. One can observe that there is a much lower overhead in this
case. A more detailed analysis shows that most space is occupied by
the hash tables and by internal nodes of the tree, and that relatively
little space is occupied by \TryRetryTrust chains, suggesting that
\JITI is behaving well in practice.
\section{Concluding Remarks}
@ -1273,14 +1273,14 @@ access large datasets efficiently, we have described a novel but also
simple idea: \emph{indexing Prolog clauses on demand during program
execution}.
%
Given the impressive speedups this idea can provide for many
Given the impressive speedups this idea can provide for many realistic
applications, we are a bit surprised similar techniques have not been
explored before. In general, Prolog systems have been reluctant to
perform code optimizations during runtime and our feeling is that LP
implementation has been left a bit behind times. We hold that this
implementation has been left a bit behind. We hold that this
should change.
%
Indeed, we see \JITI as only the first, albeit very important, step
Indeed, we see the \JITI as only a first, very successful, step
towards effective runtime optimization of logic programs.
As presented, \JITI is a hybrid technique: index generation occurs
@ -1291,11 +1291,14 @@ fully dynamic (as in YAP), combined with user declarations, or use
static analysis to be even more selective or go beyond fixed-order
indexing.
%
Finally, note that \JITI fully respects Prolog semantics. Better
Last, we observe that the \JITI fully respects Prolog semantics. Better
performance can be achieved in the context of one solution
computations, or in the context of tabling where order of clauses and
solutions does not matter and repeated solutions are discarded.
solutions does not matter and repeated solutions are discarded.
%
Finally, the good results obtained with \JITI have motivated recent
work on taking advantage of Just-In-Time to better compile
clauses~\cite{yapc}.
%==============================================================================
\bibliographystyle{splncs}

View File

@ -275,7 +275,7 @@ organization = "State University of New York at Stony Brook",
author = "Zhou, Neng-Fa and Takagi, Toshihisa and Kazuo, Ushijima",
title = "A Matching Tree Oriented Abstract Machine for {P}rolog",
pages = "158--173",
booktitle = ICLP90,
booktitle = "ICLP90",
editor = "Warren, David H. D. and Szeredi, P\'eter",
year = 1990,
publisher = "MIT Press"
@ -449,7 +449,7 @@ institution = "Department of Artificial Intelligence, University of Edinburgh"
author = "Srinivasan, A. and King, R.D. and Muggleton, S. and
Sternberg, M.J.E.",
title = "Carcinogenesis Predictions Using {ILP}",
booktitle = ILP97,
booktitle = "ILP97",
series = LNAI,
volume = 1297,
editor = "D\v{z}eroski, S. and Lavra\v{c}, N.",
@ -576,8 +576,7 @@ institution = "Department of Artificial Intelligence, University of Edinburgh"
Santos Costa, V\{\i}tor},
title = {Inferring Regulatory Networks from Time Series Expression Data
and Relational Data via Inductive Logic Programming},
booktitle = "Proceedings of the Sixteenth International Conference
on Inductive Logic Programming",
booktitle = "ILP07",
location = "Santiago de Compostela, Spain",
year = "2007"
}
@ -603,3 +602,27 @@ institution = "Department of Artificial Intelligence, University of Edinburgh"
year = {2005}
}
@inproceedings{DavisBDPRCS@IJCAI-05-short,
author = {Jesse Davis and
Elizabeth S. Burnside and
In{\^e}s Dutra and
David Page and
Raghu Ramakrishnan and
Santos Costa, V\'{\i}tor and
Jude W. Shavlik},
title = {View Learning for Statistical Relational Learning: With
an Application to Mammography},
pages = "677--683",
booktitle = "IJCAI05",
location = "Edinburgh, Scotland, UK",
isbn = {0938075934},
year = {2005}
}
@inproceedings{yapc,
author = {Anderson Silva and Santos Costa, V\{\i}tor},
title = {Design, Implementation, and Evaluation of an Dynamic Compilation Framework for the YAP System.},
year = {2007},
booktitle = {Submitted for publication}
}