This manual describes how to use the Tycoon market-based distributed resource allocation system. Tycoon allocates computer resources in a distributed cluster like PlanetLab, the Grid, or a Utility Data Center (UDC) to users. To do this, Tycoon uses a market-based mechanism where users have a limited amount of currency that they use to bid on resources. Users receive resources in proportion to their bids.
Using Tycoon is very much like using any other large-scale,
shared, general-purpose computing resources. Users use
ssh and scp to log into
machines and copy files across the network, respectively. Users
must be prepared to deal with losing their resources to other
users. As a result, they must deal with having processes
shutdown and files deleted.
Where Tycoon differs from other systems is that users control their allocations using currency. They receive resources in proportion to the currency that they spend and can save up currency to request larger allocations. This has several consequences: all allocation is automatic, so it happens quickly; users have a lot flexibility in how much and what kind of resoures they receive, and when they get it; and users have an incentive to be careful in their usage, since the currency they save now can benefit them later.
It is important to distinguish Tycoon from other similar software systems. Tycoon is:
a distributed virtual machine manager. Tycoon has protocols to securely and efficiently manage virtual machines on hundreds or thousands of virtual machines distributed over the Internet.
a generalized computing platform. A Tycoon virtual machine is almost indistinguishable from a physical Linux machine.
a system for deciding how to slice the resource "pie". How users' applications want to eat the pie is up to them.
a system for federating resources from different organizations. An organization that contributes to a Tycoon network will be compensated for those contributions. The organization will receive currency when external users use internal resources. Internal users can then use this currency to bid for external resources.
a market-based system that requires minimal interaction with the user. Once a Tycoon user has created a set of virtual machines, the user does not need to interact with the system again. Interaction is only required when the user wishes to run faster or slow, use more or less disk, etc.
Tycoon is not:
a virtual machine monitor like Xen or VMWare. Tycoon builds on these kinds of software, but provides different functionality.
middleware like Globus or Grid Engine. Tycoon is not designed to glue together existing software systems.
a cluster scheduler like Platform. Tycoon schedules at the host level and lets applications decide how they want to distribute themselves over multiple machines.
a system to provide distributed process management, a distributed file system, or a distributed shared memory system. These are high level abstractions that can be built on top of Tycoon, independent of resource allocation.
a system to provide an overlay network, application checkpointing, failover, or anything else that would be useful for a distributed application but has nothing to do with resource allocation.
a policy for how currency should be distributed initially to users. The Tycoon administrator decides how to do this.
a market-based system that requires repeated bidding for resources, like EBay for compute hours.
This manual is primarily useful to people who want to run their programs on Tycoon resources. It describes how to create a user account, log into providing hosts, and set bids. This manual assumes that the Tycoon software is already installed on both clients and resource providers. For instructions on how install the Tycoon software, see the Administrator's Manual.
The Tycoon's client's base requirement is Fedora Core 3. We have only tested using Python 2.3 and 2.4 on x86 Fedora Core 3, 4, and 5 Linux platforms. Python is ostensibly cross-platform, but there are likely to be bugs in porting to Windows or OS X.
| Date | Version | Description | |
|---|---|---|---|
| 12/13/2007 | 0.5.1p96 | Document how to get file system image. | |
| 1/23/2007 | 0.5.0p90 | Simplify user setup. | |
| 1/16/2007 | 0.5.0p77 | Correct documentation on user setup. | |
| 1/4/2007 | 0.5.0p53 | Add documentation on tycoon_ssh and tycoon_scp. | Add documentation on sls commands. |
| 8/3/2006 | 0.4.1p37 | Revise host command reference. | |
| 8/1/2006 | 0.4.1p36 | Revise bidding interface. Add information about getting disk space. | |
| 7/18/2006 | 0.4.1p13 | Add text on bidding and bids. Revise many sections | |
| 1/19/2006 | 0.3.4p223 | Updated for new yum repo, command changes. | |
| 5/24/2005 | 0.3.0p43 | Added chapter on running programs. | |
| 5/2/2005 | 0.3.0p34 | Revised format. |
Table 1. Change Log