Sign in with
Sign up | Sign in

Researchers Bring Threading to Word Processing

By - Source: Tom's Hardware US | B 33 comments

NC State researchers figured out a way to separate memory management from common software processing, finally enabling multi-core support.

Researchers from NC State University have discovered a way to break up programs such as web browsers and word processors so that they can use multiple threads. While this ability is already in use with PC games and many other applications, some common programs still dump the entire process operation onto one core despite current multi-core CPUs now available on the market.

According to the researchers, breaking up the more traditional programs into multiple threads means a possible overall 20-percent increase in performance. From an enterprise standpoint, this is good news, allowing workers to be more productive, saving time and money. Unfortunately, the current solution for "hard-to-parallelize" programs isn't merely a simple fix, nor is it readily available.

So what exactly is the solution? "We’ve removed the memory-management step from the process, running it as a separate thread," said Dr. Yan Solihin, an associate professor of electrical and computer engineering at NC State, director of the research project (and co-author of a paper describing the research).

Typically a program will perform a computation, then perform a memory-management function, and then repeat the process via one processor core. Using the new approach, the computation thread and memory-management thread are executing simultaneously (in parallel), allowing the program to run more efficiently. Most of today's consumer apps don't utilize multi-core CPUs effectively, but that may change down the line thanks to new programming and compiler technologies such as this one.

"This also opens the door to development of new memory-management functions that could identify anomalies in program behavior, or perform additional security checks," Solihin said. "Previously, these functions would have been unduly time-consuming, slowing down the speed of the overall program."

Solihin and the group of NC State researchers plan to present their findings in a paper called "MMT: Exploiting Fine-Grained Parallelism in Dynamic Memory Management," slated to be presented on April 21 at the IEEE International Parallel and Distributed Processing Symposium in Atlanta.

This sounds like a George Takei moment: "Oh my!"

Discuss
Ask a Category Expert

Create a new thread in the News comments forum about this subject

Example: Notebook, Android, SSD hard drive

This thread is closed for comments
Top Comments
  • 23 Hide
    sliem , April 7, 2010 5:52 PM
    Awesome, now M$ can have a new product: M$ office 2010 extreme
    "Experience Dual-core-utilizing word processing and power point presenter software" Boost your productivity by up to 20%! New low price for limited time only, $799.

    OpenOffice dual-core-utilizing: $0
  • 20 Hide
    Tomtompiper , April 7, 2010 6:23 PM
    At last a word processor that can keep up with my 23,000 wpm
  • 15 Hide
    micr0be , April 7, 2010 5:50 PM
    FINALLY !!! .... great work
Other Comments
    Display all 33 comments.
  • 15 Hide
    micr0be , April 7, 2010 5:50 PM
    FINALLY !!! .... great work
  • 23 Hide
    sliem , April 7, 2010 5:52 PM
    Awesome, now M$ can have a new product: M$ office 2010 extreme
    "Experience Dual-core-utilizing word processing and power point presenter software" Boost your productivity by up to 20%! New low price for limited time only, $799.

    OpenOffice dual-core-utilizing: $0
  • 14 Hide
    husker , April 7, 2010 5:54 PM
    I never noticed any delay in a word processing or browser functionality. Mostly these applications are waiting around for user input or bottlenecked by web access. Why do they need multi-threaded code?
  • -4 Hide
    Anonymous , April 7, 2010 5:57 PM
    Manual memory management? That's so... 1960s.
  • 11 Hide
    gpj , April 7, 2010 6:09 PM
    As an app developer, this would be great built right into the compiler. Any performance improvement would be welcome. However, I dispute the 20% claim... at least as a human measurable number. Unless you're using apps like games, graphics/cad software, development tools (which the good ones are already multi-core friendly) .. most people would never realize that it took 4ms to make their title bold vs the original 5ms.

    MIT huh? Big deal.
  • 4 Hide
    Cy-Kill , April 7, 2010 6:10 PM
    What you said, "While this ability is already in use with PC games...", and what you should've said, "While this ability is already in use with some PC games..."
  • 2 Hide
    ivan_chess , April 7, 2010 6:18 PM
    Web browsers already use a different thread for each tab (at least in the newest Firefox) so they are doing just fine on the parallelism path. Do word processor's need multiple threads? When you have a +1GHz multi-core computer are the memory management operations really that taxing?
  • 20 Hide
    Tomtompiper , April 7, 2010 6:23 PM
    At last a word processor that can keep up with my 23,000 wpm
  • -5 Hide
    babybeluga , April 7, 2010 6:24 PM
    What is ole George waiting for with his mouth open like that?

    I sided with Shatner!!!
  • -4 Hide
    Anonymous , April 7, 2010 6:30 PM
    A critical advancement. Truly a banner day in the history of mankind.
  • -3 Hide
    devrahul , April 7, 2010 6:33 PM
    I am pretty sure i have heard of M$ word somewhere.
  • 8 Hide
    gogogadgetliver , April 7, 2010 6:42 PM
    Uh guys. I'm looking at Winword.exe (2010) and it's already running as 26 separate threads.

    Maybe they are talking about Open Office or something?
  • 12 Hide
    gogogadgetliver , April 7, 2010 6:47 PM
    sliemAwesome, now M$ can have a new product: M$ office 2010 extreme"Experience Dual-core-utilizing word processing and power point presenter software" Boost your productivity by up to 20%! New low price for limited time only, $799.OpenOffice dual-core-utilizing: $0


    MS Office is already multithreaded. Oh and btw the "M$" makes you look like you're stuck in the 90s.
  • 2 Hide
    DXRick , April 7, 2010 6:50 PM
    You do realize that MS Word runs the spell checker in a separate thread. I would bet that auto-save also does. The rest is processing input from the user, as they type and apply various formatting things. There ain't much parallel processing going on in a word processor!
  • -1 Hide
    rhino13 , April 7, 2010 7:03 PM
    Errr, Windows already does this for you.

    Looks like someone couldn't think up anything original to go for a PHD with.
  • 7 Hide
    Cy-Kill , April 7, 2010 7:17 PM
    rhino13Errr, Windows already does this for you.


    This isn't about Windows.
  • 2 Hide
    shin0bi272 , April 7, 2010 8:06 PM
    gogogadgetliverUh guys. I'm looking at Winword.exe (2010) and it's already running as 26 separate threads.Maybe they are talking about Open Office or something?


    are they running on separate cores too? The article said that all the stuff gets dumped on one core too that's why I asked.
  • 1 Hide
    hellwig , April 7, 2010 8:12 PM
    Memory management? Like garbage collection? I'm confused how you can thread processing differently than memory management. I mean, imagine the cache-misses that will be created when a different thread on a different core is jerking around with the memory you are trying to use. In other words, you can't command a memory-write on a separate thread if the processing that follows is dependent on the memory being written to.

    If they are just talking about defragging and garbage collection, the compiler should already thread that out separately. Its not the programmers fault if the compiler injects memory management code right in the middle of their execution.
    Exodite2Manual memory management? That's so... 1960s.

    Oh brother, that's whats wrong with computer programming today, too many kids growing up on Java. Believe it or not, some mission-critical applications can't just leave it up to the compiler to figure out what to do with memory. Not that Word processors are ever mission critical, I'm just saying proper memory management and being aware of the effects of your memory usage are still good ideas.
  • 0 Hide
    bildo123 , April 7, 2010 8:21 PM
    huskerI never noticed any delay in a word processing or browser functionality. Mostly these applications are waiting around for user input or bottlenecked by web access. Why do they need multi-threaded code?


    The same reason we now use EFI instead of carburetors. It's just another step forward, and walking requires following one foot after the other. It may lead to something else even better.
Display more comments