In your GitLab account, you should have access to a new repository
t02-student<your-id> where is code of another team. Your task is to
write short review about the API of that team. Note that this task is
done individually (hence you will receive two reviews for your design).
Review format
Your review should consist of two parts. First one is another example application using the provided API, the second one are several paragraphs (not bullet list) commenting on the API.
Example application
Implement skeleton for application numactl (man page). The purpose of the task is to learn the new API, not implementing NUMA features. Therefore, the expected skeleton of your application is the following:
args = ... // configure the arguments
args.parse(argv)
if args.has("--show"):
printf("policy: default"); print("...")
elif args.has("--hardware"):
printf("available: 2 nodes (0-1)"); print("...")
elif:
printf("will run %s", args.get_command())
printf("CPU node bind: %s", args.get("-C").join(","))
...
Your example must support following styles of invocation:
- Without any parameters, the program shall print help.
- With
--hardware, it shall emulate printing current hardware configuration. - With
--show, it shall emulate printing current NUMA policy. - With options
-m,-p,-iand-Cit shall emulate running a program with modified NUMA policy.
See slides for further examples.
Review summary
The review summary shall contain
- overall impression of the library (1-2 paragrahs)
- notes on writing numactl (1-2 paragraphs) \[what was easy, what proved to be impossible etc.\]
- other notes regarding completeness etc. of the library \[use [checklist from slides](/files/teaching/nprg043/labs/03_review.html#(18))\]
Submission
Submit your work (numactl snippet and the comments) into a single
plain text file that you will place into the root directory of your
repository and name it REVIEW (notice the missing extension and
capital letters).