Archive

Archive for the ‘multi-cores’ Category

Time for parallel to get regular!

Given the major global developments in multi-core, it is obvious that the chip design industry is moving toward this technology platform.

However, as with any new development, multi-core platforms bring their own sets of challenges that need to be addressed as easily and skilfully as possible.

It is in this context that Intel has started its Intel Academic Community Program. This program is focused on preparing the next generation of software professionals for multi-core platforms. Excellent! Time for parallel to get regular!!

The Intel program aims at expanding the computer science curriculum to include multi-threading software for multi-core platforms. It already had tie ups with 45 universities globally, delivering curriculum in 2006, and 400+ in 2007. Intel is also contributing expertise, educational course materials, dual-core PC platforms, software development tools and funding.

Intel has already invested over $1 billion in education. Intel has programs right across the board. This year, about 90 faculty members attended the 2008 Asia Academic Forum.

Multi-core focus area
According to Scott Apeland, Director, Developer Network for Intel, at the sidelines of IDF 2008, Taipei, the company’s has always been stressing on innovation and technologies. One of the key focus areas has been multi-core. He says: “Multi-core has created significant changes in the industry. It has to be parallel, rather than sequential.We have provided tools to make it easier to develop, test, debug and optimize multi-core software.”

Two years ago, Intel had partnered with 40 universities to provide multi-core information into the curriculum. These universities were extremely receptive. Today, Intel has partnered with over 850+ universities globally.

“In India, we started with the tier 1 institutes. So, they are also training their partners. The engineers who would be coming out of these institutes with the training will definitely have the competitive edge. There is a new pipeline for the new talent coming out from all of these universities,” says Apeland.

Web-based program
Intel has developed a Web-based program, where users can download the tools. They can license them as well, and even download the curriculum, etc. Those faculty using this program can also share ideas and experiences with the other participating faculties. Apeland adds: “Now, the institutes are also starting to communicate together. We have created the community and the people are interacting.”

Harshad Deshpande, Asia Pacific & Japan Program Manager, Intel Software & Solutions Group, elaborated that Intel works with VCs, UMs and the HRD ministry, etc., in India, and also conduct seminars. “We share information, etc., and then roll it out. The UPTU and the VTU have already started using this. Also, the NITs (formerly, RECs), have taken this up as well,” he says.

“For certain tier 1 institutes, we have the Intel Higher Education Team. Intel scholars visit these institutes, and have multiple, close engagements. Our portal is the Intel Software Network, the resource for parallel programming tools.”

Need for parallel programmers
Commenting on the growing need for parallel programmers, Apeland notes: “We are hearing from companies that they need more parallel programmers.

The whole industry is moving toward multi-core. Developers need to learn the new skills and move ahead.”

Parallel is regular
According to Apeland, this may happen in the next five to 10 years, when we have better ways to use parallel programming.

He notes: “By 2010, this may start happening. For example, Wipro, in India, has been getting customer requirements for parallelism.

Developers, go parallel, or perish, says Intel

Parallelism or parallel computing involves the simultaneous use of more than one computer or processor to execute a program. Ideally, parallel processing makes a program run faster as there are more engines (CPUs) running it.

India has been slow off the blocks as far as parallelism is concerned. Intel is undertaking various programs to ensure that software developers in Inda keep pace with the latest developments.

Intel has been developing microprocessors for a long time. James Reinders, Chief Software Evangelist and Director of Intel Software Development Products, said: “You can double performance and reduce power. Power consumption in a microprocessor isn’t something that the industry wants. The solution is to add cores.”

There are bandwidth challenges with multicore. Intel will be adding QuickPath technology later this year. Providing point-to-point high-speed links to distributed shared memory, the Intel QuickPath technology unleashes the parallel processing performance of next-generation Intel 45nm microarchitectures (codenamed Nehalem and Tukwila). These microarchitectures, built from the ground up, will be the first to use the Intel QuickPath interconnect system and can see significant improvements in overall performance.

Reinders added, “We will also go to eight cores this year. We are looking at working with developers, so that they can take advantage of the cores. We need to look at how they can make parallel programming more flexible.”

Tech challenges
Intel has been seeing pretty strong trends of users using parallelism or perhaps, trying to figure out how to use it best. The most active areas where parallelism is currently being used are in scientific applications and high-performance computing. The challenge is in the high-performance computing area, which involves lot of digital media content, said Reinders.

Indian scenario
Commenting on the scenario in India, Narendra Bhandari, Director, Intel Software and Solutions Group, said: “In India, we have been interacting with the telecom software companies. They have gone on to build parallelism, and actually delivered to local customers.”

Reinders further added: “In Karnataka, we have interacted with an educational software company. We have tools that analyze what their programs do. Very quickly, they agree to discuss, and three to five weeks later, they are able to release new patches of their products.”

Citing Tally as an example, Bhandari said: “We were able help Tally look at their applications. As the data load increases, challenges increase as well. They have since seen dramatic improvements in their applications. Yet another example is an animation company. We looked at their rendering. In two months or less, they saw the results. We showed them where the paradigm was shifting.”

According to Intel, the interest levels in the adoption of the tools, as per the downloads and sales, etc., has gone up from 3x to 5x. “Traffic is quite high on our software network portal. This is the traffic to the geeky portion of Intel. All of these trends indicate that the awareness regarding parallelism has been very good in India,” added Reinders.

Two of Intel’s customers have applauded the company for its good work in parallelism — the Institute of Mathematical Sciences of India (IMSI) in Chennai and Philips Medical.

Training programs
Intel launched a University program two years ago (Go Parallel or Perish). As of the end of 2007, 407 institutions globally have signed up. About 200 of these are from India. According to Reinders, most of the professors that Intel meets do touch upon parallelism in their classes. “We’ve also seen improvements at the UG level.”

Bhandari added that Intel has a generation of programmers who have written code with non-parallel environments. “Parallelism skill is now going to be critical. The curriculum changes at institutes do not happen overnight. However, IIT-Kanpur built a curriculum two years ago and open sourced it,” he pointed out. “We also talked to NIIT. We introduced parallelism in their curriculum. This was 18 months ago. Elements of our courses are also going on at G-NIIT. The NIITs have large scale and scope,” he added.

Open Source
The fact that Intel does a lot of work on open source is perhaps, not well publicized. Reinders noted: “We do a lot of work in Open Source, and are right behind IBM and Red Hat. Linux eats up more power. The impact is the same on laptops and servers. We came up with seven different patches. Cutting power consumption on Linux devices is something that Intel is good at.”

Intel also does a lot of seminars and other software partner programs. Reinders said: “Our focus is more toward the developer community. DRDO and BHEL are some of the customers in India who have benefited from our software development.”

Three programmer challenges
According to Intel, programmers have three immediate challenges with parallelism: scalability, correctness and maiintainability. The rules of the thumb, as outlined by Intel are:

• Think parallel.
• Program using abstraction.
• Program in tasks (chores), not threads (cores).
• Design with the option to turn concurrency off.
• Avoid using locks.
• Use tools and libraries designed to help with concurrency.
• Use scalable memory allocators.
• Design to scale through increased workloads.

Parallelism offers new doors. Creativity is required to open these new doors. Developers would do well to look for these doors. Without any doubt, parallelism is central to Intel’s products. Multi-core needs parallel applications. Therefore, developers need to learn to either think and go or be parallel, or perish!