add notes

David Anderson 2024-01-10 17:30:54 -08:00
parent 1129181cb6
commit 1777bbb3b8
1 changed files with 123 additions and 0 deletions

123
notes Normal file

@ -0,0 +1,123 @@
AdminInstallerUnix
CompileAppLinux
CompileAppWin
BuildMacApp
CompileClient
FileList
ServerIntro
SoftwareBuilding
nothing links to this
BuildSystem
CompileApp
SoftwarePrereqsUnix
CompileWithWxWidgets
----------------
top-level doc (SoftwareBuilding)
the BOINC software consists of several parts:
- server
- client software (client, Manager, boinccmd)
- Application library (API)
Each of these parts can be built
for different platforms (e.g. Win, Mac, Linux, Android).
Depending on your goals, you probably need just a subset of these.
For example, if you're developing a BOINC project,
you might want to build the server software for Linux,
and the API software for Win, Mac, and Linux.
Application library
(Note: if you use the Wrapper or VirtualBox,
you don't need to build anything;
you can use pre-built executables)
Win -> CompileAppWin
Linux -> CompileAppLinux
Mac -> BuildMacApp
Android -> AndroidBuildApp
Server
linux -> BuildSystem
Client
Win
Linux -> BuildSystem
Mac -> MacBuild
Android
====================
doc big picture
Intro docs
(base-case examples w/ cookbooks; pictures; videos where feasible)
Introduction to BOINC
What BOINC is; why use it; volunteer computing
client/server: projects, worker nodes
role of UCB
features
The structure of BOINC
projects, attachments, account managers
Science United, BOINC Central
role of UCB
cookbook: server setup
Introduction to BOINC applications
apps and app versions
plan classes
files; dir structure
process structure
BOINC API, communication
packaging options
native, wrapper, VM
cookbook: vbox app
Introduction to job processing
failures and errors
replication
files
upload/download hierarchies
file checksums
file staging
means moved/copied to hierarchy
don't need to md5; that's done by create_work
(process_input_template())
batches
ownership
pipeline components
work generator
validators
assimilators
C++ and Python
job submission
on server
work generators
web interface
remote
Python binding
cookbook: job processing
python scripts:
work generator
makes a job for each file in a dir
use create_work
makes a batch
validator (use script_validator)
make sure file is UC
compare 2 files
assimilator (use script_assimilator)
move output file to a dir
web interface for batch status
Making a production BOINC server
domain name
SSL
code signing
software upgrade
log files
backups
get listed
Science United
web site:
content
forums
spam control
-----------------------------
detailed docs
Handling completed jobs (assimilation)
Standard assimilators
Assimilators in scripting languages (Python, PHP, etc.)
Assimilators in C++