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:
parent
e7d6171ca0
commit
f5e25966a4
@ -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}
|
||||
|
@ -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}
|
||||
}
|
||||
|
||||
|
Reference in New Issue
Block a user