Freecycles - Efficient Data Distribution for Volunteer Computing

Total Page:16

File Type:pdf, Size:1020Kb

Freecycles - Efficient Data Distribution for Volunteer Computing freeCycles - Efficient Data Distribution for Volunteer Computing Rodrigo Bruno INESC-ID Instituto Superior Técnico Universidade de Lisboa Lisboa, Portugal [email protected] ABSTRACT Volunteer Computing, BitTorrent, BOINC, MapReduce Volunteer Computing (VC) is a very interesting solution to harness large amounts of computational power, network bandwidth, and storage which, otherwise, would be left with 1. INTRODUCTION no use. In addition, recent developments of new program- With the ever growing demand for computational power, ming paradigms, namely MapReduce, have raised the inter- scientists and companies all over the world strive to har- est of using VC solutions to run MapReduce applications vest more computational resources in order to solve more on the large scale Internet. However, current data distribu- and bigger problems in less time, while spending the mini- tion techniques, used in VC to distribute the high volumes mum money possible. With these two objectives in mind, we of information which are needed to run MapReduce jobs, are think of volunteer computing (VC) as a viable solution to ac- naive, and therefore need to be re-thought. cess huge amounts of computational resources, namely CPU cycles, network bandwidth, and storage, while reducing the We present a VC solution called freeCycles, that supports cost of the computation (although some commercial solutions MapReduce jobs and provides two new main contributions: i) give incentives, pure VC projects can produce computation improves data distribution (among the data server, mappers, at zero cost). and reducers) by using the BitTorrent protocol to distribute (input, intermediate, and output) data, and ii) improves in- With time, more computing devices (PCs, gaming consoles, termediate data availability by replicating it through volun- tablets, mobile phones, and any other kind of device capable teers in order to avoid losing intermediate data and conse- of sharing its resources) join the network. By aggregating all quently preventing big delays on the MapReduce overall ex- these resources in a global volunteer pool, it is possible to ecution time. obtain huge amounts of computational resources that would be impossible, or impractical, for most grids, supercomput- We present the design and implementation of freeCycles ers, and clusters. For example, recent data from BOINC along with an extensive set of performance results which con- [3, 4] projects shows that, currently, there are 50 supported firm the usefulness of the above mentioned contributions, im- projects sustained by an average computational power of over 1 proved data distribution and availability, thus making VC a 7 PetaFLOPS . feasible approach to run MapReduce jobs. The creation and development of large scale VC systems en- Categories and Subject Descriptors ables large projects, that could not be run on grids, super- computers, or clusters due to its size and/or costs associated, C.2.0 [Computer-Communication Networks]: to run with minimized costs. VC also provides a platform to General|Data communications; C.2.4 [Computer- explore and create new projects without losing time building Communication Networks]: Distributed Systems| and for setting up execution environments like clusters. Distributed applications; C.4 [Performance of Systems]: Reliability, availability, and serviceability In addition, recent developments of new programming paradigms, namely MapReduce2 [9], have raised the inter- General Terms est of using VC solutions to run MapReduce applications Algorithms, Performance, Realiability on large scale networks, such as the Internet. Although in- creasing the attractiveness of VC, it also brings the need to Keywords rethink and evolve current VC platforms' architectures and protocols (in particular, the data distribution techniques and protocols) to adapt to these new programming paradigms. We present a system called freeCycles, a VC solution which 1Statistics from boincstats.com 2MapReduce is a popular programming paradigm composed of two operations: Map (applied for a range of values) and Reduce (operation that will aggregate values generated by the Map operation). has as its ultimate goal to aggregate as many volunteer re- churn, variable node performance and connection, and being sources as possible, in order to run MapReduce jobs in a scal- able to do it in a scalable way is the challenge that address able and efficient way. Therefore, the output of this project is with freeCycles. a middleware platform that enables upper software abstrac- tion layers (programs developed by scientists, for example) By considering all the available solutions, it is important to to use volunteer resources all over the Internet as they would note that solutions based on clusters and/or grids do not fit use a supercomputer or a cluster. Therefore, using freeCy- our needs. Such solutions are designed for controlled environ- cles, applications can be developed to solve problems that ments where node churn is expected to be low, where nodes require more computational resources than what it is avail- are typically well connected with each other, nodes can be able in private clusters, grids or even in supercomputers. trusted and are very similar in terms of software and hard- ware. Therefore, solutions like HTCondor [24], Hadoop [25], To be successful, freeCycles must fulfill several key objectives. XtremWeb [11] and other similar computing platforms are of It must be capable of scaling up with the number of volun- no use to attain our goals. teers; it must be capable of collecting volunteers' resources such as CPU cycles, network bandwidth, and storage in an When we turn to VC platforms, we observe that most ex- efficient way; it must be able to tolerate byzantine and fail- isting solutions are built and optimized to run Bag-of-Tasks stop failures (which can be motivated by unreliable network applications. Therefore, solutions such as BOINC, GridBot connections, that are very common in large scale networks [22], Bayanihan [19] and many others [2, 20, 26, 5, 6, 17, such as the Internet). Finally, we require our solution to be 16, 21, 15] do not support the execution of MapReduce jobs, capable of supporting new parallel programming paradigms, which is one of our main requirements. in particular MapReduce, given its relevance for a large num- ber of applications. With respect to the few solutions [14, 23, 10, 8] that support MapReduce, we are able to point out some frequent prob- MapReduce applications commonly have two key features: lems. First, data distribution (input, intermediate, and final i) they depend on large amounts of information to run (for output) is done using naive techniques. Current solutions both input and output) and ii) may run for several cycles (as do not take advantage of task replication (that is essential to the original algorithm for page ranking). Therefore, in order avoid stragglers and to tolerate byzantine faults). Thus, even to take full advantage of the MapReduce paradigm, freeCy- thought multiple mappers have the same output, reducers cles must be capable of distributing large amounts of data still download intermediate data from one mapper only. The (namely input, intermediate and output data) very efficiently second problem is related to intermediate data availability. while allowing applications to perform several MapReduce It was shown [13] that if some mappers fail and intermediate cycles without compromising its scalability. data becomes unavailable, a MapReduce job can be delayed by 30% of the overall computing time. Current solutions In order to understand the challenges inherent to building a fail to prevent intermediate data from becoming unavailable. solution like freeCycles, it is important to note the difference The third problem comes from the lack of support for ap- between the main three computing environments: clusters, plications with more than one MapReduce cycle. Current grids, and volunteer pools. Clusters are composed by ded- solutions typically use a central data server to store all input icated computers so that every node has a fast connection and output data. Therefore, this central server is a bottle- with other nodes, node failure is low, nodes are very similar neck between every cycle (since the previous cycle needs to in hardware and software and all their resources are focused upload all output data and the next cycle needs to download on cluster jobs. The second computing environment is a grid. all the input data before starting). Grids may be created by aggregating desktop computers from universities, research labs or even companies. Computers In order to support the execution of programming paradigms have moderate to fast connection with each other and grids like MapReduce, that need large amounts of data to process, may be inter-connected to create larger grids; node failure new distribution techniques need to be employed. In conclu- is moderate, nodes are also similar in hardware and soft- sion, current VC solutions raise several issues that need to be ware but their resources are shared between user tasks and improved in order to be able to run efficiently new parallel grid jobs. At the end of the spectrum there are volunteer programming paradigms, MapReduce in particular, on large pools. Volunteer pools are made of regular desktop comput- volunteer pools. ers, owned by volunteers around the world. Volunteer nodes have variable Internet connection bandwidth, node churn is freeCycles is a BOINC-compatible VC platform that en- very high
Recommended publications
  • Analysis of Bittorrent Protocol and Its Effect on the Network ENSC 427: Final Project Report Spring 2011
    SIMON FRASER UNIVERSITY Analysis of BitTorrent Protocol and Its Effect on the Network ENSC 427: Final Project Report Spring 2011 Group 11 www.sfu.ca/~kna5/ensc427 Ken Kyoungwoo Nam 301046747 Kna5 @sfu.ca Yu Jie Xu 301083552 Xya14 @ sfu.ca Abstract The first version of the peer-to-peer file sharing protocol was invented in 1999, called Napster protocol. From then on, the application of peer-to-peer protocol has been widely spread in the internet. The advantage of the network with p2p protocol is that it needs much less server bandwidth compare to the basic client and server network. Moreover, in the p2p network, the client itself is the server, so they can communicate with each other without the central sever. Nowadays, there are two primary peer-to-peer file sharing protocol that dominate in the network: the Gnutella protocol and BitTorrent Protocol. In our project, we will focus on BitTorrent Protocol. To do this, we will create three different networks in OPNET, and investigate the network performance with and without BitTorrent nodes. 2 Table of contents 1. Introduction…………..……………………………………………………………......4 2. Theory……………...………………………………………………………………......4 2.1 Terminology and Definition…………………………………………………......5 2.2 Peer-to-Peer Protocol…………………………………………………………….5 2.3 BitTorrent Protocol………………………………………………………………6 2.4 BitTorrent Tracker………………………………………………………………7 2.5 Rarest Algorithm…………………………………………………………………8 2.6 Choke Algorithm…………………………………………………………………9 3. Implementation…...…………………………………………………………..……...10 3.1 Packet Formats………………………………………………………………….11 3.2 Normal Client and Server Node Models………………………………………11 3.3 Plain Peer-to-Peer Node Model……………………………………..…………12 3.4 BitTorrent Node Model……………………………………………………...…13 3.5 Building the Small Network……………………………………………………14 3.6 Building the Large Network…………………………………………………...15 4.
    [Show full text]
  • Asynchronous Covert Communication Using Bittorrent Trackers Mathieu Cunche, Mohamed Ali Kaafar, Roksana Boreli
    Asynchronous Covert Communication Using BitTorrent Trackers Mathieu Cunche, Mohamed Ali Kaafar, Roksana Boreli To cite this version: Mathieu Cunche, Mohamed Ali Kaafar, Roksana Boreli. Asynchronous Covert Communication Using BitTorrent Trackers. International Symposium on Cyberspace Safety and Security (CSS), Aug 2014, Paris, France. hal-01053147 HAL Id: hal-01053147 https://hal.inria.fr/hal-01053147 Submitted on 29 Jul 2014 HAL is a multi-disciplinary open access L’archive ouverte pluridisciplinaire HAL, est archive for the deposit and dissemination of sci- destinée au dépôt et à la diffusion de documents entific research documents, whether they are pub- scientifiques de niveau recherche, publiés ou non, lished or not. The documents may come from émanant des établissements d’enseignement et de teaching and research institutions in France or recherche français ou étrangers, des laboratoires abroad, or from public or private research centers. publics ou privés. Asynchronous Covert Communication Using BitTorrent Trackers Mathieu Cunche∗†, Mohamed-Ali Kaafar†‡, Roksana Boreli‡ †Inria, France ∗INSA-Lyon CITI, France ‡National ICT Australia fi[email protected][email protected] Abstract—Covert channels enable communicating parties to in a swarm (set of peers downloading and/or sharing a given exchange messages without being detected by an external ob- content). Our contributions are as follows. server. We propose a novel covert channel mechanism based We present a communication scheme that enables two on BitTorrent trackers. The proposed mechanism uses common HTTP commands, thus having the appearance of genuine web parties to perform a hidden exchange of information through traffic and consists of communications that are both indirect and the centralized BitTorrent tracker.
    [Show full text]
  • A Study of Peer-To-Peer Systems
    A Study of Peer-to-Peer Systems JIA, Lu A Thesis Submitted in Partial Fulfilment of the Requirements for the Degree of Master of Philosophy in Information Engineering The Chinese University of Hong Kong August 2009 Abstract of thesis entitled: A Study of Peer-to-Peer Systems Submitted by JIA, Lu for the degree of Master of Philosophy at The Chinese University of Hong Kong in June 2009 Peer-to-peer (P2P) systems have evolved rapidly and become immensely popular in Internet. Users in P2P systems can share resources with each other and in this way the server loading is reduced. P2P systems' good performance and scalability attract a lot of interest in the research community as well as in industry. Yet, P2P systems are very complicated systems. Building a P2P system requires carefully and repeatedly thinking and ex- amining architectural design issues. Instead of setting foot in all aspects of designing a P2P system, this thesis focuses on two things: analyzing reliability and performance of different tracker designs and studying a large-scale P2P file sharing system, Xun- lei. The "tracker" of a P2P system is used to lookup which peers hold (or partially hold) a given object. There are various designs for the tracker function, from a single-server tracker, to DHT- based (distributed hash table) serverless systems. In the first part of this thesis, we classify the different tracker designs, dis- cuss the different considerations for these designs, and provide simple models to evaluate the reliability of these designs. Xunlei is a new proprietary P2P file sharing protocol that has become very popular in China.
    [Show full text]
  • Predicting Software Piracy Rates, Bittorrent Tracker Hosting, and P2P File Sharing Client Downloads Between Countries
    Kigerl - Infringing Nations: Predicting Software Piracy Rates, BitTorrent Tracker Hosting, and P2P File Sharing Client Downloads Between Countries Copyright © 2013 International Journal of Cyber Criminology (IJCC) ISSN: 0974 – 2891 January – June 2013, Vol 7 (1): 62–80 This is an Open Access paper distributed under the terms of the Creative Commons Attribution-Non- Commercial-Share Alike License, which permits unrestricted non-commercial use, distribution, and reproduction in any medium, provided the original work is properly cited. This license does not permit commercial exploitation or the creation of derivative works without specific permission. Infringing Nations: Predicting Software Piracy Rates, BitTorrent Tracker Hosting, and P2P File Sharing Client Downloads Between Countries Alex C. Kigerl1 Washington State University, United States of America Abstract This study sought to investigate the predictors of digital piracy at the national level. The bulk of previous research on this subject has relied almost exclusively on measures of piracy taken from reports created by copyright industry representatives, which may not be objective sources. For this research, two new measures of piracy related activity in addition to the usual software piracy rate and software piracy cost measures were used. The number of BitTorrent tracking servers and the number of peer- to-peer file sharing client downloads per country were measured. It was determined that these new measures tended to have predictors that were different than the standard software piracy rates. Additionally, it appeared that measuring piracy as a rate relative to legal purchases had the opposite effect than when measuring piracy in absolute terms (such as the absolute number of BitTorrent trackers and absolute dollar amount lost due to piracy).
    [Show full text]
  • TI3800 Bachelorproject
    TI3800 Bachelorproject Android Tor Tribler Tunneling Final Report Authors: Supervisor: Rolf Jagerman Dr. Ir. Johan Pouwelse Laurens Versluis Project coach: Martijn de Vos Ir. Egbert Bouman June 23, 2014 Abstract Tribler is a decentralized peer-to-peer file sharing system. Recently the Tribler development team has introduced anonymous internet communication using a Tor-like protocol in their trial version. The goal of our bachelor project is to port this technology to Android devices. This is a challenging task because cross-compiling the necessary libraries to the ARM CPU architecture is uncharted territory. We have successfully ported all dependencies of Tribler to Android. An application called Android Tor Tribler Tunneling (AT3) has been developed that tests whether these libraries work. This application downloads a test torrent and measures information such as CPU usage and download speed. Based on this information we have concluded that it is currently not viable to run the anonymous tunnels on an Android smartphone. Creating circuits with several hops that use encryption is very computationally expensive and modern smartphones can hardly keep up. By using optimized cryptographic libraries such as gmp or with the recently announced ARMv8 architecture which supports hardware-accelerated AES encryption, creating such circuits might become possible. Preface This document describes the bachelor project we performed at the TU Delft. Without the help of certain people at the TU Delft (and outside), this project would not be possible. In particular, we would like to thank the following people: Johan Pouwelse, for his excellent guidance, deep insights and feedback. The Tribler team, for always being able to help us with problems and questions.
    [Show full text]
  • Credits in Bittorrent: Designing Prospecting and Investments Functions
    Credits in BitTorrent: designing prospecting and investments functions Ardhi Putra Pratama Hartono Credits in BitTorrent: designing prospecting and investment functions Master’s Thesis in Computer Science Parallel and Distributed Systems group Faculty of Electrical Engineering, Mathematics, and Computer Science Delft University of Technology Ardhi Putra Pratama Hartono March 17, 2017 Author Ardhi Putra Pratama Hartono Title Credits in BitTorrent: designing prospecting and investment functions MSc presentation Snijderzaal, LB01.010 EEMCS, Delft 16:00 - 17:30, March 24, 2017 Graduation Committee Prof. Dr. Ir. J.A. Pouwelse (supervisor) Delft University of Technology Prof. Dr. Ir. S. Hamdioui Delft University of Technology Dr. Ir. C. Hauff Delft University of Technology Abstract One of the cause of slow download speed in the BitTorrent community is the existence of freeriders. The credit system, as one of the most widely implemented incentive mechanisms, is designed to tackle this issue. However, in some cases, gaining credit efficiently is difficult. Moreover, the supply and demand misalign- ment in swarms can result in performance deficiency. As an answer to this issue, we introduce a credit mining system, an autonomous system to download pieces from selected swarms in order to gain a high upload ratio. Our main work is to develop a credit mining system. Specifically, we focused on an algorithm to invest the credit in swarms. This is composed of two stages: prospecting and mining. In prospecting, swarm information is extensively col- lected and then filtered. In mining, swarms are sorted by their potential and then selected. We also propose a scoring policy as a method to quantify swarms with a numerical score.
    [Show full text]
  • Master's Thesis
    MASTER'S THESIS Analysis of UDP-based Reliable Transport using Network Emulation Andreas Vernersson 2015 Master of Science in Engineering Technology Computer Science and Engineering Luleå University of Technology Department of Computer Science, Electrical and Space Engineering Abstract The TCP protocol is the foundation of the Internet of yesterday and today. In most cases it simply works and is both robust and versatile. However, in recent years there has been a renewed interest in building new reliable transport protocols based on UDP to handle certain problems and situations better, such as head-of-line blocking and IP address changes. The first part of the thesis starts with a study of a few existing reliable UDP-based transport protocols, SCTP which can also be used natively on IP, QUIC and uTP, to see what they can offer and how they work, in terms of features and underlying mechanisms. The second part consists of performance and congestion tests of QUIC and uTP imple- mentations. The emulation framework Mininet was used to perform these tests using controllable network properties. While easy to get started with, a number of issues were found in Mininet that had to be resolved to improve the accuracy of emulation. The tests of QUIC have shown performance improvements since a similar test in 2013 by Connectify, while new tests have identified specific areas that might require further analysis such as QUIC’s fairness to TCP and performance impact of delay jitter. The tests of two different uTP implementations have shown that they are very similar, but also a few differences such as slow-start growth and back-off handling.
    [Show full text]
  • Torrent Crawler: a Tool for Collecting Information from Bittorrent Networks
    Torrent Crawler: a tool for collecting information from BitTorrent networks Yeounoh Chung 1. Abstract structure and the unpredictability of the clients can cause problems in the network, making errors BitTorrent is a free peer-to-peer (P2P) difficult to detect and diagnosis. The reliance of a content-sharing application with a complex and node on node local views to maintain the overlay dynamic overlay structure due to loose coupling, high structure further compounds the problem. Defects or churn rate, and varying responsiveness of nodes. The anomalies such as partitioning in the overlay or load complexity and the dynamic nature of the overlay imbalance due to biased peer selection are structure can mask the problems in the network, undetectable without partial global information and a making errors difficult to detect and diagnosis in a good understanding of the various characteristics and timely manner. Furthermore, the heavy reliance of dynamic behaviors of the network. However, such an clients on the node local views compounds the understanding was often times missing or incorrectly problems such as partitioning in the network or load obtained from non-representative measurement imbalance due to biased peer selection. studies, in which a few instrumented clients were In an effort to provide the network with used to capture the desired properties. partial global information to resolve the network Collecting representative global information problems, this project looks into introducing a tool such as peer’s download rate, known neighboring that efficiently collects global information from peers, and the network’s churn rate, from the BitTorrent network. The tool, called Torrent Crawler complex and dynamic BitTorrent network is not (TC) uses a number of techniques to efficiently find simple.
    [Show full text]
  • Niv Sardi-Altivanik Floss Arquitect
    NIV SARDI-ALTIVANIK FLOSS ARQUITECT LINKEDIN TWITTER GITHUB https://www.linkedin.com @xaiki https://github.com/xaiki /in/xaiki/ EMAIL TELEFONO [email protected] +54 911 5596 6800 Formed as a Mathematician I’ve been working as a Free Software Developer for the last 15 years, following a path that brought me deep technical knowledge, precise leading skills and a proven experience in the world of politics. Passionate and details-conscious, I am excited to foster the very best of technology and human capacity into tools we need to steer the world into a more liveable place. EDUCATION SKILLS UNIVERSITÉ DENIS DIDEROT PARIS VII PARIS HUMAN LANGUAGES 2004_2007 owning the diplomatariat Spanish ★★★ Maths and Computer Science Masters 2007 lengua materna Université Denis Diderot: Maitrise de Mathematiques et d’Informatique Project : MiniOCaML interpreter (CaML) ★★★ Research: Big Social Networks Topology — using Graph Theory to French lengua paterna analyze online comunities (Perl & C) 2005 Maths and Computer Science Bachelor English ★★★ Université Denis Diderot: Licence de Mathematiques et d’informatique 2 años de vida en Australia Project: Su�x Arrays, Algorithms, Analysis and Implementation (C) Portuguese ★★☆ lived and worked 9 months in Brazil LATEST WORK EXPERIENCE PRESIDENCIA DE LA NACION: TECHNOLOGY ARCHITECT MANAGEMENT 2019 BUENOSAIRES I took part of the intervention of a sector of the Presidencial o�ce. My role was to ensure a smooth operation of the IT infrastructure SCRUM/Agile ★★★ during the intervention, and to sta� and direct 3 National Directors roles. The intervention went on with 99% availability, we’ve set up plans that are currently beeing executed to reduce cost and enhance reliability of all Arquitecture ★★★ services and software platforms.
    [Show full text]
  • A Week in the Life of the Most Popular Bittorrent Swarms
    A Week in the Life of the Most Popular BitTorrent Swarms Mark Scanlon, Alan Hannaway and Mohand-Tahar Kechadi 1 UCD Centre for Cybercrime Investigation, School of Computer Science & Informatics, University College Dublin, Belfield, Dublin 4, Ireland {mark.scanlon, alan.hannaway, tahar.kechadi}@ucd.ie AbstractThe popularity of peer-to-peer (P2P) file distribution is c material, which typically commences with a single source sharing large sized files to many downloaders. networks lend themselves well to the unauthorised distribution of To commence the download of the content in a particular copyrighted material due to their ease of use, the abundance of - material available and the apparent anonymity awarded to the downloaders. This paper presents the results of an investigation loaded from an indexing website. This file is then opened conducted on the top 100 most popular BitTorrent swarms over using a BitTorrent client, which proceeds to connect to several the course of one week. The purpose of this investigation is to members of the swarm and download the content. Each quantify the scale of unauthorised distribution of copyrighted BitTorrent swarm is built around a particular piece of content material through the use of the BitTorrent protocol. Each IP which is determined through a unique identifier based on a address, which was discovered over the period of the weeklong SHA-1 hash of the file information contained in this UTF- 8 investigation, is mapped through the use of a geolocation encoded metadata file, e.g., name, piece length, piece hash database, which results in the ability to determine where the values, length and path.
    [Show full text]
  • Deluge-2.0.3
    deluge Documentation Release 2.0.3 Deluge Team June 12, 2019 CONTENTS 1 Contents 1 1.1 Getting started with Deluge.......................................1 1.2 How-to guides..............................................2 1.3 Release notes...............................................3 1.4 Development & community.......................................6 1.5 Development guide............................................ 11 1.6 Reference................................................. 21 i ii CHAPTER ONE CONTENTS 1.1 Getting started with Deluge This is a starting point if you are new to Deluge where we will walk you through getting up and running with our BitTorrent client. 1.1.1 Installing Deluge These are the instructions for installing Deluge. Consider them a work-in-progress and feel free to make suggestions for improvement. Ubuntu PPA Until the stable PPA is updated, the development version of Deluge can be used: sudo add-apt-repository-u ppa:deluge-team/stable sudo apt install deluge PyPi To install from Python PyPi, Deluge requires the following system installed packages: sudo apt install python3-pip python3-libtorrent python3-gi python3-gi-cairo gir1.2- ,!gtk-3.0 gir1.2-appindicator3 Install with pip: pip install deluge Windows Unfortuately due to move to GTK3 and Python 3 there is no installer package currently available for Windows. Intrepid users can install Deluge from seperate packages as detailed in issue #3201. 1 deluge Documentation, Release 2.0.3 macOS There is no .app package currently for macOS, but can try Deluge with homebrew. 1. Install Homebrew 2. Open a terminal. 3. Run the following to install required packages: brew install pygobject3 gtk+3 adwaita-icon-theme brew install libtorrent-rasterbar 4. To fix translations: brew link gettext--force 5.
    [Show full text]
  • 1 Tribler 3 1.1 Obtaining the Latest Release
    Tribler Documentation Release 7.5.0 Tribler devs Jan 29, 2021 CONTENTS 1 Tribler 3 1.1 Obtaining the latest release........................................3 1.2 Obtaining support............................................3 1.3 Contributing...............................................3 1.4 Packaging Tribler.............................................4 1.5 Submodule notes.............................................4 2 How to contribute to the Tribler project?5 2.1 Checking out the Stabilization Branch..................................5 2.2 Reporting bugs..............................................5 2.3 Pull requests...............................................6 3 Branching model and development methodology7 3.1 Branching model.............................................7 3.2 Release lifecycle.............................................7 3.3 Tags....................................................8 3.4 Setting up the local repo.........................................8 3.5 Working on new features or fixes....................................8 3.6 Getting your changes merged upstream.................................9 3.7 Misc guidelines.............................................. 10 4 Setting up your development environment 11 4.1 Windows................................................. 11 4.2 MacOS.................................................. 13 4.3 Linux................................................... 15 5 Building Tribler 17 5.1 Windows................................................. 17 5.2 MacOS.................................................
    [Show full text]