RT-BOINC stands for a Real-Time BOINC
It was designed for managing highly-interactive, short-term, and massively-parallel
real-time applications. We designed and implemented RT-BOINC on top of BOINC server source codes.
Contact information: Sangho Yi and Derrick Kondo
** Note: We are looking for
sponsors on this project.
The original BOINC uses both PHP and C codes to retrieve the main MySQL database,
because the main interface between BOINC server and hosts is CGI-web.
When a user wants to create account, it goes to create_account.php, and the PHP codes
retrieve if the account is already existing in MySQL database (select * from user where ... SQL).
Then, the PHP codes make a new account on the database.
However, in RT-BOINC, we don't use the MySQL database, but use the shared memory segment IPC. For this reason, we modified several PHP codes which are essential for workunit distribution and reporting.
Using exec() and system() style 'command execution' function in PHP codes:
We modified PHP codes to execute the native programs written in C language.
- in html/user/create_account.php, and html/user/lookup_account.php
- in some other PHP code files also
Implementing native programs for retrieving the 'shared memory segment':
We implemented new native program codes in C language for each PHP action. By doing this, RT-BOINC can support 'on-the-web' queries without problems.
- in sched/php_create_account.cpp, sched/php_lookup_account.cpp
Notes for developers:
We still have to modify the non-essential PHP codes. It's not a big deal, but a time-consuming work.
Unofficial BOINC Wiki
World Community Grid