[Herzelinux] The off-line scheduler by Raz Ben-Yehuda

[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