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}\\ Benchmark & 1st & JITI &{\bf ratio}& 1st & JITI &{\bf ratio}\\
\hline \hline
\sgCyl & 2,864 & 24 &$119\times$& 2,390 & 28 &$85\times$\\ \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$\\ \pta & 5,131 & 188 & $27\times$& 4,442 & 279 &$16\times$\\
\tea &1,478,813 &54,616 & $27\times$& --- & --- & --- \\ \tea &1,478,813 &54,616 & $27\times$& --- & --- & --- \\
\hline \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[\Krki] tries to learn rules from a small database of chess end-games;
\item[\GeneExpr] learns rules for yeast gene activity given a \item[\GeneExpr] learns rules for yeast gene activity given a
database of genes, their interactions, and micro-array gene 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 \item[\BreastCancer] processes real-life patient reports towards
predicting whether an abnormality may be predicting whether an abnormality may be
malignant~\cite{DavisBDPRCS@IJCAI-05}; malignant% ;~\cite{DavisBDPRCS@IJCAI-05-short};
\item[\IEProtein] processes information extraction from paper \item[\IEProtein] processes information extraction from paper
abstracts to search proteins; abstracts to search proteins;
\item[\Susi] learns from shopping patterns; \item[\Susi] learns from shopping patterns;
@ -1248,21 +1248,21 @@ from one to more than two orders of magnitude.
\paragraph*{Space performance.} \paragraph*{Space performance.}
Table~\ref{tab:ilp:memory} shows memory usage when using \JITI. The 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 table presents data obtained at a point near the end of execution;
point where memory usage should be at or close to the maximum. These memory usage should be at or close to the maximum. These applications
applications use a mixture of static and dynamic predicates and we use a mixture of static and dynamic predicates and we show their
show their memory usage separately. On static predicates, memory usage memory usage separately. On static predicates, memory usage varies
varies widely, from only 10\% to the worst case, \Carcino, where the widely, from only 10\% to the worst case, \Carcino, where the index
index tree takes more space than the original program. Hash tables tree takes more space than the original program. Hash tables dominate
dominate usage in \IEProtein and \Susi, whereas \TryRetryTrust chains usage in \IEProtein and \Susi, whereas \TryRetryTrust chains dominate
dominate in \BreastCancer. In most other cases no single component in \BreastCancer. In most other cases no single component dominates
dominates memory usage. Memory usage for dynamic data is shown in the memory usage. Memory usage for dynamic data is shown in the last two
last two columns; note that dynamic data is mostly used to store the columns; note that dynamic data is mostly used to store the search
search space. One can observe that there is a much lower overhead in space. One can observe that there is a much lower overhead in this
this case. A more detailed analysis shows that most space is occupied case. A more detailed analysis shows that most space is occupied by
by the hash tables and by internal nodes of the tree, and that the hash tables and by internal nodes of the tree, and that relatively
relatively little space is occupied by \TryRetryTrust chains, little space is occupied by \TryRetryTrust chains, suggesting that
suggesting that \JITI is behaving well in practice. \JITI is behaving well in practice.
\section{Concluding Remarks} \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 simple idea: \emph{indexing Prolog clauses on demand during program
execution}. 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 applications, we are a bit surprised similar techniques have not been
explored before. In general, Prolog systems have been reluctant to explored before. In general, Prolog systems have been reluctant to
perform code optimizations during runtime and our feeling is that LP 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. 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. towards effective runtime optimization of logic programs.
As presented, \JITI is a hybrid technique: index generation occurs 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 static analysis to be even more selective or go beyond fixed-order
indexing. 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 performance can be achieved in the context of one solution
computations, or in the context of tabling where order of clauses and 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} \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", author = "Zhou, Neng-Fa and Takagi, Toshihisa and Kazuo, Ushijima",
title = "A Matching Tree Oriented Abstract Machine for {P}rolog", title = "A Matching Tree Oriented Abstract Machine for {P}rolog",
pages = "158--173", pages = "158--173",
booktitle = ICLP90, booktitle = "ICLP90",
editor = "Warren, David H. D. and Szeredi, P\'eter", editor = "Warren, David H. D. and Szeredi, P\'eter",
year = 1990, year = 1990,
publisher = "MIT Press" 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 author = "Srinivasan, A. and King, R.D. and Muggleton, S. and
Sternberg, M.J.E.", Sternberg, M.J.E.",
title = "Carcinogenesis Predictions Using {ILP}", title = "Carcinogenesis Predictions Using {ILP}",
booktitle = ILP97, booktitle = "ILP97",
series = LNAI, series = LNAI,
volume = 1297, volume = 1297,
editor = "D\v{z}eroski, S. and Lavra\v{c}, N.", 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}, Santos Costa, V\{\i}tor},
title = {Inferring Regulatory Networks from Time Series Expression Data title = {Inferring Regulatory Networks from Time Series Expression Data
and Relational Data via Inductive Logic Programming}, and Relational Data via Inductive Logic Programming},
booktitle = "Proceedings of the Sixteenth International Conference booktitle = "ILP07",
on Inductive Logic Programming",
location = "Santiago de Compostela, Spain", location = "Santiago de Compostela, Spain",
year = "2007" year = "2007"
} }
@ -603,3 +602,27 @@ institution = "Department of Artificial Intelligence, University of Edinburgh"
year = {2005} 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}
}