Architecture
============

This section provides a quick review of the F@H software architecture.

|Folding@home software architecture overview|

These are the main software components:

- The **client** which users install on their home computers communicates
  with the AS and WS.

- The Assignment Server or **AS** which assigns clients IDs and assigns
  clients to WS.

- The Work Servers or **WS** which assign clients a Work Unit or **WU**.

- The Collection Servers or **CS** which act as alternative upload sites for
  clients in case the WS is no longer reachable. The CS uses the same
  software as the WS and will forward WU results to the WS when it comes back
  online.

- The simulation **cores** which clients download based on the requirements
  specified in a WU.

- The **stats** system which communicates with WS and CS to keep track of
  points earned by users and teams as well as other interesting statistics
  of the F@H system.

- **Web Services** provide some additional functionality such as the project
  description editor, GPUs.txt editor, team and user management and public
  stats.

.. |Folding@home software architecture overview| image:: static/fah-arch-overview.png