The first stable version of the Haizea Lease Manager was released a few days ago and is available for download at http://haizea.cs.uchicago.edu/
Haizea can be used as a drop-in replacement for OpenNebula’s scheduling daemon, providing OpenNebula with more advanced scheduling capabilities such as advance reservations and queueing of requests when there are no resources available.
Haizea 1.0 is compatible with the recently released OpenNebula 1.4 and, compared to the last major release of Haizea (Technology Preview 1.3 in February 2009), introduces many new features focused on:
- Extensibility: A new modular scheduler design that makes it easier to choose between different scheduling policies, or to write custom policies that can be “plugged into” Haizea. Writing a custom policy only requires writing a Python module implementing a set of methods described in the Haizea documentation.
- Stability: Many internal changes, including a larger number of unit tests, that make Haizea more stable.
- Documentation: More documentation, including developer documentation for users interested in extending Haizea or writing custom scheduling algorithms or policies.
For a list of all the new features, take a look at the Haizea Changelog
Work on Haizea 1.2 is already under way, and will include the following features:
- Support for leases with deadlines. Haizea will include deadline-driven scheduling algorithms such that, if a user specifies a deadline for a lease, Haizea will only accept if it can be scheduled before that deadline. Furthermore, preemptions (if allowed by the lease) will only be done if the deadline restriction is still met.
- Lease negotiation. The lease lifecycle will be expanded to incorporate a negotiation phase before a lease is accepted. In this negotiation, it will be possible for Haizea to reply to a lease request with multiple possible leases which the user can accept or reject. The initial focus in this work will be on supporting lease pricing.
- Lease pricing. Haizea will be able to price leases, based on pluggable pricing leases.
Since most of the work for 1.2 is driven by research efforts, the focus for the next couple of months is going to be mostly on the simulation side of Haizea. Nonetheless, improving the integration between Haizea and OpenNebula, particularly in regards to making Haizea more aware of unscheduled changes in the VMs (an issue that several users have brought to our attention), is still part of our long-term goals. However, we don’t anticipate we”ll be able to work on improving that part of Haizea until, at least, the summer. Nonetheless, if there are developers who would be interested in helping to improve the Haizea/OpenNebula integration (specially those who have a stake in this integration), please don’t hesitate to let us know, as we’d be happy to provide assistance.
A new version of the Haizea Lease Manager was released a few days ago and is available for download at http://haizea.cs.uchicago.edu/
Haizea can be used as a drop-in replacement for OpenNebula‘s scheduling daemon, providing OpenNebula with more advanced scheduling capabilities such as advance reservations and queueing of requests when there are no resources available. The latest version of Haizea is the first of two betas on the road to Haizea 1.0. This beta includes several major new features:
- Support for pluggable scheduling policies: Whereas previous versions of Haizea used hardcoded scheduling policies (e.g., to determine whether a lease could be accepted, whether it should be preempted, etc.), this version allows users to choose between different policies, or to write their own custom policies that they can “plug into” Haizea. Writing a custom policy only requires writing a Python module implementing a set of methods described in the Haizea documentation.
- Support for heterogeneous resources and arbitrary resource types: Previous versions of Haizea required that each lease be composed of homogeneous nodes (i.e., all the VMs in a lease had to request the same amount of resources), and only supported five resource types (CPU, Memory, Disk, Inbound network and Outbound network). This version supports leases with heterogeneous resource requirements and allows users to define arbitrary resource types that can then be requested by leases.
- New LWF (Lease Workload Format): Leases are now described using a new XML format that, unlike the previous LWF, supports specification of heterogeneous nodes and arbitrary resource types.
- OpenNebula 1.4 support: The OpenNebula enactment module has been updated to support OpenNebula 1.4. The new enactment module uses OpenNebula’s XML-RPC API, instead of accessing the OpenNebula database directly.
- More unit tests: Besides the existing trace-based unit tests (which run simple tracefiles with Haizea), new unit tests have been written to make sure that Haizea’s core data structures, like the slot table and the resource mapper, are working correctly.
- Pydoc documentation: Most of Haizea’s modules are now fully documented using Pydoc. A browsable HTML version is provided on the Haizea website for developers who want to write their own custom policies.
- New project management site: The PhoenixForge site where Haizea is hosted has recently migrated to a Redmine site (from the previous Trac-based Dr.Project site). This new site provides a much better web interface and several other project management features.
Please note that the current version is still a beta, and not suitable for use in production environments. Its main purpose is to get feedback from the community so, if you encounter any bugs or there’s any particular feature you’re interested in, please don’t hesitate to let us know on the Haizea mailing list: https://mailman.cs.uchicago.edu/mailman/listinfo/haizea
Borja Sotomayor has just announced the release of a new version of the Haizea Lease Manager. Technology Preview 1.3 now includes support for OpenNebula 1.2 (released one week ago), and enhanced stability and robustness. This is a new step towards TP2.0, which will include a policy engine and several novel scheduling features. The detailed list of changes is available in the project changelog.
Ignacio Martín Llorente
I would like to give a warm welcome to Haizea to the virtualization ecosystem. The new technological component is an open-source VM-based lease management architecture, which can be used
- As a platform for experimenting with scheduling algorithms that depend on VM deployment or on the leasing abstraction.
- In combination with the OpenNebula virtual infrastructure manager, to manage a Xen or KVM cluster, allowing you to deploy different types of leases that are instantiated as virtual machines (VMs).
Its full integration with OpenNebula will be part of the next Technoloy Preview (TP1.1), due mid-july. Haizea is being developed by Borja Sotomayor, a PhD student at the University of Chicago, who is now visiting our research group partially funded by the European Union’s FP7 Reservoir project (“Resources and Services Virtualization without Barriers”).
Ignacio Martín Llorente