Host Identification and Merging

From Unofficial BOINC Wiki

Jump to: navigation, search

Contents

[edit] Host Identification

Not all systems have an application-readable globally unique IDs, so we use a different approach to Host identification. When a Host first contacts the Scheduling Server it is assigned a Host ID. The Scheduling Server also maintains an RPC Sequence Number for each Host. Both the Host ID and the RPC Sequence Number are stored in the client's client_state.xml file.

If the Scheduling Server receives an RPC with a RPC Sequence Number less than the expected sequence number, it creates a new Host Record in the BOINC Database. (This might happen, for example, if a Participant copies the client_state.xml file between Hosts.)

[edit] Merging Duplicate Host Records

This mechanism can lead to situations where the BOINC Database has multiple Host Records for a single Host. For example, this will occur if the Participant deletes the client_state.xml file.

The Participant can merge these duplicates to a single record using the "Merge Hosts" command on the Project's Web Site.

Other actions can also give rise to multiple Host IDs, including:

  • Detaching and re-attaching to a Project.
  • Running a new Version of the BOINC Client Software that changes the way that CPU names are identified. (cannot be merged)
  • Adding a service pack update to Microsoft Windows®. (cannot be merged)
  • Adding an additional Operating System to the computer and using multi-boot (e.g.: Microsoft Windows® and Linux).
  • An update to the BIOS that changes the CPU identification. (cannot be merged)
  • Extreme Over-Clocking that the CPU is mis-identified. (cannot be merged)
  • Attempting to run the BOINC Client Software in Windows 2000® mode under Microsoft Windows XP®
  • Significant changes to the computer's hardware configuration (CPU chip, adding Physical Memory, etc.) (cannot be merged)

[edit] UCB Source

[edit] Copyright ©

  • 2005 University of California
  • 2005 Paul D. Buck

Permission is granted to copy, distribute and/or modify this document under the terms of the GNU Free Documentation License, Version 1.2 or any later version published by the Free Software Foundation.

Personal tools