Skip to content
Snippets Groups Projects
Select Git revision
  • 37535d48e96a47efd29f72d90d0f8c8016d37bf5
  • master default protected
  • fix_Makefile.mingw#2
  • update_Makefile.mingw
  • fix_Makefile.mingw
  • fix_API_for_C_apps
  • fix_procinfo_mac
  • boinccmd_gpu_mode_always_until_sigterm
  • fgrp_osx_hotfix
  • fix_boinc_master@f8250782
  • eah_wrapper_improvements
  • diagnostics_win-hotfix
  • diagnostics_win-hotfix-old
  • current_fgrp_apps
  • testing_gw_apps
  • gw_app_darwin_15
  • current_brp_apps
  • current_brp_apps_android10
  • current_gfx_apps
  • current_server
  • current_gw_apps
  • previous_fgrp_apps
  • previous_gw_apps
  • testing_brp_apps
  • apps_FGRP3_1.07
  • apps_FGRP3_1.08
26 results

notes

Blame
  • notes 9.69 KiB
    Abstractions
    
    --------------------
    Client files
    two main files:
    
    prefs.xml
        user preferences.
        includes list of projects; for each:
            master URL
            authenticator
            project-specific prefs
            resource share
        prefs mod time
    
    client_state.xml
        hostid
        per-project info
            list of sched servers for project
            project name
            hostid
            next_request_time
            rpc_seqno (specific to this host)
            work info
        files, WUs, results etc.
    
    NOTES
    - On startup, if there's no prefs.xml, the client prompts
      for a master URL and authenticator,
      and creates an initial prefs.xml with a zero mod time
      (so that any web-created prefs file will override)
    - We need to safeguard against a buggy scheduling server
      sending back an incomplete or empty prefs file.
      Suggestions:
        1) verify that at least the responding project is present in the prefs;
           (or contain at least 1 project)
        2) back up the old prefs file (prefs.xml.date)
    - prefs.xml has priority over client_state.xml
      If there's a project in prefs with no counterpart in client_state,
      a new entry in client_state is created.
      Entries in client_state absent from prefs are deleted.
    
    - to "clone" an installation on a new computer,
      just need to copy the core client (or run the installer)
      then copy the account.xml file.
    
    - a scheduler request can specify that no client_state.xml
      was found, so a new host record should be created.
    
    --------------------
    When does client contact scheduling server?
    Each result has a max notification delay,
    so when a client completes it there's a deadline for notification.
    
    Contact a scheduling server if:
    - you're below the low-water mark in work for that project,
      or you have a result past its deadline
    - AND there's no delay in effect for that project.
        A delay may be explicitly returned by the scheduling server,
        or may be because of exponential backoff after failed attempts.
    --------------------
    Given that we can estimate the time it will take to get back
    a result from a given host, it might be possible to assign
    deadlines to results, and only send them to hosts that are fast enough
    --------------------
    Client logging
    write events to log file:
        start/stop client
        start/finish file xfer
        start/finish application execution