Intel Chief Evangelist Comments on Linux Scheduler
ByeByeWintel writes "James Reinders is Intel's Chief Evangelist for Intel's Software Development Products. In a
recent interview on Devx.com he stated: 'If I could get ONE wish fulfilled would be for OS scheduling to focus on processes, and not threads, for scheduling. And demand that processes manage their scheduling of threads ... There is a lot of opportunity for operating systems to offer these types of control in the 'running of applications' interfaces. I'd like an OS to let me specify the 'world' my application runs in (which processors, how many, etc.) These interfaces are available in Windows at run time (the task manager will let you adjust where a running task can go).'"
If I could get ONE wish fulfilled would be for OS scheduling to focus on processes, and not threads
Yeah, a lot of us feel the same way about the fancy-dressing guys that work over in the sales office.
The theory of relativity doesn't work right in Arkansas.
XML is like violence. If it doesn't solve the problem, use more.
I hear Intel has some engineers who you could get to implement this. If you don't completely botch it, you might even get it into Linus' tree.
It's Free Software, you can add whatever you want.
How we know is more important than what we know.
Resume your regularly scheduled Con vs Ingo flamewar.
I scheduled an interview with linux a while back. It was all like, "LINE UP", and I was like, "WUT?", and it was like, "What's your priority?", but I was all like, "interupt, bitch", and it was like, "cool, SWAP", and I was all like, "I'm in ur processor, executin' my code".
An 'Evangelist' is this instance is someone who is a promoter, not a follower. So you are wrong on that count as well as the already noted 'site' 'sight' thing. You might want to steer away from criticizing others for a while...
And as you tread the halls of sanity, You feel so glad to be, Unable to go beyond. I have a message, From another time..
And I'm gonna tell ya... I'm gonna tell all the people here-a, that the Lord has come... Amen! Yes indeed, and the Glorious Pentium IV has arrive-ed! Praise be to Pentium! And lo, the sheep of the field will line down-a with the process, and the thread-a will be managed by the application!
Oh, don't be fooled by the Devil... No-a! AMD is the sign of the Beast-a! And he shall be cast out of heaven! Raise-a your hands to the heavens and press CTRL-ALT-DELETE!
The world's burning. Moped Jesus spotted on I50. Details at 11.
Oh, until the second page, which I didn't see.
Yes, and has for at least a decade. As has SGI's IRIX and probably a lot of other operating systems. (Linux would be included in that list based on the comments here.)
A positive attitude may not solve all your problems, but it will annoy enough people to make it worth the effort.
Not only is it obvious that the submitter didn't read the article but by posting it its obvious that the 'editor' didn't either! Jebus! It's about a library template that Intel provides to developers! Linux gets a passing mention on the second page but other than that coincidence the writeup has nothing to do with the real article! And then there are people tagging the article as 'clueless' - I hope they meant the submitter because if they meant the article then ironically they would have been showing their own 'cluelessness'. /.'s integrity btw even though I've seen more articles fly-by that shouldn't have over the years.
This is the first time I've felt a need to complain about
Shh.
First of all, any job with the word 'evangelist' directly implies 'highly paid fanboy.'
I worked with the Evangelists in Apple Developer Relations, and my direct personal experience tells me that you're full of shit.
Apple's Technology Evangelists are some of the most talented technical marketing professionals I've ever met, and now that I'm an outside developer, they do a great job for me pulling the levers and turning the gears that I need to get my products out the door, connecting our company with customer prospects, and finding and introducing us to other companies that we can collaborate with. I'd hire any of those guys in a heartbeat for either a development or a marketing position, if I could get them out of Apple.
-jcr
The only title of honor that a tyrant can grant is "Enemy of the State."
I think that what Intel's Evangelist wants is already available through standard POSIX pthreads and the POSIX-RT extensions.
man pset_create, pset_assign, or pset_bind.
I just checked and it seems that Solaris, HP-UX support this POSIX feature. Maybe it's only Linux that is non-standard: I found ythis quote: http://developers.sun.com/solaris/articles/solaris_linux_app.html
"Both Linux and the Solaris OS support the notion of binding a process or thread to a processor. Linux allows binding to a set of processors for non-exclusive use of those processors. The Solaris OS allows binding to a set of processors for exclusive use, (that is, CPU fencing), but does not allow binding to a group for non-exclusive use (except via Solaris Zones?). Linux does not have a mechanism for CPU fencing, though implementations can be found on the web (see, for example, the CPUSETS for Linux page on the bullopensource.org site). The Linux system calls that are processor affinity based are sched_setaffinity(2) and sched_getaffinity(2)."
what is being discussed is called "scheduler activations" within the CS community (or was). its an old idea. i did some work on a real-world (hah) implemention back in the early 1990's when i worked at UWashington. google it. Solaris actually added this design at least 10 years ago (plus or minus 2 years). its a very cool OS design, but can also be hard to get the implementation right; it also requires both kernel and userspace implementations.
the basic idea is that the kernel doesn't try to decide which threads within a task/process should run. as long as the process is scheduled to have access to a CPU, whenever its about to block (e.g. on disk i/o) or to be granted a processor from another task, the kernel tells the user space scheduler what is going on. scheduling is then done in user space, where maximal knowledge about the applications internal design and thread priorities can be easily accessed.
there are several papers on this design, ranging from Tom Anderson's "original" through reports on various implementation efforts. it was certainly fun trying to write a user space context switch routine that has to be reentrant itself, not to mention trying to deal with priority inversion issues. i think sun simply worked around the latter problem with some design assumptions/limitations, but i don't know for sure.
Apple's Technology Evangelists are some of the most talented technical marketing professionals I've ever met
Wait a minute, is that a compliment or an insult?!?
We live, as we dream -- alone....
I Browse at +4 Flamebait
Open Source Sysadmin
I should point out that SGI has done exactly this: on behalf of their customers they go about fixing scalability problems in Linux. The results are quite interesting -- eight thousand CPU computers and the like. To give credit to the Evanglist, perhaps he was hoping coworkers and superiors at Intel would recognize the need and step up.
I Browse at +4 Flamebait
Open Source Sysadmin
Meh. I don't speak for anyone else. I speak for myself. I say if you have a need for feature X then add it. If you're not willing to invest the time (or money) to make feature X more than a "gee, I wish" request then you don't really have a *need* for it. As for this "We believe this is something everyone could and should use" crap, for a start, I don't speak for anyone but myself, and I think Free Software is something a lot of people can find a use for, and if you can't, then don't use it. If, however, you just meant that end users might have a need for feature X but they're unable or unwilling to make that feature a reality, well, that's what the commercial distros are for. Go nag your Redhat representative.
How we know is more important than what we know.
Well, sure. 'ls' gives you a catalog of files on the disk, while 'cat' lists one or more of the files' contents. But Windows' 'dir' is much harder to remember - it just means "Drrr, I wonder what's in this folder?"
I've had no such issue with the .22 kernel, so likely this is being hammered out as time goes on.
Liberte, Egalite, Fraternite (TM)
You expect every fucking suggestion to be implemented? If not then what DO you suggest? The developers simply say that they are going to do X, if you want to do Y then you need to do it yourself. You can't implement every bloody possible feature in the damn universe, which is apparently what you want. Instead they implement what they think meets their own goals. They claim that this is enough to work for everyone. It isn't perfect for everyone but NOTHING ever is, if someone wants a feature desperately they either need to implement it themselves or find someone else to do it.
Putting all programs inside virtual machine like wrappers could work to keep the programmer from having to worry about scheduling in a scenario where the processes handled their threads, and it may also have good security implications. A major problem is malicious programs gaining access to the RAM, and trying to ferret our your hard-drive encryption key for example. Putting all programs in a locked Box might be a great way to fix the problem. Despite the performance penalty I believe this may be the future.
"Where have all the good people gone?" - Jack Johnson
>Sorry, but the "Do it yourself," attitude is just bad.
It's great. That's what open source is all about.
>Part of having a successful product is listening to what people want and working to implement that.
Ah I see where you got confused.
Linux is not a product. It's already successful.
evil is as evil does
Fair enough. If you try to switch to Linux and discover it doesn't have what you need then go back.
As for considering people's ideas, yeah, great, developers do that, all the time. The problem is when the developer says "look, it won't work" and the people harp on about how right they are. That's often when the DIY attitude comes out, because nothing says "you were wrong" like running code.
How we know is more important than what we know.
Open source isn't necessarily priceless. Education, talent, and time are still scarce resources. Open source just provides hired hands a platform for their interests and spare time, and a shared base to work from. If you're in IT for cheap labor, I still encourage you to look to offshore.
I Browse at +4 Flamebait
Open Source Sysadmin
> And this, ladies and gentleman, is why all Linux users are perceived as elitist, arrogant bastards.
You are right. The way free software works is that if you want something done, you either do it yourself, or you pay somebody to do it for you.
Somehow, this has become at odds with mainstream society. People have come to expect that if you want something done, you whine about it for long enough, and someone else will do it for you.
It is a society of builders and whiners.
I know which side I'm on.
Most marketing people are not technical professionals. That's not the case at Apple. Phil Schiller doesn't mention it very often, but he started his career writing code.
-jcr
The only title of honor that a tyrant can grant is "Enemy of the State."
He's an expert at (amonst other things) providing automatically optimised applicaton parallelisation in general, which as such is not available (I can know, I used to be a reaesrch team leader in a company that was working on it as well, but from a power management angle).
What he said about OS-level schedulers is that he ideally wants them to behave in a specific way, without even saying that specifically Linux needs to be changed (again: there are hundreds of OS-es out there). He has not said that Linux is "behind" or "retarted" anything. He has not said that Intel needs volunteers to do his dirty work for free. The only person who used the word Linux during that interview was the interviewer (as usual, the /. title gets it completely wrong and the /. summary is a composition of two quotes originating from the guy's anwers to two different questions). Read and understand the bloody article before posting nonsense!
In any case, if the thing has been available for many years and people are to be ridiculed for seemingly not knowing that, they what the hell are Ingo and Con fighting about? They must be non-experts doing useless work. Both of them.
Linux user since early January 1992.
By the way, NetBSD still uses an N:M model (FreeBSD tried it, but abandoned it due to code complexity issues).
I am TheRaven on Soylent News
No, he's not. The fact that some of those you've met were good does not mean it does not imply 'highly paid fanboy'. Or maybe you were questioning the 'highly paid' part :).
For balance, the only Apple Evangelist I ever had experience with was a Quickdraw 3D Evangelist. He was a clueless idiot. I asked him how they addressed the performance issue caused by QD3D lighting only working with full RGB, whereas DirectX supported a ramp mode for significant performance increase. He didn't have a fecking clue what I was talking about. At the time, that was actually a pretty basic bit of knowledge about the software renderers. I mentally turned off when he replied to that question with "Let's take this offline" (we were in a meeting with him, me, and 2 other people from my company).
He could run the QD3D demos for us, though. He was really good at that. He also demonstrated the plug-in renderer architecture they had developed, which was by far the most interesting thing I saw that day (spent the day at Cupertino talking to Apple people). It allowed NPR and toon-shading stuff, long before it became mainstream. He even had a demo that showed a model being rendered in a 'cave painting' style. Depressingly, no-one at Apple (and especially not the Evangelist) seemed to realise how cool it was (except the people who wrote it, maybe).
If I had one wish that I could wish this holiday season, it would be for all the children of the world to join hands and sing together in the spirit of harmony and peace.
If I had two wishes that I could wish for this holiday season, the first would be for all the children of the world to join hands and sing in the spirit of harmony and peace.. and the second would be for $30 million a month to be given to me, tax-free in a Swiss bank account.
You know, if I had three wishes that I could make this holiday season, first, of course, would be for all the children to get together and sing . . . the second would be for the $30 million every month to me . . . and the third would be for all encompassing power over every living being thing in the entire universe.
And if I had four wishes that I could make this holiday season, first would be the crap about the kids . . . second would be for the $30 million . . . the third would be for all the power.. and the fourth would be to set aside one month each year for an extended 31-day orgasm, to be brought about slowly by Rosanna Arquette and that model Paulina somebody, I can't think of her name, of course my lovely wife could come, too. She's behind me 100% on this, I guarantee you.
Wait a minute, maybe that sex thing should be the first wish! So, if I made that the first wish, because, you know, it could all go boom tomorrow, and then what have you got? No, no . . . the kids singing would be great, that would be nice. No, no, who am I kidding! I mean, they're not gonna be able to get all those kids together! I mean, the logistics of the thing is impossible! It's more trouble than it's worth!
So, we reorganize: here we go. First, the sex - we go with that; second, the money. No! We go with the power second, then the money, and then the kids. Oh, wait, oh geez! I forgot about revenge against my enemies! Okay . . . revenge against all my enemies, they should die like pigs in Hell! That would be the fourth wish! And of course, my fifth wish would be for all the children of the world to join hands and sing in the spirit of peace and harmony.
Thank you, everybody.
Build a man a fire, he's warm for one night. Set him on fire, and he's warm for the rest of his life.