-
Notifications
You must be signed in to change notification settings - Fork 443
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Client: add sporadic app feature #5385
Conversation
- call sporadic init and poll functions - add sporadic_debug log flag - finish sporadic test app (samples/sporadic/sporadic.cpp) - sporadic jobs are always run (like NCI) - projects can now have a mix of regular, non CPU intensive, and sporadic apps. This mix can change over time. Because of this, there is longer a project-wide NCI flag. Projects have to tag individual apps as NCI. I don't think this affects any current projects. - fix potential timing problem in client/app comm by introducing 2.5 sec 'ignore_until' period - API: fix bug in parsing hearbeats - Add member functions of RESULT, ACTIVE_TASK etc. so you can get APP attributes like cpu_intensive, sporadic etc. without traversing pointers - --app_test feature: put init_data.xml in slots/app_test, otherwise app will run in standalone mode
but not tested. - Add code to SPORADIC_RESOURCES to check and reserve coprocs - Subtract sporadic resources before scheduling regular jobs - Move SPORADIC_RESOURCES to coproc_sched.h, making it visible to other code - Change 'have_sporadic' to 'have_sporadic_app'; we use the word 'sporadic' for network connections too
@davidpanderson, currently the build is broken for Windows because of the new file added. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This is far outside my area of expertise so I don't feel I can review it other than to say that it builds without warnings or errors on my Mac.
The new code for sporadic apps never gets called
unless there are sporadic apps; this should be easy to check.
So it shouldn't break anything.
We can't fully debug it until we have a real sporadic app;
the distributed AI people will hopefully have one soon.
…-- D
On Wed, Oct 4, 2023 at 4:26 AM CharlieFenton ***@***.***> wrote:
***@***.**** approved this pull request.
This is far outside my area of expertise so I don't feel I can review it
other than to say that it builds without warnings or errors on my Mac.
—
Reply to this email directly, view it on GitHub
<#5385 (review)>,
or unsubscribe
<https://github.com/notifications/unsubscribe-auth/AAHQVAKBBLJBOTPZRQV32VDX5VBX5AVCNFSM6AAAAAA5RS3W26VHI2DSMVQWIX3LMV43YUDVNRWFEZLROVSXG5CSMV3GSZLXHMYTMNJXGMYDAMBSGI>
.
You are receiving this because you were mentioned.Message ID:
***@***.***>
|
Codecov Report
Additional details and impacted files@@ Coverage Diff @@
## master #5385 +/- ##
============================================
- Coverage 10.87% 10.86% -0.01%
Complexity 1068 1068
============================================
Files 279 279
Lines 36061 36073 +12
Branches 8335 8339 +4
============================================
Hits 3920 3920
- Misses 31747 31759 +12
Partials 394 394
|
Signed-off-by: Vitalii Koshura <lestat.de.lionkur@gmail.com>
I have added this new app to the Windows MSVC project. |
Signed-off-by: Vitalii Koshura <lestat.de.lionkur@gmail.com>
My understanding is that this is not actually a sample / example but a test application. It is unclear how it is to be used. Perhaps @davidpanderson can clarify this. |
@CharlieFenton, I got a different impression. But I might be wrong here, of course |
Signed-off-by: Vitalii Koshura <lestat.de.lionkur@gmail.com>
@CharlieFenton, we have most of our samples built on the CI for MacOS. |
The first line of samples/sporadic/sporadic.cpp is |
The apps in samples/ have various purposes. |
Wouldn't it be more appropriate for the test apps to be in the tests directory rather than samples? |
'Tests' directory usually contains unit/integration/module tests. |
On the Mac we build the example_app (uppercase, uppercase graphics & slideshow), VBoxWrapper, wrapper, OpenCLApp, and the zip apps, all of which are samples or for direct use by projects. SInce it is a test app, I don't think this is in the same category. I don't understand how samples/sporadic is to be used, if it is needed on more than one platform or even if it is needed on a regular basis after the sporadic apps functionality has been debugged. I really don't want to spend time getting it to build on the Mac unless there is a compelling reason to do so. |
We won't need it on the Mac. Linux and Win is enough to debug API stuff. |
I believe, it's always good to have the code available somewhere in case you need later require to test some additional functionality or to debug existing one because of some issue or corner case found. Then I'll proceed with this PR and merge it since it's done. |
@davidpanderson, @CharlieFenton, thank you for working on this important topic! |
See https://github.com/BOINC/boinc/wiki/Sporadic-Applications
Fixes #5358
This should have no effect if no sporadic apps are present.
Passes basic tests using a simple sporadic app.
Additional testing/debugging will be needed when/if there are real sporadic apps.