Skip to main content

BootTorrent

https://img.shields.io/pypi/v/boottorrent.svg Documentation Status

BootTorrent allows distributed P2P BitTorrent based network booting of various Operating systems.

The advantage of BootTorrent over standard network booting is that the bottleneck caused by a central server serving the image is reduced and BootTorrent reduces the linear scaling factor in total time to bring a cluster online fully functional by utilizing Peer-to-Peer protocols. The nodes share the image data among themselves, hence, improved boot times.

+--------------------------------------------------------------------+
|                                     +----------------------------+ |
|  Fig 1: A network of computers      |     +----+  FE  +----+     | |
|    sharing data together after      |     |Node|<---->|Node|     | |
|    receiving it from server.        |     +----+      +----+     | |
|                                     |       ^           ^        | |
|                                     |    FE |           | FE     | |
|  +------+ 1 Gbps  +------+ 100 Mbps |       v           v        | |
|  |Server|-------->|Switch|--------->|     +----+  FE  +----+     | |
|  +------+  Link   +------+ Link(FE) |     |Node|<---->|Node|     | |
|                                     |     +----+      +----+     | |
|                                     +----------------------------+ |
+--------------------------------------------------------------------+

Cases where BootTorrent may be useful would be:

  • If the clients in your network are not getting enough bandwidth individually and have significant bandwidth being left unused, which causes increased boot times. With BootTorrent you can repurpose the remaining bandwidth to help clients mutually share it among themselves.

  • If your server (such as a laptop) can only connect to your cluster of computers via a comparatively slow link (such as WiFi or Fast-ethernet) then BootTorrent can help you mitigate the low bandwidth issues of network link.

  • If you have large number of computers at your disposal and you’re simply looking to deploy any given system image(s) (that may have been hand-crafted according to your needs) as painlessly as possible. BootTorrent can help you deploy it in three easy steps to the whole network.

  • If your current network boot server is unable to meet your requirements and deliver much needed performance, consider giving BootTorrent a try. Its distributed architecture will reduce the dependence on server, which means improved boot performance.

For more details on use cases please refer to Use cases list and visit the documentation.

We have data to back our claims. Check out the performance improvements here:

img1

img2

img3

[Images & Data courtesy of SL-Lab: http://sl-lab.it/dokuwiki/lib/exe/fetch.php/tesi:tesi_bruschi.pdf]

The above images were created from tests done at the University of Milan (ITALY) during the development of the original “boottorrent” project.

WARNING: STATUS - ALPHA: DO NOT USE IN PRODUCTION!

Features

  • Boot Linux Kernel with Kexec.

  • Includes Qemu to run any type of Operating system on client machine.

  • Ability to run a binary executable.

  • Client side user input to choose an OS.

  • Leverage BitTorrent to transfer files over the network.

History

0.1.0 (2018-05-02)

  • First release on PyPI.

Metadata

Release files for boottorrent 0.1.1

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Built distribution (wheel)

Table of built distributions (wheels) for boottorrent 0.1.1
File Interpreter ABI Platform
boottorrent-0.1.1-py2.py3-none-any.whl Python 2, Python 3 none any Details

Release files / boottorrent-0.1.1-py2.py3-none-any.whl

Download URL boottorrent-0.1.1-py2.py3-none-any.whl
Size 64.8 MB
Tags Python 2 Python 3
SHA-256 checksum
How to use checksums
2cdc77c1a3e75e8d7649f17a1c049084ce53652fd7b1c7ed6efb93105b087425
BLAKE2b-256 checksum
How to use checksums
51bf666ac1766a8862478f25951ed40b6aca40aec20171964739e08089f04984
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/1.13.0 pkginfo/1.4.2 requests/2.21.0 setuptools/41.1.0 requests-toolbelt/0.8.0 tqdm/4.30.0 CPython/3.7.5

Release history Release notifications | RSS feed

This release

0.1.1 This release

1 release file

0.1.0

1 release file

0.0.0

1 release file

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page