Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/vvazrod/libshipyard
C library that provides functions for setting and getting scheduling parameters.
https://github.com/vvazrod/libshipyard
docker linux real-time
Last synced: 4 days ago
JSON representation
C library that provides functions for setting and getting scheduling parameters.
- Host: GitHub
- URL: https://github.com/vvazrod/libshipyard
- Owner: vvazrod
- License: mit
- Created: 2020-08-26T04:24:07.000Z (over 4 years ago)
- Default Branch: master
- Last Pushed: 2020-11-18T20:20:30.000Z (about 4 years ago)
- Last Synced: 2024-11-10T21:40:14.027Z (2 months ago)
- Topics: docker, linux, real-time
- Language: C
- Homepage:
- Size: 11.7 KB
- Stars: 0
- Watchers: 2
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# Shipyard task deployment library
This C library is used by tasks that are to be orchestrated with the Shipyard
system. For more information about Shipyard, please see [the server's
repository](https://github.com/Varrrro/shipyard-server).## Usage
Although it's a normal C library, it is not meant to be used like one. At least
not fully. The library is packaged as a Docker image which tasks' images need to
use as their base. An example Dockerfile could be as follows:```Dockerfile
FROM varrrro/shipyard-server:latestCOPY . .
RUN gcc * -L$LIB_DIR -l$LIB_NAME -I$SRC_DIR -o task
CMD [ "./task" ]
```Then, in the task's code, the developer just needs to include the library and
call the `set_sched` function before the task's main logic. This functions obtains the scheduling parameters
from environment variables and uses them to set the `SCHED_DEADLINE` policy.
These environment variables are given to the container by the server when the
task is deployed on a node.