[Herzelinux] The off-line scheduler by Raz Ben-Yehuda
Gilad Ben-Yossef
gilad at codefidence.com
Wed Oct 21 12:15:37 IST 2009
Hi all,
Reminder: Herzelinux club will meet tomorrow, Thursday 2 Oct. at 18:30
to enjoy Raz Ben-Yehuda lecture about the his project, The off-line
scheduler.
OFFSCHED is a platform aimed to assign an assignment to an offloaded
processor. An offloaded processor is a processor that is hot un-plugged
from the operating system.
In today's computer world, we find that most processors have several
embedded cores and hyper-threading. Most programmers do not really use
these powerful features and let the operating system do the work.
At most, a programmer will bound an application to a certain processor
or assign an interrupt to a different processor. At the end, we get a
system busy in maintaining tasks across processors, balancing
interrupts, flushing TLBs and DTLBs using atomic operations even when
not needed and worst of all, spin locks across processors in vein; and
the more processors the merrier. I argue that in some cases, part of
this behavior is due to fact the multiple core operating system is not
service oriented but a system oriented. There is no easy way to assign a
processor to do a distinct service, undisturbed, accurate, and fast as
long as the processor is an active part of an operating system and still
be a part of most of the operating system address space.
The purpose of the OFFSCHED is to create a platform for services. For
example, assume a system is being attacked; the Linux operating system
will generate endless number of interrupts and/or softirqs to analyze
the traffic and throw out bad packets. This is on the expense of good
packets. Have you ever tried to ssh an attacked machine? Who protects
the operating system?
What if we can simply do the packet analysis outside the operating
system without being interrupted?
Why not assign a core to do only fire-walling ? Or just routing? Design
a new type of Real Time system? Maybe assign it as an ultra accurate
timer? Create a delaying service that does not just spin? Offload a TCP
stack? Perhaps a new type of a locking scheme ? New type bottom-halves?
Debug a running kernel through an offloaded processor? Maybe assign a
GPU to do other things than just graphics?
Amdahl Law teaches us that linear speed-up is not very feasible, so why
not spare a processor to do certain tasks better?
Technologically speaking, I am referring to the Linux kernel ability to
virtually hot unplug a (SMT) processor ; but instead of letting it
wonder in endless 'halts', assign it a service.
*** Boilerplate template follows:
Herzel-what?
~~~~~~~~
Herzelinux is a Linux Linux user group. It's aim is to try to bridge
the gap between professional Linux programmers working for Hi tech
companies and the Linux Open Source community and bring them into the fold.
As such the meeting topics will tend towards the advance technical stuff
which is of interest to professional programmers. The meeting takes
place in Herzelia Pituch (Maskit 27, In hi-tech College - there's a map
on the site), a short walking distance from most of Silicon Wadi
companies, to the pleasure of the lazy Hi Tech bums :-) Other then that
it's just yet anther LUG, like Haifux and Telux, whose format we're
basically mimicking (read: most sincere form of flattery and so on...)
Needless to say, it's free, both in speech and in coffee and you are all
invited. In fact, I'd truly appreciate if you can spread the word and
invite fellow programmers working on Linux which are not alpha Linux geeks.
For more details: http://tuxology.net/herzelinux
To get updates of club meeting by RSS: http://tinyurl.com/herzelinux
To get updates of club meeting via Google Calender:
http://tinyurl.com/Herzelinux-cal
To get updates the club meetings via iCal feed:
http://tinyurl.com/Herzelinux-ical
For Facebook lovers - join our group on Facebook:
http://www.facebook.com/pages/Herzliya-Israel/Herzelinux/10832254949
Hope to see you there,
Gilad
--
Gilad Ben-Yossef
Chief Coffee Drinker & CTO
Codefidence Ltd.
Web: http://codefidence.com
Cell: +972-52-8260388
Skype: gilad_codefidence
Tel: +972-8-9316883 ext. 201
Fax: +972-8-9316884
Email: gilad at codefidence.com
Check out our Open Source technology and training blog - http://tuxology.net
"Sorry cannot parse this, its too long to be true :)"
-- Eric Dumazet on netdev mailing list
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mailman.cs.huji.ac.il/pipermail/linux-il/attachments/20091021/8e6bd639/attachment.html>
More information about the Linux-il
mailing list