[[PageOutline]] = BOINC Design Documents = == Design docs for current development == * [wiki:Reduce_usage_of_authenticator Reduce use of authenticator] * BOINC on Android * [wiki:AndroidGuiDiscuss GUI discussion] * [wiki:AndroidBoincTodo GUI development items] * [wiki:AndroidBoincImpl Current implementation] * [wiki:AndroidBuildApp Building apps] * [wiki:AndroidBoinc Original planning document] == Design docs for proposed development == * [WinMulticore Supporting Windows hosts with > 64 cores] * [CreditGeneralized Generalized credit] * [UploadStatistics Maintaining upload statistics] * [LocalityNew Locality scheduling redesign] * [OpenId Support for OpenID] * [wiki:Prefs2 Computing preferences version 2] * [GpuSync support for synchronous GPU apps] * [WindowsIssues Windows Issues] == Design docs for completed development == * [WorkFetchMaxConcurrent Work fetch with max concurrent constraints] * [wiki:DesignKeywords Keywords] * [wiki:SimpleAttach Simplified attach process] * [EmailChangeNotification Email Change Notification] * [RightToErasure Delete Account] * [UserOptInConsent User Opt-in Consent] * [PasswordHash Update Password Hashing] * [PrefsUnification Unifying Web and GUI Prefs] * [ManagerMenus Manager menu reorganization] * [PortalFeatures Scheduling for multi-user projects] * [JobPrioritization Job prioritization] == Implementation notes == === Client: general === * [wiki:ClientDataModel Client data model] * [wiki:ClientFiles File structure] * [wiki:ClientFsm FSM structure] * [wiki:ClientLogic Main loop logic] * [wiki:HostMeasurement Host measurements] * [wiki:HostId Host identification] * [wiki:MemoryManagement Memory management] * [wiki:Notifications GUI notices] * [wiki:ClientAppConfig Client app configuration] === Client: scheduling === * [wiki:ClientSched Client scheduling policies] === Client: packaging === * [//sandbox_design.php Sandbox implementation] * [wiki:ClientSetupLogicWin Windows installer (V5)] * [wiki:UnixClientPackage Client package layout for Unix] * [wiki:ClientSetupWinSix Version 6 Windows installer, design] * [wiki:ClientSetupLogicWinSix Version 6 Windows installer, implementation] * [wiki:UnixClientPackage Unix client packaging] * [wiki:RpmSpec Spec info for RPMs] === Client: screensaver === * [wiki:ScreensaverEnhancements Screensaver enhancements] === Client: Manager === * [wiki:ManagerImpl BOINC Manager] * [wiki:ProjectSelect Redesign of Choose Project page] === Server: general === * [wiki:JobSizeMatching Job size matching] * [wiki:MultiUser Multi-user project features] * [wiki:RemoteJobs APIs for remote job submission] * [wiki:HomogeneousAppVersion Homogeneous app version] * [wiki:RuntimeEstimation job runtime estimation] * [wiki:CreditNew Credit system as of 5/2010] * [wiki:DataBase The BOINC database] * [wiki:BackendState Backend state transitions] * [wiki:BackendLogic The logic of backend programs] * [wiki:ServerDebug Debugging server components] * [wiki:ServerSecurity Notes on BOINC server security] * [wiki:DbDump Export statistics for 3rd-party sites] * [wiki:SingleJobImpl Single-job submission] * [wiki:AdaptiveReplication Adaptive replication] * [wiki:ValidationLowLevel Low-level validator framework] === Server: scheduler === * [wiki:SchedMatch Scheduler job matchmaking] === Server: Packaging === * [wiki:UnixProjectPackage Unix project packaging] === PHP code (web pages and RPCs) === * [wiki:PhpDb PHP database abstraction layer] * [wiki:StyleSheets Style Sheets] === Protocols === * [wiki:CommIntro Protocol overview] * [wiki:RpcProtocol The scheduling server protocol] * [wiki:RpcPolicy Scheduling server timing and retry policies] * [wiki:FileUpload Data server protocol] * [wiki:PersFileXfer Persistent file transfers] * [wiki:XmlNotes XML notes] === Simulation === * [http://boinc.berkeley.edu/dev/sim_web.php The BOINC Client Emulator] * [http://gcl.cis.udel.edu/projects/emboinc/index.php EmBoinc BOINC server emulator] === Source code documentation (in progress) === * [//doxygen/api/html/index.html API] * [//doxygen/client/html/index.html Client] * [//doxygen/manager/html/index.html Manager] * [//doxygen/server/html/index.html Server components] * [//doxygen/web/html/index.html PHP code] === Miscellaneous === * [wiki:VolunteerDataArchival Volunteer data archival] * [wiki:CondorBoinc BOINC/Condor integration] * [wiki:LowLatency Low latency computing] * [wiki:CreditProposal Credit system proposal] * [wiki:OrgGrid Organizational Grid Management] * [wiki:PythonAppDev Python-based simplified app development] * [wiki:PythonMw Python master/worker system] * [wiki:CrossProjectUserId Cross-project user identification] * [//loc_sim/ Simulator of a project using locality scheduling] * [wiki:PrefsImpl Preferences] * [wiki:TrickleImpl Trickle messages] * [wiki:VersionDiff How to see what has changed between two versions of an executable] * [wiki:XmlFormat XML formats] * [wiki:DiagnosticsApi Diagnostics API] * [Proposal/ProjectSimpleAccountCreation Simple Account Creation] * [wiki:BOINConPhones BOINC on Phones] == Historical == Design docs for old versions, or for ideas that never happened. * [WebTemplateProposal rewrite of HTML code using a Web Template Engine] * [PrefsRemodel Remodel of computing prefs] * [wiki:VmApps Virtual machine apps (deprecated)] * [wiki:ClientSchedOld Old client scheduling policies] * [wiki:ClientSchedOctTen Client scheduling changes] * [wiki:GpuSched Client CPU/GPU scheduling] * [wiki:GpuWorkFetch Work fetch and GPUs] * [wiki:AutoUpdate Automatic update] * [wiki:AutoFlops Automated estimation of job characteristics] * [wiki:PythonFramework Python testing framework] * [//api_v4.php Version 4 runtime system] * [//mac_intel.php Mac/Intel plan] * [//mac_devgroup.php Old Mac project plan] * [//new_setup.php Design of version 5 setup] * [//menubar.php Mac Menubar] * [//suggestions.php Usability discussion] * [wiki:ScreensaverLogic Screensaver logic]