Professor works to overcome challenges in harnessing power of multicore computer processors

Jan 15, 2013 by Karen B. Roberts
UD's John Cavazos is working to overcome challenges in harnessing the power of multicore computer processors. Credit: Lane McLaughlin

(Phys.org)—Computer processors that can complete multiple tasks simultaneously have been available in the mainstream for almost a decade. In fact, almost all processors developed today are multicore processors. Yet, computer programmers still struggle to efficiently harness their power because it is difficult to write correct and efficient parallel code.

According to the University of Delaware's John Cavazos, to effectively exploit the power of multi-core processors, programs must be structured as a collection of independent tasks where separate tasks are executed on independent cores.

The complexity of modern software, however, makes this difficult.

Now Cavazos, assistant professor of computer and , is attempting to invent new algorithms and tools for parallelization of large-scale programs as principal investigator (PI) of a new National Science Foundation (NSF) grant.

The work, funded through a $497,791 grant from the Division of Computer and Communication Foundations, is a with Michael Spear, assistant professor of computer science and engineering at Lehigh University. It involves using a novel combination of automatic and profile-driven techniques to address fundamental issues in creating parallel programs.

Compilers translate applications written by into machine code that executes on a computer. One of their important tasks is to help applications to run more efficiently through parallelization. However, while a variety of parallelization techniques are available, such as automatic parallelization and speculative parallelization, no one technique is applicable to all programs.

Cavazos will use machine learning to create a system that enables a compiler to analyze a program, assess which parallelization technique is suitable, and then automatically apply that technique to the program. He is also investigating how to enable the program, through learning, to adapt its behavior based on outside inputs and environments.

The project extends research he began in 2010, when he received an NSF Faculty Early Career Development Award to develop adaptive compilers for multi-core computer environments. It also complements his recent work with the Defense Advanced Research Projects Agency to construct an extreme-scale software framework capable of automatically partitioning and mapping application code to a multi-core system and generating "SMART" applications that can reconfigure underlying hardware to save power.

"This research will enable a greater percentage of programs to benefit from by providing feedback to programmers so that they can improve the code, and by integrating adaptability so that a broader range of programs can achieve increased speed," Cavazos said.

As the project progresses, Cavazos plans to develop new algorithms and tools for speculative parallelization, a technique that allows shared-memory systems to execute certain loops in parallel; loops that a compiler cannot otherwise determine as parallelizable. Ultimately, he hopes to distribute the new prototypes and source codes as open-source software.

A key educational initiative includes training graduate students and integrating performance-related topics into his classroom instruction.

"Helping students to learn the fundamentals of creating that is both correct and efficient needs to be a major educational goal in our science departments," said Cavazos.

Explore further: Computer scientist publishes new algorithm cluster to data mine health records

add to favorites email to friend print save as pdf

Related Stories

KIT: Fast and easy programming

Feb 01, 2012

An increasing number of electronics products such as smartphones are equipped with fast, energy-efficient multi-core processors. As a matter of fact, however, programming of the respective applications is ...

New software design technique allows programs to run faster

Apr 05, 2010

(PhysOrg.com) -- Researchers at North Carolina State University have developed a new approach to software development that will allow common computer programs to run up to 20 percent faster and possibly incorporate new security ...

Recommended for you

The brain as a model for future supercomputers

May 14, 2013

(Phys.org) —The brain's repute took a big hit in 1997 when an IBM supercomputer defeated world chess champion Gary Kasparov in a match reported around the world. But in the second round, the brain is back.

User comments : 0

More news stories

US seizes Bitcoin operator accounts

US authorities seized the accounts of a Bitcoin digital currency exchange operator, claiming it was functioning as an "unlicensed money service business," court documents showed Friday.

Chinese, Indian airlines face EU pollution fines

Eight Chinese and two Indian airlines face fines of up to several million euros for not paying for their greenhouse gas emissions during flights within the bloc, the European Commission said on Friday.

Alaska volcano shoots ash 15,000 feet into the air

(AP)—One of Alaska's most restless volcanoes has shot an ash cloud 15,000 feet into the air in an ongoing eruption that has drawn attention from a nearby community but isn't expected to threaten air traffic.

Temporal processing in the olfactory system

The neural machinery underlying our olfactory sense continues to be an enigma for neuroscience. A recent review in Neuron seeks to expand traditional ideas about how neurons in the olfactory bulb might encode information about ...