Computer Program Safety Without the Slowdown

Posted by on Mar 31, 2011 | 6 Comments

Have you ever noticed that the safer a computer program happens to be, the slower it tends to be, too? Dr. James Tuck of North Carolina State University and his team noticed, as well, and they’ve made it their goal to create software that remedies slowdown without compromising safety. “These safety features — or meta-functions — can slow a program down so much that software developers will often leave them out entirely,” says Dr. Tuck. “Leaving out those features can mean that you don’t identify a problem as soon as you could or should, which can be important — particularly if it’s a problem that puts your system at risk from attack.”

The researchers discovered that badly implemented safety features embedded directly into a program’s overall code could slow down a system by as much as 1000 percent (or more)! Under these circumstances, it’s easy to see how some programmers might be tempted to skimp on process-hogging security protocols to streamline their programs; imagine how useful and rewarding it would be to build an airplane that can’t fly. (For the record, I’m not an anti-penguite. Mother Nature’s got her own ideas about efficiency to which I don’t pretend to be privy. She gets a free pass to invent freaks graceful, non-soaring [yet feathered] friends.) What Dr. Tuck and his team have managed to do is create a program that utilizes the advantages of multi-core systems and separates the safety features from the rest of the program they’re protecting and runs them on a core apart from it.

Computer Program Safety Without the Slowdown
cc licensed ( BY ND ) flickr photo shared by highwaycharlie

“To give you some idea of the problem, we saw the application we were testing being slowed down by approximately 580 percent,” Dr. Tuck says. “Utilizing our software tool, we were able to incorporate safety meta-functions, while only slowing the program down by approximately 25 percent. That’s a huge difference.”

Multi-core solutions to this problem have been tried before, but the difference with this approach is that it doesn’t involve hours of manual reprogramming to work with existing programs (as previous attempts have required). It’s actually a plug-in for the GNU Compiler Collection (GCC), so open source geeks reading this will probably already be dreaming up applications for this kind of software once it’s released to the public.

The research, summed up in the paper Automatic Parallelization of Fine-Grained Meta-Functions on a Chip Multiprocessor, will be presented at the International Symposium on Code Generation and Optimization in Chamonix, France on April 5th.

  • Anonymous

    My laptop, my desktop and both of my kids desktops are all running Linux Mint 10. The only time I boot into W7 is on my laptop to access a special program from my work. So many people use their PC for email, web browsing and little else. Mint will enable those “old” Pentium 4s to do those things and much more. And it’s actually easier to install and keep updated than Windows 7!

  • http://www.facebook.com/Porkyxi Tim Moore

    i have 2 desktops running xp..both run Photoshop and Corel Painter fine..one even with a tv tuner card..i put a new vid card and power supply in and things run fine..i dont see anything in Vista or 7 that i “need”..i can do all i want with xp..until the motherboard dies…and they have been running continuously for 4-5 years…only when i cannot fix them will i upgrade..

  • http://twitter.com/jordanarseno Jordan Arseno

    I grew up on XP; it’s certainly the OS that I am most accustomed to and the most productive on. With that said… I’ve recently moved to Ubuntu – Open Source FTW!

  • Carol Fletez

    I love my laptop with win 7 pro where I can run Virtual PC and run XP when I need to; I can also run LINUX there. I have two older PCs one of which is a LINUX server and the other which is
    a mint machine like that mentioned below. You can still use your older machines as servers to store data, network into a home network and still get ‘life’ from them. Although it is possible to store a lot of info ‘in the cloud’ which Google docs are, I am a security nut that wants to have my stuff secure with me!

  • http://twitter.com/wtreece Will Treece

    My new PC is fairly new but my second machine (a Linux box at the moment) is 3 years old and has fairly old hardware, however after a few tweaks and upgrades runs plenty fast enough and now with a good graphics card it can handle all the graphics I want it to, therefore what would be the point in replacing it, if it ain’t broke don’t fix it really. Whatever works for the user in question. I had a Pentium 4 PC that lasted me a good 7 years and still to this day functions fine for basic use. There is too much emphasis on replacing not on the simple stuff, an extra stick of RAM or a new GPU can extend a PC’s life by a year or more.

  • Anonymous

    I chose my hardware so well my pc lasted 6 years, I only changed the case a couple of times because I kept finding finding cooler ones with shiny lights.
    I had ati x900 all-in-one, 2gb of ram, amd 3200xp cpu, Abit NF7 mobo and the hdd I kept replacing but only ‘cuz I kept running out of space.
    On the OS side, I played with every single flavor of XP, Vista & 7 I could get my hands on, even dual & triple booted with every flavor of linux I could find.
    Long story short, till death do us part, if it can run any OS no matter how old then there is no reason to dump them.