The introduction of course --- Multi-Core Programming
The current international microprocessor manufacturers, represented by Intel, have successfully presented various multi-core microprocessors, and have expanded their application fields from high-end servers to common desktop systems as well. It has been a great challenge for the software industry that how to maximize the performance advantages of multi-core processors. In the software engineering curriculum system, there is no course that can guide the students to fully master the methods and techniques of software programming using multi-core processors, which directly restricts the universal and deep application of multi-core processors, and restricts the improvement of software techniques. Thus, it's of great importance and urgency to develop the multi-core programming course.
Now the Multi-core processor has already become the mainstream of the current processor, and the Multi-core programming design is a new research hotspot. The purpose of this course is letting students understand the new Multi-core design’s principle, the technical difficulty, the present developmental situation, and the influence of the computer which all in the present computer CMOS chip designing realm. Through establishing the bridge between the system classical theory and the actual developmental direction, it’ll build the well-knit foundation for the high-leveled research of engaging in the realm of the systematic structure, the realm of the systematic software and relevant realm. The basic purpose of studying this course is letting students grip the principle of the Multi-core system. Based on the Multi-processor programming design method and the changing trend of the programming and so on, it will reach the purpose that students could apply the Multi-core technology in this course realm.
Through the studying of this Multi-core construction and the program technology and combining the other course’s study, this course emphasize particularly on the applied practice of the Multi-core programming technology. This course let students study the parallel programming which on the Multi-core platform, the different programming skill between the Multi-core hardware and the Single-core hardware, and the Multi-core programming evaluation and the use and optimization skill of optimization implemental.
In this course, the programming account for a large proportion. In order to cooperate with this course to better develop the teaching, it provides the exercises of programming to let the students to think in every chapter. Besides, it also designs many matching experiments elaborately. So it will help students while carrying on different chapters’ theoretical study to deepen the understanding and let them actually grip Multi-core programming technology.
“Multi-core programming” course mainly consist four major parts: basic theoretical knowledge, Multi-core programming method, the parallel arithmetic design and realization based on the multi-core processor, the utilization of analysis implement of multi-core software.
(1) Fundamental theoretical knowledge
This part mostly introduces the hardware and operating system platform foundation of multi-core programming to let students grip the principle of multi-core programming.
(2) The programming technology of multi-core software
The primary content of this part introduces the basic skill of multithreading programming fundamental operating system original word which based on the Windows platform and the OpenMP basic programming method to let student grip the skill of using the multithreading method to design the multi-core programming.
The method of multithreading programming based on the Windows platform. This part primarily introduces the multithreading API connection function on the Windows platform which includes the establishment, abolishment, hangcomeback, the setting of PRI, sleeping, and critical region and so on.
It’s the method of multi-core software programming based on OpenMP. This part primarily introduces the principle and character of the OpenMP, the sentence format of translation and edition direction, the instruct order and the clause which are always used in the sentences. And emphatically introduce the variable property, the maneuver of multithreading distribution, stipulations of an agreement sentence and so on.
(3) The basic method of the parallel arithmetic programming and instance analysis
This part primarily instruct the principle of the parallel account programming, and combining the actual instance to explain how to use the multithreading programming method to design the parallel program on the multi-core processor.
(4) The character analysis method and implement of the multi-core software
Based on the Intel company character analysis implement, this part introduces the analysis and the optimization method of the multi-core software’s function. Including the sampling manner in the character analysis implement and the principle of the transferring picture manner, it also includes the methods about the date competition, lock, the key path, load equilibrium and so on in the implement.