| To meet the shortage incurred by complicated and multiplex computing tasks facing to the legacy High Performance Computing (HPC), a NEW HPC, High Productivity Computing, is brought in, which introduces the new concepts in designation, development, employment and evaluation. High productivity computing emphasizes that the computing system should be well supplied in Performance (time-to-solution), Programmability (time-for-idea-to-first-solution), Portability (transparency), and Robustness (reliability) to fulfill users' needs. And the costs in system development, running and maintenance should be considered, too. DARPA (Defense Advanced Research Projects Agency) has issued a project named HPCS (High Productivity Computing System), which involves some big commercial companies, such as IBM, Sun, and Cray. A few related college institutes and national laboratries are also included in this project. Much finance support has been fed by DARPA to ensure HPCS becoming the essential transitional architecture for computing before the era of quantum computing comes.HPC (that refers to High Productivity Computing as the same below) covers many research fields, which include non-technical ones like industrial chain, circuit of R&D, principles for produce and vendor etc., and the technical ones like hardware architectures, operating systems, compilers, frameworks for applications, etc. As important as an Operating System (abbriated as OS) is in the whole computing system, the research of high productivity in Operating System is quite critical. The high productivity of an OS is the profile of the capability of the lower hardware subsystem. Meanwhile, the running environment and the effectiveness of high productivity optimization in the upper software subsystem is heavily dependent on it, too. OS itself plays an important role in the whole system's performance, programmability, portability, robustness and excution cost.This paper focuses on the optimization of productivities in the fields of Threading Environment, Job Management, and Robustness Maintenance, which are critical for productivities in OS. The idea of mixing and balancing multiple directives of productivities is proposed and applied in guiding the steps in the designation and development of OS. The abilites of sensing and processing the factors of the running environment for applications,which include computing capacity, power consumption, rate for faults and the special demands of retailed users, are considered as one of the critical parts implementing high productivity computing in OS. While the real-life computing systems are full of non-HP-optimized legacy ones that are deploied to many departments, and the evaluation to the legacy applications with HP-optimization is essiencial but difficult to do, they are specially considered with adaptation for optimization aimed to improve the productivity. The technology of how to expand the abilities of sensing environment for legacy OS is researched. High productivity is taken as the goal of OS optimization. A hierarchical framework of OS optimization for high productivity is given based on the research above, which functions according to the "Guide-Respond" model. Primary innovative work in this paper can be summarized as the following:1. The definition and analysis of the evaluation directives for HP effectivenessPerformance, Programmability, Portability, Robustness and the Costs in HPC were all provided as the instructive concepts. In order to help research in productivity optimization with respect, an operational quantization method is given for evaluation of performance, robustness, power consumption and easy-to-use for users. It converts all factors in HPC into the environmental parameters in real-life systems, including program execute time, peak speed, rate of faults, the longest running time in stability, peak energy cost, average effectiveness of energy, time for problem solving and so on. The relationship between each productivity factor is discussed and it is concluded that the factors are often in conflict with each other when being optimized. So a universal dimension is proposed among each factor. And a heuristic method is proposed too that the multiple factors in conflict (maybe) are required to be considered contemparily during the productivity optimization.2. Environment-sensible Threading Environment.Threading environment is one of the influential factors to the productivity of the whole system. One of the key points of the productivity optimization in the threading environment is to enable the ability of sensing and processing the environmental changes outside. Then it can adapt to the varied application requiements dynamically. To achieve HP optimization in threading environment for legacy OS, a model is given in chapter 3, which contributes in balance among the environmental factors related to threading environment's productivity, and a HP thread scheduling algorithm based on it is provided to utilize the environmental sensibility. A customizable threading environment is designed and implemented. It can shift thread scheduling policy dynamically adjusted to the changes of application requirements. So, the threading environment can cooperate with the scheduling policy guided by productivity, which is described above. Through experiments and evaluation, it is concluded that the combination of productivity-guide scheduling policy and the customizable threading environment can help the improvement of system productivity with little overhead.3. Job Management with power consumption sensitive.The Paralle Computing System on Star is such a typical application that power consumption limitation is the main environmental factor. More and More distributed heterogeneous systems like that will join the future computing kingdom. Conducted by the model balancing power consumption and performance, originated from the visible distributed job management system, a HP-optimized job dispatching algorithm is given objected to a special working environment with restricted power consumption. The algorithm involves the environmental factors like performance and power consumption in the computing nodes and the jobs. It could ensure that the total power consumption of the jobs would not exceed the limit of the nodes, and then achieve maximization of performance in the whole system.4. Dynamic Fault Elimination with productivities associated.Through the analysis of the influence of system failure for system productivities, it's concluded that reducing the interrupt time for service by faults and the time to eliminate the faults is a very important way to improve productivity. Based on it as well as the technology of dynamic software update in legacy OS, a mechanism of dynamic fault elimination is given in OS kernel module layer. All concerned kernel functions are organized in some protected module according to semantic relationship. The protected modules could discover the faults and start dynamic update to the infected module. Then the faults are removed while the system is running and service is not stopped. The theoriotical analysis and the experiments prove that the dynamic faults removal could work well with system productivity optimization. It could keep the productivity lost by system failure in lower level with the performance cost as less as possible. In a condition of a certain rate of faults, it could increase the system productivity indirectly.5. The expansion framework for HP-optimization based on hierarchical legacy OS.In sum and abstract of the three HP-optimization solutions above, an expansion framework for HP-optimazation on YH-Kylin hierarchical OS is given. The main feature of the framework is the 'guide-respond' model that builds a relation betweem the components of productivity optimization and the components in legacy OS. The guide and information collection for productivity optimization is done in the Application Layer, the Server Kernel Layer and the Basic Kernel Layer. |