Trisha Shetty (Editor)

Berkeley Open Infrastructure for Network Computing

Updated on
Edit
Like
Comment
Share on FacebookTweet on TwitterShare on LinkedInShare on Reddit
Repository
  
github.com/BOINC/boinc

Development status
  
Active

Berkeley Open Infrastructure for Network Computing

Developer(s)
  
University of California, Berkeley

Initial release
  
10 April 2002; 14 years ago (2002-04-10)

Stable release
  
7.6.33 / 8 December 2016; 2 months ago (2016-12-08)

Written in
  
C++ (client/server) PHP (project CMS) Java (Android client)

The Berkeley Open Infrastructure for Network Computing (BOINC, pronounced /bɔɪŋk/ - rhymes with "oink"), an open-source middleware system, supports volunteer and grid computing. Originally developed to support the SETI@home project, it became generalized as a platform for other distributed applications in areas as diverse as mathematics, linguistics, medicine, molecular biology, climatology, environmental science, and astrophysics, among others. BOINC aims to enable researchers to tap into the enormous processing resources of multiple personal computers around the world.

Contents

BOINC development originated with a team based at the Space Sciences Laboratory (SSL) at the University of California, Berkeley and led by David Anderson, who also leads SETI@home. As a high-performance distributed computing platform, BOINC brings together about 311,742 active participants and 834,343 active computers (hosts) worldwide processing on average 16.912 PetaFLOPS as of 13 January 2017. The National Science Foundation (NSF) funds BOINC through awards SCI/0221529, SCI/0438443 and SCI/0721124. Guinness World Records ranks BOINC as the largest computing grid in the world.

BOINC code runs on various operating systems, including Microsoft Windows, macOS, Android, Linux and FreeBSD. BOINC is free software released under the terms of the GNU Lesser General Public License (LGPL).

History

BOINC was originally developed to manage the SETI@home project.

The original SETI client was a non-BOINC software exclusively for SETI@home. As one of the first volunteer grid computing projects, it was not designed with a high level of security. As a result, some participants in the project attempted to cheat the project to gain "credits", while some others submitted entirely falsified work. BOINC was designed, in part, to combat these security breaches.

The BOINC project started in February 2002, and the first version was released on April 10, 2002. The first BOINC-based project was Predictor@home launched on June 9, 2004. In 2009, AQUA@home deployed multi-threaded CPU applications for the first time, followed by the first OpenCL application in 2010.

As of January 2016, 58 BOINC projects are active.

Design and structure

In essence, BOINC is software that can use the unused CPU and GPU cycles on a computer to do scientific computing—what one individual does not use of his/her computer, BOINC uses. In late 2008, BOINC's official website announced that NVIDIA had developed a system called CUDA that uses GPUs for scientific computing. With NVIDIA's assistance, some BOINC-based projects (e.g., SETI@home, MilkyWay@home) now have applications that run on NVIDIA GPUs using CUDA. Beginning in October 2009, BOINC added support for the ATI/AMD family of GPUs also. These applications run from 2× to 10× faster than the former CPU-only versions. In 7.x preview versions, GPU support (via OpenCL) was added for computers using Mac OS X with AMD Radeon graphic cards.

BOINC consists of a server system and client software that communicate with each other to distribute and process work units and return the results.

User interfaces

BOINC can be controlled remotely by remote procedure calls (RPC), from the command line, and from the BOINC Account Manager.

BOINC Manager currently has two "views": the Advanced View and the Simplified GUI. The Grid View was removed in the 6.6.x clients as it was redundant.

The appearance (skin) of the Simplified GUI is user-customizable, in that users can create their own designs.

Account managers

A BOINC Account Manager is an application that manages multiple BOINC project accounts across multiple computers (CPUs) and operating systems. Account managers were designed for people who are new to BOINC or have several computers participating in several projects. The account manager concept was conceived and developed jointly by GridRepublic and BOINC. Current account managers include:

  • BAM! (BOINC Account Manager) (The first publicly available Account Manager, released for public use on May 30, 2006)
  • GridRepublic (Follows the idea of keep it simple and keep it neat when it comes to account management)
  • Charity Engine (Non-profit account manager for hire, uses prize draws and continuous charity fundraising to motivate people to join the grid)
  • Dazzler (Opensource Account Manager, to ease management institutional resources)
  • Credit system

    The BOINC Credit System is designed to avoid cheating by validating results before granting credit.

  • A credit management system helps to ensure that users are returning results which are both scientifically and statistically accurate.
  • Online distributed computing is almost entirely a volunteer endeavor. For this reason, projects are dependent on a complicated and variable mix of new users, long-term users, and retiring users.
  • BOINC projects

    There are about 60 projects currently listed, of which about half yield published reports. The licensing of the projects varies.

    Gridcoin

    Since 2013, cryptocurrency Gridcoin has been associated with BOINC as a remunerative coin. Gridcoin uses a modified proof-of-stake timestamping system called proof-of-research to reward participants for computational work completed on BOINC.

    References

    Berkeley Open Infrastructure for Network Computing Wikipedia