Modularize building runners #261
Labels
difficulty/03-medium
Likely to take a couple of weeks; best accomplished by multiple contributors
enhancement/feature
Adds new functionality
enhancement/refactor
Improves flexibility/maintainability
I alluded to this lightly in #195 (specifically, in a comment), but PArSEC has a bit of a major limitation right now with respect to what runners are available: the supported runners must be known at build-time. This practically means all runners must live in this repository (increasing the build burden for this repository and project maintenance burden), and that agents cannot have added runners without redeployment (increasing friction for any long-running deployment).
The first steps towards solving all these problems (or, at least enabling their solutions) is to
Second, once runners are built modularly and are dynamically linked
SIGHUP
)In plain C and more generally on POSIX systems, this is just done with
dlopen()
and friends. However, as I was mulling over this, I stumbled on dylib which might offer a cross-platform solution to this problem. Adding dependencies is never free, and we should carefully consider whether this is a good plan-of-action at all.I do think the maintenance potential for extracting runners from this repository (which also trivially enables others to make runners targeting parsec without having to embed them directly in a fork) is worth considering.
The text was updated successfully, but these errors were encountered: