Conference PaperPDF Available

BootTorrent: peer-to-peer fast network boot

Authors:

Abstract and Figures

Network booting is widely used today: for thin-client computing, cluster computing, operating system installation and context switching in classrooms (i.e., for exams or different lessons). Currently available netboot protocols are the “trivial file transfer protocol” (TFTP) and “hypertext transfer protocol” (HTTP). When a group of machines need to simultaneously boot, the boot server becomes a bottleneck and it is very easy to reach the server network capacity, thus grinding the whole system to a halt. P2P network booting could relieve the server burden and some solution already “exists”, but they are either too complicated, very O.S. specific or even “described in a paper but unavailable”... This paper proposes a Free Software BitTorrent based two-phase downloading system, implemented in a less-than-a-hundred-lines script achieving an almost flat boot time with respect to the number of nodes booting together.
Content may be subject to copyright.
12th INTERNATIONAL CONFERENCE
APPLIED COMPUTING 2015
ii
iii
PROCEEDINGS OF THE
12th INTERNATIONAL CONFERENCE
APPLIED COMPUTING 2015
MAYNOOTH, GREATER DUBLIN, IRELAND
OCTOBER 24-26, 2015
Organised by
IADIS
International Association for Development of the Information Society
Co-Organised by
iv
Copyright 2015
IADIS Press
All rights reserved
This work is subject to copyright. All rights are reserved, whether the whole or part of the material
is concerned, specifically the rights of translation, reprinting, re-use of illustrations, recitation,
broadcasting, reproduction on microfilms or in any other way, and storage in data banks.
Permission for use must always be obtained from IADIS Press. Please contact secretariat@iadis.org
Edited by Hans Weghorn
Associate Editor: Luís Rodrigues
ISBN: 978-989-8533-45-6
v
TABLE OF CONTENTS
FOREWORD ix
PROGRAM COMMITTEE xi
KEYNOTE LECTURE xv
FULL PAPERS
HARDWARE VALIDATION FOR CONTROL OF THREE-PHASE
GRID-CONNECTED MICROGRIDS USING ARTIFICIAL NEURAL
NETWORKS
Shuhui Li, Eduardo Alonso, Xingang Fu, Michael Fairbank, Ishan Jaithwa and
Donald C. Wunsch
3
ALGORITHMS PERFORMANCE ANALYSIS IN VIRTUAL ENVIRONMENTS
OF CLOUD COMPUTING WITH HADOOP BENCHMARK PLATFORM USING
STATISTICAL METHODS
Ricardo Soares Bôaventura, Gustavo Prado Oliveira, Manoel Braz de Andrade Maciel,
Keiji Yamanaka, Hugo Xavier Rocha, Igor Santos Peretta and Edmilson Rodrigues Pinto
11
SUPPORT OF USER ORIENTED SOFTWARE EVALUATION AND
SELECTION
Junko Shirogane
19
METHODS FOR USING SCRUM IN LARGE DEVELOPMENT
ORGANIZATIONS: A META REVIEW
David P. King Jr. and Robert F. Roggio
27
TOWARDS THE IMPROVEMENT OF W3C WEB CONTENT ACCESSIBILITY
GUIDELINES
José R. Hilera, Eva García, Antonio García, Concha Batanero and Salvador Otón
34
USABILITY EVALUATION BY TYPICALLY DEVELOPING CHILDREN OF
A CUSTOM GAME SYSTEM DESIGNED FOR CHILDREN WITH CEREBRAL
PALSY
Brett Wilkinson and David Hobbs
41
DETERMINISTIC FAULT ATTACK OVER THE STREAM CIPHER MICKEY
Nirmalya Kar, Bhaskar Biswas, Subhrajyoti Deb and Baby Bhattacharya
49
AN INTELLIGENT MULTI-AGENT BASED PROBLEM MANAGEMENT
SYSTEM FOR INDUSTRIAL AUTOMATION SYSTEMS
Huiqiang Wang, Nasser Jazdi and Peter Goehner
56
SECURITY IN COMMUNITY SENSOR NETWORKS
Unai Perez and José Enrique Armendáriz-Iñigo
65
vi
BOOTTORRENT: PEER-TO-PEER FAST NETWORK BOOT
Davide Bruschi and Andrea Trentini
73
TESTING COMMUNICATION PROTOCOLS WITHIN TEST CASES
DEPENDENCIES FRAMEWORK
Alberto Marroquín, Diego Calderón and Stephane Maag
80
OPTIMISING DATA-PARALLEL PERFORMANCE WITH A COST MODEL
IN THE PRESENCE OF EXTERNAL LOAD
Turkey Alsalkini and Greg Michaelson
89
ON THE DEPENDANCIES OF QUERIES EXECUTION TIME AND MEMORY
CONSUMPTION IN C-SPARQL
Yousra Chabchoub, Zakia Kazi-Aoul, Amadou Fall Dia and Rayane El Sibai
97
HUMAN-MICROBIOME-RELATIONS EXTRACTION AND VISUALIZATION
SYSTEM WITH CONTEXT-DEPENDENT CLUSTERING AND SEMANTIC
ANALYSIS
Shiori Hikichi, Shiori Sasaki and Yasushi Kiyoki
105
ANALYSIS OF EXTREME EVENTS USING A DATA MINING APPROACH
Heloisa M. Ruivo, Haroldo F. de Campos Velho, Fernando M. Ramos and Saulo R. Freitas
113
LEARNING LOAD BALANCING FOR SIMULATION IN HETEROGENEOUS
SYSTEMS
Irina Bernst, Christof Kaufmann and Jörg Frochte
121
MULTISPECTRAL IMAGE CLASSIFICATION OF SHADED AND
NON-SHADED LAND-COVER PATTERNS
Wanessa da Silva, José Renato Garcia Braga, Haroldo Fraga de Campos Velho and
Elcio Hideiti Shiguemori
129
FITTING MULTIVARIATE GAUSSIAN DISTRIBUTIONS WITH
OPTIMUM-PATH FOREST AND ITS APPLICATION FOR ANOMALY
DETECTION
Leandro Aparecido Passos Júnior, Kelton Augusto Pontara da Costa and João Paulo Papa
136
PARAMETER-SETTING FREE HARMONY SEARCH OPTIMIZATION
OF RESTRICTED BOLTZMANN MACHINES AND ITS APPLICATIONS
TO SPAM DETECTION
Luis A. da Silva, Kelton A. P. da Costa, Patricia B. Ribeiro, Gustavo Rosa and
João Paulo Papa
143
LIQUIDITY AND RESILIENCE OF CREDIT NETWORK: A SIMULATION
STUDY
Yu Cao and Bhaskar DasGupta
151
FACTORS INFLUENCING CUSTOMER SATISFACTION ON CROSS-BORDER
M-COMMERCE APPLICATION IN CHINA
Yicai Lin and Jie Gao
159
vii
SHORT PAPERS
A WEB COMPUTATIONAL PLATFORM FOR LITTORAL HYDRODYNAMICS
MODELLING
Romain Chailan and Fabien Rétif
171
ON THE DETECTION OF DENIAL OF SERVICE ATTACKS USING
CLUSTERING
Yousra Chabchoub and Jan Neuzil
176
DIMENSIONALITY REDUCTION USING ROUGH SET APPROACH
FOR CLIMATE PREDICTION
Juliana Aparecida Anochi and Haroldo Fraga de Campos Velho
181
REFLECTION PAPERS
KEY TECHNOLOGIES FOR LINKING BODY SENSOR NETWORKS
IN PERSONAL SPORTS APPLICATIONS TO ANDROID SMARTPHONES
Hans Weghorn
189
DESIGNING A TABLET-BASED CLASSROOM MANAGEMENT SYSTEM
Patrick Armstrong and Brett Wilkinson
193
AUTHOR INDEX
BOOTTORRENT: PEER-TO-PEER FAST NETWORK BOOT
Davide Bruschi and Andrea Trentini
Department of Computer Science - University of Milan
Via Comelico 39, 20135 Milano, Italy
ABSTRACT
Network booting is widely used today: for thin-client computing, cluster computing, operating system installation and
context switching in classrooms (i.e., for exams or different lessons). Currently available netboot protocols are the “trivial
file transfer protocol” (TFTP) and “hypertext transfer protocol” (HTTP).
When a group of machines need to simultaneously boot, the boot server becomes a bottleneck and it is very easy to reach
the server network capacity, thus grinding the whole system to a halt.
P2P network booting could relieve the server burden and some solution already “exists”, but they are either too
complicated, very O.S. specific or even “described in a paper but unavailable”...
This paper proposes a Free Software BitTorrent based two-phase downloading system, implemented in a
less-than-a-hundred-lines script achieving an almost flat boot time with respect to the number of nodes booting together.
KEYWORDS
Peer-to-peer, Network boot, Free Software, Bittorrent, GNU/Linux
1. INTRODUCTION
1.1 Network Boot
“Network boot” enables computers to boot from the local network by downloading an operating system
directly from a server (instead of loading it from disk), using, for example, the PXE protocol (Intel, 1999).
With PXE a client node first obtains its network configuration through DHCP (University, 1997)
(Dynamic Host Configuration Protocol) and then downloads the OS (Operating System) initrd+kernel: the
two files needed to boot a system, an operating system kernel and an initial ramdisk containing a small root
partition) through TFTP(MIT, 1992) (Trivial File Transfer Protocol). When the download is complete, the
computer starts the ram-loaded system and it is ready for work. This process does not necessarily need any
local storage (or a local OS) thus can be also run on diskless machines.
The advantage of network booting resides in avoiding local installations of every node in the net and in
the option of choosing the operating system to boot on a daily, hourly, “whateverly” basis. In many contexts,
such as ours (see Section 1.2), this feature is invaluable.
This simple procedure has a limitation: when in need to (almost) simultaneously boot a large number of
nodes from a single server, completion times (i.e., from switch on to boot complete) do not scale well on the
number of machines. Boot times with the standard PXE architecture, without any optimization (such as
multicast) are in the environment of O(n), where n is the number of booting machines. These results are
consistent with those recorded in similar works described in this paper (see (McEniry, 2007b) table 1 and
figure 2; see (Oliveros et al., 2013) figure 4; see (Takada et al., 2012) figure 5). The authors wondered if it
could have been possible to achieve better times with other techniques.
The answer was positive, both in terms of previous work and in terms of their solution, described here,
which will be compared to existing techniques.
The solution proposed here, basically, takes advantage of the BitTorrent transfer protocol allowing clients
to “p2p-wise” download the OS as fast as possible without overloading the server and the network itself.
12th International Conference
Applied
Computing
2015
73
1.2 Academic Assessment Environment
The authors’ university department manages a bunch of PC-equipped labs, used for teaching and for exams.
There are three classrooms with a total of 124 machines, they locally (from hard disk) dual-boot Windows 7
and GNU/Linux Gentoo for normal lessons, but when there are exams the administrators usually prepare a
special network boot to constrain users (i.e., students) in a standardized and isolated (from network)
environment. The resulting environment is reduced (compared to the standard one) and limited to a few tools
(editor, compiler, documentation browser, etc.) to let the students fully express their Computer Science
knowledge, without distractions.
The “exam” boot is a large (about half a gigabyte) operating system image that must be ram loaded on
every machine, boot is then performed from ram, the local hard disk is never used for this procedure.
This procedure is supported by a boot server that assigns IP addresses (DHCP) and a file server (TFTP)
sending the operating system images to every machine, the boot process takes a lot of time (see Section 4)
and it represents a bottleneck when there are contiguous exams needing different boot images on many
machines.
1.3 Rationale
The authors wanted to investigate other technologies (besides DHCP+TFTP) to achieve better boot times.
The common sense intuition was to head for some peer-to-peer technique since the real bottleneck of the
whole process was the server, instead of the network (see Figure 1), and using a p2p protocol would have
relieved the burden from the server. In a p2p environment there is one “initial” server having the whole
content to be spread, this server is known (usually by means of an URL) to all nodes interested in getting that
content. The nodes are able to download it in chunks and to serve those chunks to other nodes, thus
collaborating in the transfer, provided that the network does not suffer from collisions, i.e. in the context of a
switched network or a Wide Area Network.
Thus the rationale of the authors’ idea was to apply a p2p technique to the boot process. In fact there were
previous studies and implementations relying on p2p, namely BitTorrent (Cohen, 2008), described in Section
2, but almost all had “problems” (e.g., too complicated to implement or actually unavailable) and convinced
the authors to head for a clean room solution.
2. RELATED WORK
Before delving into a new solution the authors reviewed previous work and implementations. The need for a
fast file transfer to network clients, during network boot, is a well known problem in the IT world.
Figure 1. The CS lab network scheme
978-989-8533-45-6 © 2015
74
Current “classical” solutions are usually based on multicast (with MTFTP) and/or NFS(S et al., 2003).
The former tries to delegate the bytestream load onto routers but it is not easy to implement it since not every
piece of hardware (in servers, routers and clients) supports it and if it does it must be correctly configured (!),
and, above all, it is not an IETF standard (A. Emberson Lanworks Technologies, 1997). The latter does not
actually relieves the server burden, it just postpones it since with an NFS architecture every node boots a
minimal (thus small) system and then mounts an NFS root to load all the remaining files, optionally from a
different server. NFS deeply depends on network performance and on the number of active clients. NFS is
more an alternative in terms of functionality instead of performance.
There are also “non classical” solutions introducing some peer-to-peer functionality.
(O’Donnell, 2008) proposes a system based on BitTorrent, to be used in booting classrooms. In this
architecture, clients need an already installed and running OS, which runs the BitTorrent client and a virtual
machine monitor. The BitTorrent client downloads the image that will be loaded by the VM (Virtual
Machine) monitor. Initially the time needed for complete the transfer was about 6-24 hour that were reduced
to 1-4 hours using BitTorrent. The main advantage is that with a VM monitor any guest system can be used
(such as Windows or other operating systems). On the other hand, the whole implementation was made by
hand (this solution doesn’t provide an automated tool) and each client computer had to be manually installed
with an O.S. and software (they had computers with Windows Vista, Virtual PC 2007 and VMWare
software), thus it is very difficult to replicate the experiments to evaluate this system.
(Takada et al., 2012) proposes a system still based on virtual machines. Also in this case, the architecture
needs already running OSes on clients, but they implement a "P2P disk image provider" that runs KVM and
creates the VM on the fly, providing disk blocks ondemand (using the BitTorrent protocol). They also
organized the clients in clusters, for better neighbour clients selection. They used Ruby for developing the
P2P disk image provider and fusefs (see FUSE in references) to hook into file access. This proposal seems
interesting albeit very handcrafted, alas the tool is not available for download and evaluation.
MOOBI(McEniry, 2007a) proposes an architecture that does not rely on an already running OS in the
client. Clients, at boot, download a kernel and an initial ramdisk, using TFTP and HTTP and, then, they build
the final image downloading the remaining parts using BitTorrent. The main problem of this project is that it
is very RedHat Linux specific and, also their linuxrc script is very specific to the structure of the image in
use. That means that changing Linux distribution requires the redesign of most of the scripts, software and
packages. And, last, it allows to boot only linux systems. Also this system is not available for download and
evaluation.
(Oliveros et al., 2013) proposes an architecture focused on iPXE (see iPXE in references) structural
modification. The main part of their work is the modification of the iPXE protocol, that, in its original
version, is not able of using BitTorrent. They added the support for server socket in the iPXE’s TCP
implementation, so they were able to implement a BitTorrent-like protocol used for transferring the OS
image to the clients. Obviously the main problem is the complexity of the implementation that requires a
deep knowledge of the tool if upgrades or personalizations are needed. And, again, there is no trace of a
downloadable sample system.
Instead, this paper presents an architecture that is extremely simple, based on standard and free/open
tools, easy to configure and use, highly adaptable to different hardware and software and able to support any
OS possible (under a VM monitor) and, above all, with a less-than-a-hundred-lines of code implementation.
3. ARCHITECTURE AND IMPLEMENTATION
In the authors’ department student laboratories, there are about 120 computers dedicated to interactive
lessons and exams. During lessons, students use a locally installed operating system, but during exams,
administrators configure every computer to boot from network, with a customized operating system version,
one for each type of exam (i.e., Programming 101, Algorithms, Operating Systems, etc.). The network
configuration is shown in Figure 1.
The connection between the lan and the server is made by four 100Mbps links configured with the LACP
(IEEE) protocol; so the network is already not as fast as the authors would like.
12th International Conference
Applied
Computing
2015
75
The operating system image used in production (and for BootTorrent experiments) is a customized
version of Gentoo (http://gentoo.org), compressed with BZIP2, of about 384MB in size. As a first “quick but
not so dirty” improvement, the authors reduced the size of the compressed image, changing the compression
algorithm from BZIP2 to LZMA. The new image is about 308MB.
Then the authors focused on the main problem: the actual operating system image transfer. Essentially,
the idea is to download a minimal O.S. from the server using the standard and unmodified TFTP protocol.
This O.S. does not represent a transfer problem because it is very small: just 10MB plus 3MB of kernel file.
Thus there is no bottleneck during this very quick phase.
Figure 2 qualitatively depicts the differences between the old procedure and the new one, box sizes
represent (not in exact scale, see Section 4 for measured figures) timing improvements.
When the initial system boots up, the BootTorrent system launches a BitTorrent client. Aria2 (see
references) was chosen because it is Free Software and it offers full command line control. The BitTorrent
client starts the “p2p” final (target) operating system download.
When download is complete, a call to kexec (see references) boots (from ram) the final O.S. The kexec
system call actually “kills” the initial O.S. kernel and substitutes it with the final system.
Slitaz (see references) was chosen as an intermediate “pivot” O.S. because:
it’s Free Software;
it’s very easy to manage and to upgrade (Debian based)
it’s very well supported (large community)
it uses a recent kernel (3.2.x) so it ensures complete support for existing hardware
it’s very easy to extract the base system (just the command line part) to reduce the intermediate
download size.
On the boot server there must be only two services:
a BitTorrent tracker (the bittorrent official package was chosen)
a BitTorrent client to serve as the initial seeder (aria2 was chosen)
The reader can find a full description about the modifications and configurations made to the tools, and
further details of the project, on the link available in the conclusions.
Figure 2. The new (bottom) procedure VS. the old one (top)
978-989-8533-45-6 © 2015
76
4. PERFORMANCE EVALUATION
This section summarizes BootTorrent performance measurements and compares the timings of the old
pure-TFTP process to the new TFTP+torrent one. Bear in mind that these better results are in small part due
to the use of a different compression algorithm (LZMA instead of BZIP2).
The authors tested three laboratory boot configurations, with 8 (one row in a classroom), 41 (one
classroom) and 124 computers (the whole 3-classrooms laboratory), to try and plot performance vs.
nr_of_nodes graphs. The machines are almost identical in hardware configuration. These three setups are not
yet enough to evince the shapes of the performance curves, more sample points would be useful, but
nonetheless they give a very clear idea that this new BootTorrent process represents a giant leap from the old
pure-TFTP based one. Timings were measured by hand with a wrist chronometer, stopping it when the la st
machine booted or finished initial download.
The seed-ratio graph in Figure 3 shows how many copies of the final O.S. image are provided directly
from the server. In this case higher figures mean worse performance since the server load (and network I/O)
increases as the number of O.S. images to be served increases.
As the reader can see, BootTorrent relieves the server from a fast increasing and an almost unbearable
(network) load.
The boot time graph in Figure 4 shows the total time needed to boot the complete set of PCs from power
on to full completion (mark on the last booting client).
The timewise comparison still puts BootTorrent as the clear winner.
Figure 3. Server seed-ratio (Y=nr.of copies, X=nr.of clients) [the lower the better]
Figure 4. Total boot time (Y=time in seconds, X=nr.of clients, X-axis is not to scale) [the lower the better]
12th International Conference
Applied
Computing
2015
77
The transmission graph in Figure 5 compares the average transfer speed of the image through TFTP
versus BitTorrent.
The graph shows the actual average pure download (i.e., taking out the initial “pivot” download+boot and
the target O.S. decompression and boot time) speed as perceived by every node, the underlying difference
between the TFTP and BitTorrent context is that in the latter case data comes from multiple sources. Thus it
is not unexpected to see decreasing figures in both cases (traditional boot and BootTorrent boot) since:
in the first case the server has to divide its bandwidth between all the clients
in the second case every node can divide its bandwidth with any other node but as the number of
nodes increases there is in fact less need to divide the bandwidth since there are more sharing nodes
With this solution the only remaining possible cause of bottleneck is the “pivot” image, a very small
(circa 13MB) file that can be downloaded in a few seconds, even in very large installations.
As specified in Section 1, our experimental results are similar to those in previous works ((McEniry,
2007b), (Oliveros et al., 2013),(Takada et al., 2012)).
5. CONCLUSIONS
This paper presents BootTorrent, a tool (a shell script glueing some Free Software tools) that significantly
improves the performance during network boot and that works very well with large files and/or large number
of computers. Even more, the overall performance increases as the number of clients increases. The tool core
relies on the integration of the BitTorrent protocol in the network boot process so that the boot server does
not need to serve operating system images to every booting node.
BootTorrent notable advantages are the following (with comparisons where applicable, for detailed “state
of the art” see Section 2):
it’s Free Software (GPL licensed) while previous tools were not;
it is highly modular (users can change a single component without changing the rest of the tools,
only few lines of the script have to be changed) while other tools were in general ad-hoc
built-from-scratch solutions;
it is easy to add features because the intermediate boot system Slitaz is a simplified but complete,
updated/supported and documented GNU/Linux distribution and can be customized very easily (see
below for an interesting idea);
while this tool could be considered a re-implementation (same concept, different code) of previous
work we would like to remark that we achieved the same performance results with a very compact
(<100 lines of shell scripting) solution, this is the smallest amount of code among the tools
reviewed;
w.r.t. other solutions, it is easily downloadable and deployable.
Figure 5. Average download speed
978-989-8533-45-6 © 2015
78
A feature that may easily be added is the ability to boot other (than GNU/Linux variants) operating
systems. Currently, only GNU/Linux systems can be booted because of the kexec system call use in the
Slitaz boot scripts. Fortunately, Slitaz supports recent packages for kernel virtual monitors and emulators
(such as KVM, qemu, virtualbox, etc.) thus it would be very easy to adapt the Slitaz image and the script to
download a VM image instead of an initrd file and launch the virtual machine instead, with the very useful
function of having the torrent seeding system still running in background.
An interesting future development would be the integration of BootTorrent into LTSP (Linux Terminal
Server Project, see references) or in similar projects: systems to set up whole classrooms using a single live
CD that boots an initial machine becoming a server for the rest. Currently these systems boot every client via
TFTP and then run on NFS to keep the initial boot image small. In this case the NFS load at runtime is very
high since the target system relies on a shared disk even for the operating system. With BootTorrent a larger
image could be booted without risking bottlenecks so that every node could run its own copy of the system
and using NFS only for the home directories.
A final consideration, BootTorrent could not be implemented so easily (the actual problems were in
choosing the correct components for this task rather than writing glueing code) in a proprietary context: the
Free Software ecosystem is very diverse and very “enabling”, Free Software is usually made to be integrated
in other environments, and this “open” attitude is especially true for command line tools were a plethora of
options and parameters offer many ways to customize tools behaviour.
Information about this project, and the tool itself, can be reached at the following URL:
http://sl-lab.it/dokuwiki/doku.php/tesi:boottorrent_en
REFERENCES
A. Emberson Lanworks Technologies Inc. (1997). rfc2090 tftp multicast option. http://tools.ietf.org/html/rfc2090.
Aria2c website (n.d.). http://aria2.sourceforge.net/.
Cohen, B. (2008). The bittorrent introduction. http://bittorrent.org/introduction.html.
FUSE (n.d.). http://fuse.sourceforge.net/.
IEEE (n.d.). Ieee standard for local and metropolitan area networks link aggregation.
http://standards.ieee.org/getieee802/download/802.1AX-2008.pdf.
Intel (1999). The preboot execution environment specification v2.1.
iPXE (n.d.). http://ipxe.org/.
Kexec (n.d.). http://linux.die.net/man/8/kexec.
LTSP (n.d.). http://www.ltsp.org/.
McEniry, C. (2007a). Moobi: A thin server management system using bittorrent.
http://static.usenix.org/event/lisa07/tech/full_papers/mceniry/mceniry_html/.
McEniry, C. (2007b). Moobi: A thin server management system using bittorrent., LISA, pp. 253260.
http://static.usenix.org/event/lisa07/tech/full_papers/mceniry/mceniry_html/.
MIT, K. S. (1992). rfc1350 the tftp protocol (revision 2). http://www.ietf.org/rfc/rfc1350.txt.
O’Donnell, C. M. (2008). Using bittorrent to distribute virtual machine images for classes,
Proceedings of the 36th annual ACM SIGUCCS fall conference: moving mountains, blazing trails, ACM, pp. 287290.
http://dl.acm.org/citation.cfm?id=1450040.
Oliveros, W. V. A., Festin, C. A. M. and Ocampo, R. M. (2013). A p2p network booting scheme using a bittorrent-like
protocol, IT Convergence and Security (ICITCS), 2013 International Conference on, IEEE, pp. 14.
http://ieeexplore.ieee.org/xpls/abs_all.jsp?arnumber=6717782.
S, S., B, C., D, R., R, T., C, B., M, E. and D, N. (2003). rfc3530 network file system (nfs) version 4 protocol.
http://tools.ietf.org/html/rfc3530.
Slitaz (n.d.). http://www.slitaz.org/en/.
Takada, S., Sato, A., Shinjo, Y., Nakai, H., Sugiki, A. and Itano, K. (2012). A p2p approach to scalable network-booting,
Proceedings of the 2012 Third International Conference on Networking and Computing, IEEE Computer Society, pp.
201207. http://dl.acm.org/citation.cfm?id=2473443.
University, R. D. B. (1997). rfc2131 dynamic host configuration protocol. http://tools.ietf.org/html/rfc2131.
Takada, S., Sato, A., Shinjo, Y., Nakai, H., Sugiki, A. and Itano, K. (2012). A p2p approach to scalable network-booting,
Proceedings of the 2012 Third International Conference on Networking and Computing, IEEE Computer Society, pp.
201207. http://dl.acm.org/citation.cfm?id=2473443.
University, R. D. B. (1997). rfc2131 dynamic host configuration protocol. http://tools.ietf.org/html/rfc2131.
12th International Conference
Applied
Computing
2015
79
ResearchGate has not been able to resolve any citations for this publication.
Conference Paper
Network booting is widely used today, mostly for thin-client computing, cluster computing, and operating system installation. Popular protocols like trivial file transfer protocol (TFTP) and hypertext transfer protocol (HTTP) are used to download operating system images. Network booting clients simultaneously downloading from a single server create a bottleneck at the server's link once the link capacity has been maximized. The result is a slowdown in the download time and the overall boot process. Several P2P network booting solutions exist, but they are implemented on top of a running operating system. In this paper, we propose a distributed downloading scheme at the network bootloader level using a BitTorrent-like protocol for network booting clients. We discuss the implementation of a new download protocol for iPXE, an open-source network bootloader, and evaluate the performance of TFTP, HTTP, and the proposed BitTorrent-like protocol by measuring their download times over varying file sizes and number of nodes. On 20 clients, simultaneously downloading a 500 MiB file using the proposed protocol resulted to a decrease in average download time of 51.6% compared to TFTP and 46.6% compared to HTTP.
Conference Paper
Network-booting is widely adopted in universities that have to maintain many client computers. In conventional network-booting systems, the primary bottleneck is the disk image distribution servers and the network to these servers. To eliminate this bottleneck, peer-to-peer (P2P) methods must work. However, existing P2P methods, including BitTorrent, do not work well for network-booting because they are highly optimized for distributing an entire large file, while network-booting requires certain parts of a large file. In the present study, aiming to solve the problems described above, we describe a new network-booting system that uses a P2P method. In our P2P-based network-booting system, a client node receives disk blocks not only from central distribution servers but also from the other client nodes that already have the demanded disk blocks. To the best of our knowledge, our network-booting system is the first effective implementation of a network-booting system that uses a P2P method in a local area network. Unlike conventional P2P systems, the proposed network-booting system can deal with demanded parts of a large disk image. We performed experiments with 112 client nodes in real classrooms on a university campus. The results of the experiments show that our implementation scales well as the number of client nodes grows.
Conference Paper
There are a number of benefits to using virtual machines in a training environment; however, when the total size of the images range from 5-40 GB, getting those images to the physical machines in a timely fashion can be a concern. In our environment, we have a single machine we can use as a server, and classrooms located on different subnets (in different cities). With this situation, a multicast solution isn't possible, and standard file transfer methods (e.g. over a common windows share) take 6-24 hours to complete. Given the existing limitations, we needed a faster method of deploying images to our client machines. Our solution centers on BitTorrent technology, a few additional freely available applications, and is glued together with a little scripting. With our solution in place, the 6-24 hour completion times have been reduced to 1-4 hours, and the deployment process takes less than 10 simple steps. The implementation is flexible enough that the server environment can be run from a Live CD if necessary, and similar implementations can easily be made platform independent. With the variety of tools that can be used to implement this environment, we also avoid the pitfalls of vendor lock-in.
Conference Paper
We describe a tool that provides a method for running dataless caching clients - a hybrid combination of imaging systems with traditional diskless nodes. Unlike imaging systems, it is a single boot to get to a running system; unlike diskless systems, it is more robust and scalable as it does not continuously depend on central servers. The tool, Moobi, uses the peer-to-peer protocol BitTorrent to provide efficient distribution of the image cache, and combines standard diskless tools to provide the basis for the running system. Moobi makes it possible to run large installations of "thin server" farms.
The bittorrent introduction
  • B Cohen
Cohen, B. (2008). The bittorrent introduction. http://bittorrent.org/introduction.html. FUSE (n.d.). http://fuse.sourceforge.net/.
Using bittorrent to distribute virtual machine images for classes, Proceedings of the 36th annual ACM SIGUCCS fall conference: moving mountains, blazing trails
  • O ' Donnell
O'Donnell, C. M. (2008). Using bittorrent to distribute virtual machine images for classes, Proceedings of the 36th annual ACM SIGUCCS fall conference: moving mountains, blazing trails, ACM, pp. 287–290. http://dl.acm.org/citation.cfm?id=1450040.
http://linux.die.net/man/8/kexec
  • Kexec
Kexec (n.d.). http://linux.die.net/man/8/kexec. LTSP (n.d.). http://www.ltsp.org/. McEniry, C. (2007a).
rfc2131 dynamic host configuration protocol A p2p approach to scalable network-booting
  • R D B University
  • S Takada
  • A Sato
  • Y Shinjo
  • H Nakai
  • A Sugiki
  • K Itano
University, R. D. B. (1997). rfc2131 dynamic host configuration protocol. http://tools.ietf.org/html/rfc2131. Takada, S., Sato, A., Shinjo, Y., Nakai, H., Sugiki, A. and Itano, K. (2012). A p2p approach to scalable network-booting, Proceedings of the 2012 Third International Conference on Networking and Computing, IEEE Computer Society, pp. 201–207. http://dl.acm.org/citation.cfm?id=2473443.