replace Linux or FreeBSD scheduler by Akaros

13 views
Skip to first unread message

Joël Krähemann

unread,
Feb 2, 2020, 2:06:31 AM2/2/20
to Akaros
Hi all,

Just want to say hello. I am new to this group. I am the upstream of GSequencer.


I have developed a concurrent tree processing function, each parallel running function is assigned to one AgsThread.


AgsThread provides tick-based parallelism, synchronizing concurrent functions on a base frequency. I was thinking of user level scheduling before. So Akaros and parlib looks very interesting to me.

I don't know about the topic much, for now. But the first question that raises is would it be difficult to replace Linux or FreeBSD scheduler by Akaros?

----

by Joël

Barret Rhoden

unread,
Feb 5, 2020, 1:36:47 PM2/5/20
to Joël Krähemann, Akaros
Hi -
In short, yes - it'd be difficult. Akaros is an OS, not just a
scheduler, so it's not so much that you'd be replacing a scheduler with
another scheduler, but that you'd be replacing an OS with another OS
(albeit one with different scheduling mechanisms).

I'd imagine that porting your app to Akaros would be the most difficult
part of it. For instance we don't have GTK+, since we're a datacenter
OS. Not sure if gsequencer can run via command line only... Even then,
our console support is pretty rough - we don't do curses or even
halfway decent console/screen stuff. We also don't have audio drivers.

All that being said, Kevin ported Akaros's user-level threading library
(Parlib) to Linux (https://github.com/klueska/parlib) though the code
hasn't been touched in a number of years. So that might be useful if
you want to mess around with user-level threading.

Parlib is actually a lower-level library, and isn't an actual threading
library. An example one that you could use is upthreads
https://github.com/klueska/upthread/

For more info, check out http://akaros.cs.berkeley.edu/parlib/ too.
Maybe start there, actually.

Barret

Reply all
Reply to author
Forward
0 new messages