[haizea-commit] r644 - trunk/doc/manual
haizea-commit at mailman.cs.uchicago.edu
haizea-commit at mailman.cs.uchicago.edu
Fri Aug 7 04:36:59 CDT 2009
Author: borja
Date: 2009-08-07 04:36:59 -0500 (Fri, 07 Aug 2009)
New Revision: 644
Modified:
trunk/doc/manual/gen_config_doc.py
trunk/doc/manual/manual.tex
trunk/doc/manual/policies.tex
trunk/doc/manual/whatis.tex
Log:
Minor documentation updates.
Modified: trunk/doc/manual/gen_config_doc.py
===================================================================
--- trunk/doc/manual/gen_config_doc.py 2009-08-07 09:36:07 UTC (rev 643)
+++ trunk/doc/manual/gen_config_doc.py 2009-08-07 09:36:59 UTC (rev 644)
@@ -39,7 +39,7 @@
elif opt.type == OPTTYPE_STRING:
print "Any string"
elif opt.type == OPTTYPE_BOOLEAN:
- print "\texttt{True} or \texttt{False}"
+ print "\\texttt{True} or \\texttt{False}"
elif opt.type == OPTTYPE_DATETIME:
print "An ISO timestamp: i.e., \\texttt{YYYY-MM-DD HH:MM:SS}"
elif opt.type == OPTTYPE_TIMEDELTA:
Modified: trunk/doc/manual/manual.tex
===================================================================
--- trunk/doc/manual/manual.tex 2009-08-07 09:36:07 UTC (rev 643)
+++ trunk/doc/manual/manual.tex 2009-08-07 09:36:59 UTC (rev 644)
@@ -68,8 +68,8 @@
\input{policies}
-\chapter{Writing your own resource mapper}
-\label{mapper}
+%\chapter{Writing your own resource mapper}
+%\label{mapper}
%\part{Advanced Topics}
@@ -81,6 +81,7 @@
%\section{Extending Haizea}
+
\part{Appendices}
\appendix
@@ -96,12 +97,6 @@
\label{app:lwf}
\input{appendix_lwf}
-\section{Nodes format}
-\section{Lease format}
-\section{Site format}
-
-\section{LWF file format}
-
\end{document}
Modified: trunk/doc/manual/policies.tex
===================================================================
--- trunk/doc/manual/policies.tex 2009-08-07 09:36:07 UTC (rev 643)
+++ trunk/doc/manual/policies.tex 2009-08-07 09:36:59 UTC (rev 644)
@@ -1,7 +1,7 @@
Haizea uses several scheduling algorithms internally to determine what resources to allocate to a lease. For the most part, modifying these algorithms requires digging deep into the Haizea code. However, several scheduling decisions that depend on an organizations own resource allocation policies are factored out of the main scheduling code into pluggable \emph{policy decision module}. In particular, the following decisions are factored out:
\begin{description}
- \item[Lease admission]: Should a lease request be accepted or rejected? Take into account that this decision takes place before Haizea determines if the request is even feasible. For example, an organization may require that all AR leases must be requested at least one hour in advance, regardless of whether there would be enough resources to satisfy the request before tha time. However, being accepted doesn't guarantee the lease will get resources (although this could factor into the decision too); an AR lease could meet the ``one hour advance warning'' requirement, but still end up being rejected because there are no resources available at the requested time.
+ \item[Lease admission]: Should a lease request be accepted or rejected? Take into account that this decision takes place before Haizea determines if the request is even feasible. For example, an organization may require that all AR leases must be requested at least one hour in advance, regardless of whether there would be enough resources to satisfy the request before that time. However, being accepted doesn't guarantee the lease will get resources (although this could factor into the decision too); an AR lease could meet the ``one hour advance warning'' requirement, but still end up being rejected because there are no resources available at the requested time.
\item[Lease preemptability]: How preemptable is a lease? Not all leases are created equal and, if the scheduler determines that a lease request can only be satisfied by preempting other leases, it may have to determine what leases are better candidates for preemption. For example, given a choice of preempting a lease that's been running for a week and another that's been running for five minutes, an organization might prefer to not interrupt the long-running lease.
\item[Host selection]: What hosts should a lease be scheduled in? When the scheduler has a choice of several physical hosts on which to deploy VMs, some might be preferable than others. For example, an organization might want to pack as many VMs into the same hosts, to shut down those that are not running VMs, while another might want to spread those VMs across several hosts, leaving some free resources available in each host in case the VMs need extra capacity further down the road.
\end{description}
@@ -9,7 +9,7 @@
As you can see, these are all policy decisions that are driven by an organization's own goals for its resources. Thus, Haizea makes it simple to write your own policy decision code \emph{without} having to modify Haizea's code. All you have to do is write a simple Python module, and then ``plug it'' into Haizea by instructing it (through the configuration file) to use that module. This chapter describes how this is done.
\begin{warning}
-This documentation refers to Haizea objects, such as \texttt{Lease} and \texttt{SlotTable} that are not yet documented in this manual. For now, you will need to read the Haizea source code to see what attributes and methods these classes have. A more complete documentation will be included in the final 1.0 release.
+This documentation refers to Haizea objects, such as \texttt{Lease} and \texttt{SlotTable} that are not yet documented in this manual. For now, you will need to read the Haizea Pydoc documentation (linked from the Documentation section of the Haizea website) to see what attributes and methods these classes have. A more complete documentation will be included in the final 1.0 release.
\end{warning}
\section{Lease admission}
@@ -139,7 +139,7 @@
# Your code goes here
\end{wideshellverbatim}
-The \texttt{get\_host\_score} methos receives a physical host (the integer node identifier used in the slot table, which all policy modules have access to), a time, and a \texttt{Lease} object we would like to schedule at that time. This method returns a score indicating how desireable that host is for that lease at that time. The score can be between 0.0 and 1.0, and the higher the score, the "more desireable" the physical host is. Like the lease preemptability score, this is a relative measure; the score will be used to determine which of several physical hosts is more desireable for this lease.
+The \texttt{get\_host\_score} method receives a physical host (the integer node identifier used in the slot table, which all policy modules have access to), a time, and a \texttt{Lease} object we would like to schedule at that time. This method returns a score indicating how desirable that host is for that lease at that time. The score can be between 0.0 and 1.0, and the higher the score, the "more desirable" the physical host is. Like the lease preemptability score, this is a relative measure; the score will be used to determine which of several physical hosts is more desirable for this lease.
The host selection policy to use is specified using the \texttt{policy-host-selection} option of the \texttt{[scheduling]} section in the configuration file. So, assuming you save your module as \texttt{policies.py}, you would specify the following in the configuration file:
Modified: trunk/doc/manual/whatis.tex
===================================================================
--- trunk/doc/manual/whatis.tex 2009-08-07 09:36:07 UTC (rev 643)
+++ trunk/doc/manual/whatis.tex 2009-08-07 09:36:59 UTC (rev 644)
@@ -62,7 +62,3 @@
\end{description}
The Haizea architecture keeps these three layers completely decoupled, which means that adding support for an additional enactment backend only requires writing an enactment module for that backend. The API for enactment modules is still not fully defined, and integration with OpenNebula is currently driving this effort. However, if you'd be interested in using Haizea in another system, please do let us know. We'd be very interested in hearing what your requirements are for the frontend and enactment APIs.
-
-\section{Haizea is still a technology preview}
-
-Haizea started out as research software (and it is still largely meant for research purposes). Although Haizea works and we're getting to the point where it can be used in production systems, it is still a technology preview, so please use it with caution.If you have any trouble using Haizea, or understanding any part of the source code, please don't hesitate to ask for help on our mailing list (see the Haizea website for details on how to subscribe).
\ No newline at end of file
More information about the Haizea-commit
mailing list