News 

Events

Press Corner

Press Releases

Press Coverage

Multimedia Corner

Partners' Spotlights

Documents

Annual Reports

Newsletter

Technical Documents

Presentations

 

openlab Phase III

Automation Controls CC

Database CC

Networking CC

Platform CC

Previous Phases

Management

Education Corner

 

Student Programme

What is it?

How to apply-2012

Students-2012

Programme-2012

About CERN openlab

What is it?

Participants

Guiding Principles

 

openlab II

Platform CC

Virtualization

Optimization

Grid IC

Tycoon

SmartDomains

Database CC

Networking & Security

Networking
Security

openlab I

opencluster

Usage

LCG on Itanium 2

SmartFrog

 

CERN openlab II - Platform CC - Optimization

Multi-threading

The vast majority of programmers have probably by now heard of the multi-core revolution, and the increasing impact that multi-core processors have on the way software needs to be written. The possibility of gaining additional processing power through frequency scaling has diminished greatly in the last couple of years, while at the same time Moore’s law continues to increase the number of transistors which can be put on a chip. Therefore processor manufacturers have turned to alternative means for using spare transistors, namely the inclusion of additional processing cores in a single processor package. This relatively new feature of modern computers implies a different model for writing and maintaining software than the one we have been using up until now. Today we can usually get away with adding a new process to the system and throwing in more memory as the number of cores grows. Very soon, when the number of cores in a single package reaches 16, 32 or more, adding more memory will become very costly, and the need to change the approach to programming will become instantly and painfully apparent.

Our work in the multi-threading and multi-core area includes researching existing and emerging multi-threading technologies, hardware benchmarking and system optimization in terms of multi-threaded performance. Moreover, we put a lot of emphasis on understanding upcoming multi- and many-core systems. Therefore, keeping up to date with the key industry players, in particular Intel, is also a part of our mission. In addition, we create analyses of technology trends and previews, in order to prepare for significant changes in technology and communicate them to our users. Regular workshops on multi-core programming are being organized, in order to aid programmers in using modern hardware as efficiently as possible.

The purposes of our activities in the multi-threading and multi-core area are as follows:

  • Devising ways to increase application performance while decreasing resource consumption

  • Understanding the ever-changing processor market and keeping up with the pace

  • Anticipating technological breakthroughs and taking advantage of new technology features

  • Distributing knowledge gained from the industry to serve as input for planning at CERN and the High Energy Physics community

  • Increasing programmer awareness and skill in the area of multi-threaded programming