Qiming Teng | Peking University (original) (raw)

Papers by Qiming Teng

Research paper thumbnail of Research Directions for Embedded Operating Systems

Embedded Software and Systems, 2005

A brief survey for recent research works on embedded operating systems (EOSs) is presented, inclu... more A brief survey for recent research works on embedded operating systems (EOSs) is presented, including component based EOSs, energy-aware EOSs, secure EOSs, and EOSs for sensor networks.

Research paper thumbnail of Performance Implications of Next-Generation Multiprocessing Platforms on e-Business Server Applications

When running multiple e-Business server applications simultaneously on the same hardware, inappro... more When running multiple e-Business server applications simultaneously on the same hardware, inappropriate CPU sharing may endanger the performance stability for individual applications. Robustness and manageability are critical for Java server applications on emerging multi-processing hardware platforms. This paper investigates the performance implications of multiprocessing (including SMP and CMP) systems on highly parallel Java server applications. It also evaluates the feasibility and benefits of partitioning the processor cores among multiple applications. By experimenting the JGF benchmark, a comparison is provided to the synchronization behaviors in different primitives, on different hardware configurations. Cache contention, thread migration are all factors to be considered when perform thread affinity setting. The feasibility of enhancing dependability of each server application is experimented with a pseudoJBB benchmark. The performance evaluation and analysis show that it is practical of avoiding performance interferences among highly parallel, CPU-intensive server applications by restricting thread migration. Effective performance isolation can be achieved along with performance gain.

Research paper thumbnail of XCODE: a extensible component description language for system software

Journal (Natural Sciences) Of Peking University, 2004

Research paper thumbnail of Towards a Software Framework for Building Highly Flexible Component-Based Embedded Operating Systems

Emerging new computing models make embedded systems become more ubiquitous and pervasive. To adap... more Emerging new computing models make embedded systems become more ubiquitous and pervasive. To adapt the dynamic computing environment, future embedded operating system (EOS) is required to be highly flexible: the static image composition can be configured and the runtime structure can dynamically evolve. In this paper, we present a software framework for building such an EOS through a component-based approach. One unique feature of our framework is its ability of supporting black-box software reuse. This capability permits components from third-party systems to be reused, and frees component developers from the burden of meeting certain implementation constraints imposed by the component model. Based on a flexible binding model, the component runtime service that resides in the nucleus of this framework provides reconfiguration functions to support runtime changes in components and connectors at different levels. To evaluate this framework, we have reorganized uC/OS-II into a component-based one, and we also have implemented a prototype system named as TICK which consists of both native components and reused components. Experiment results show the performance cost induced by our framework is controllable and acceptable.

Research paper thumbnail of Understanding cross-tier delay of multi-tier application using selective invocation context extraction

... Xiao Zhong IBM Research - China Beijing, China zhongx@cn.ibm.com Peter F. Sweeney IBM Watson ... more ... Xiao Zhong IBM Research - China Beijing, China zhongx@cn.ibm.com Peter F. Sweeney IBM Watson Research Center Hawthorne, New York, USA pfs@us.ibm.com ... OS Byte Code Instrumentation Kernel Module A n a ly z e E n g in e Clients DB Server LDAP Server … ...

Research paper thumbnail of THOR: A performance analysis tool for Java applications running on multicore systems

Ibm Journal of Research and Development, 2010

The growing scale of available commercial multicore systems has increased the need for concurrent... more The growing scale of available commercial multicore systems has increased the need for concurrent programming, because these systems expose hardware parallelism to the programmer that must be explicitly managed in software. Commercial software developers that are traditionally skilled in sequential programming are now forced to reason about concurrency to exploit multicore parallelism. More than ever, this new group of concurrent programmers has to rely on performance tools for help. This paper introduces a new tool called THOR, which addresses the complexities introduced by multicore parallelism by organizing views in terms of Java® threads and using vertical profiling techniques to understand the state of a Java thread at all layers of the execution stack. Data collection supports visualization by tagging each trace event with a corresponding thread identifier and with a time-stamp from the machine's high-resolution timer. By exhaustively tracing fine-grain events, such as operating system context switches and Java lock contention, data collection allows a user to utilize visualization to reconstruct the precise behavior of his application. In this paper, we present the details of the THOR architecture and design. THOR is currently available from IBM alphaWorks®*Trademark, service mark, or registered trademark of International Business Corporation in the United States, other countries, or both. as part of the multicore software development kit.

Research paper thumbnail of Extraction and Visualization of Architectural Structure Based on Cross References among Object Files

Computer Software and …, 2004

... Proceedings of the 28th Annual International Computer Software and Applications Conference (C... more ... Proceedings of the 28th Annual International Computer Software and Applications Conference (COMPSAC'04) 0730-3157/04 $20.00 © 2004 IEEE ... Required Subtotal 1362 735 404 Data 85 311 458 Function 592 966 424 Provided Subtotal 677 1277 882 Total 2039 2012 1286 ...

Research paper thumbnail of Using the middle tier to understand cross-tier delay in a multi-tier application

Parallel & Distributed …, 2010

Research paper thumbnail of On Generalizing Interrupt Handling into a Flexible Binding Model for Kernel Components

Embedded Software and Systems, 2005

This paper presents a flexible binding implementation in JBEOS, a component based embedded operat... more This paper presents a flexible binding implementation in JBEOS, a component based embedded operating system targeted at resource-constrained devices. This binding model features an extensible framework, which consists of two stub segments named prolog and epilog respectively. By making the binding service an ingredient of the run-time infrastructure, dynamic loading and binding of system components is supported in JBEOS. Synchronization, mutual exclusion issues are made transparent by manipulating the inter-component communications using the binding model given.

Research paper thumbnail of On building reusable EOS components from ELF object files

Journal of Software, 2004

Research paper thumbnail of Understanding the cost of thread migration for multi-threaded Java applications running on a multicore platform

Performance Analysis of …, 2009

Multicore systems increase the complexity of performance analysis by introducing a new source of ... more Multicore systems increase the complexity of performance analysis by introducing a new source of additional costs: thread migration between cores. This paper explores the cost of thread migration for Java applications. We first present a detailed analysis of the sources of migration overhead and show that they result from a combination of several factors including application behavior (working set size), OS behavior (migration frequency) and hardware characteristics (nonuniform cache sharing among cores). We also present a performance characterization of several multi-threaded Java applications. Surprisingly, our analysis shows that, although significant migration penalizes can be produced in controlled environments, the set of Java applications that we examined do not suffer noticeably from migration overhead when run in a realistic operating environment on an actual multicore platform.

Research paper thumbnail of A HAL for Component-Based Embedded Operating Systems

Many standards for operating system interfaces or on-chip bus interfaces have been developed. Com... more Many standards for operating system interfaces or on-chip bus interfaces have been developed. Component-based EOS projects are seeking approaches to adapt component based software development technologies to embedded systems. An important issue is to develop hardware independent software that meets differing requirements pertinent to embedded applications. The hardware abstraction layer (HAL) presented here is to serve this purpose. In JBEOS, a component based EOS developed at Peking Univ. The following aspects are stressed: abstraction of basic data types, including their in-memory representation and operations; encapsulation of H/W dependent features into clear interfaces for kernel and user applications; H/W peculiarities should be encapsulated but not masked, i.e., HAL should provide mechanisms to access H/W directly when desired; minimized ROM and RAM footprints; supports for EOS above with no bias to any specific design and/or implementation; minimum efforts required when porting to a new platform.

Research paper thumbnail of Research Directions for Embedded Operating Systems

Embedded Software and Systems, 2005

A brief survey for recent research works on embedded operating systems (EOSs) is presented, inclu... more A brief survey for recent research works on embedded operating systems (EOSs) is presented, including component based EOSs, energy-aware EOSs, secure EOSs, and EOSs for sensor networks.

Research paper thumbnail of Performance Implications of Next-Generation Multiprocessing Platforms on e-Business Server Applications

When running multiple e-Business server applications simultaneously on the same hardware, inappro... more When running multiple e-Business server applications simultaneously on the same hardware, inappropriate CPU sharing may endanger the performance stability for individual applications. Robustness and manageability are critical for Java server applications on emerging multi-processing hardware platforms. This paper investigates the performance implications of multiprocessing (including SMP and CMP) systems on highly parallel Java server applications. It also evaluates the feasibility and benefits of partitioning the processor cores among multiple applications. By experimenting the JGF benchmark, a comparison is provided to the synchronization behaviors in different primitives, on different hardware configurations. Cache contention, thread migration are all factors to be considered when perform thread affinity setting. The feasibility of enhancing dependability of each server application is experimented with a pseudoJBB benchmark. The performance evaluation and analysis show that it is practical of avoiding performance interferences among highly parallel, CPU-intensive server applications by restricting thread migration. Effective performance isolation can be achieved along with performance gain.

Research paper thumbnail of XCODE: a extensible component description language for system software

Journal (Natural Sciences) Of Peking University, 2004

Research paper thumbnail of Towards a Software Framework for Building Highly Flexible Component-Based Embedded Operating Systems

Emerging new computing models make embedded systems become more ubiquitous and pervasive. To adap... more Emerging new computing models make embedded systems become more ubiquitous and pervasive. To adapt the dynamic computing environment, future embedded operating system (EOS) is required to be highly flexible: the static image composition can be configured and the runtime structure can dynamically evolve. In this paper, we present a software framework for building such an EOS through a component-based approach. One unique feature of our framework is its ability of supporting black-box software reuse. This capability permits components from third-party systems to be reused, and frees component developers from the burden of meeting certain implementation constraints imposed by the component model. Based on a flexible binding model, the component runtime service that resides in the nucleus of this framework provides reconfiguration functions to support runtime changes in components and connectors at different levels. To evaluate this framework, we have reorganized uC/OS-II into a component-based one, and we also have implemented a prototype system named as TICK which consists of both native components and reused components. Experiment results show the performance cost induced by our framework is controllable and acceptable.

Research paper thumbnail of Understanding cross-tier delay of multi-tier application using selective invocation context extraction

... Xiao Zhong IBM Research - China Beijing, China zhongx@cn.ibm.com Peter F. Sweeney IBM Watson ... more ... Xiao Zhong IBM Research - China Beijing, China zhongx@cn.ibm.com Peter F. Sweeney IBM Watson Research Center Hawthorne, New York, USA pfs@us.ibm.com ... OS Byte Code Instrumentation Kernel Module A n a ly z e E n g in e Clients DB Server LDAP Server … ...

Research paper thumbnail of THOR: A performance analysis tool for Java applications running on multicore systems

Ibm Journal of Research and Development, 2010

The growing scale of available commercial multicore systems has increased the need for concurrent... more The growing scale of available commercial multicore systems has increased the need for concurrent programming, because these systems expose hardware parallelism to the programmer that must be explicitly managed in software. Commercial software developers that are traditionally skilled in sequential programming are now forced to reason about concurrency to exploit multicore parallelism. More than ever, this new group of concurrent programmers has to rely on performance tools for help. This paper introduces a new tool called THOR, which addresses the complexities introduced by multicore parallelism by organizing views in terms of Java® threads and using vertical profiling techniques to understand the state of a Java thread at all layers of the execution stack. Data collection supports visualization by tagging each trace event with a corresponding thread identifier and with a time-stamp from the machine's high-resolution timer. By exhaustively tracing fine-grain events, such as operating system context switches and Java lock contention, data collection allows a user to utilize visualization to reconstruct the precise behavior of his application. In this paper, we present the details of the THOR architecture and design. THOR is currently available from IBM alphaWorks®*Trademark, service mark, or registered trademark of International Business Corporation in the United States, other countries, or both. as part of the multicore software development kit.

Research paper thumbnail of Extraction and Visualization of Architectural Structure Based on Cross References among Object Files

Computer Software and …, 2004

... Proceedings of the 28th Annual International Computer Software and Applications Conference (C... more ... Proceedings of the 28th Annual International Computer Software and Applications Conference (COMPSAC'04) 0730-3157/04 $20.00 © 2004 IEEE ... Required Subtotal 1362 735 404 Data 85 311 458 Function 592 966 424 Provided Subtotal 677 1277 882 Total 2039 2012 1286 ...

Research paper thumbnail of Using the middle tier to understand cross-tier delay in a multi-tier application

Parallel & Distributed …, 2010

Research paper thumbnail of On Generalizing Interrupt Handling into a Flexible Binding Model for Kernel Components

Embedded Software and Systems, 2005

This paper presents a flexible binding implementation in JBEOS, a component based embedded operat... more This paper presents a flexible binding implementation in JBEOS, a component based embedded operating system targeted at resource-constrained devices. This binding model features an extensible framework, which consists of two stub segments named prolog and epilog respectively. By making the binding service an ingredient of the run-time infrastructure, dynamic loading and binding of system components is supported in JBEOS. Synchronization, mutual exclusion issues are made transparent by manipulating the inter-component communications using the binding model given.

Research paper thumbnail of On building reusable EOS components from ELF object files

Journal of Software, 2004

Research paper thumbnail of Understanding the cost of thread migration for multi-threaded Java applications running on a multicore platform

Performance Analysis of …, 2009

Multicore systems increase the complexity of performance analysis by introducing a new source of ... more Multicore systems increase the complexity of performance analysis by introducing a new source of additional costs: thread migration between cores. This paper explores the cost of thread migration for Java applications. We first present a detailed analysis of the sources of migration overhead and show that they result from a combination of several factors including application behavior (working set size), OS behavior (migration frequency) and hardware characteristics (nonuniform cache sharing among cores). We also present a performance characterization of several multi-threaded Java applications. Surprisingly, our analysis shows that, although significant migration penalizes can be produced in controlled environments, the set of Java applications that we examined do not suffer noticeably from migration overhead when run in a realistic operating environment on an actual multicore platform.

Research paper thumbnail of A HAL for Component-Based Embedded Operating Systems

Many standards for operating system interfaces or on-chip bus interfaces have been developed. Com... more Many standards for operating system interfaces or on-chip bus interfaces have been developed. Component-based EOS projects are seeking approaches to adapt component based software development technologies to embedded systems. An important issue is to develop hardware independent software that meets differing requirements pertinent to embedded applications. The hardware abstraction layer (HAL) presented here is to serve this purpose. In JBEOS, a component based EOS developed at Peking Univ. The following aspects are stressed: abstraction of basic data types, including their in-memory representation and operations; encapsulation of H/W dependent features into clear interfaces for kernel and user applications; H/W peculiarities should be encapsulated but not masked, i.e., HAL should provide mechanisms to access H/W directly when desired; minimized ROM and RAM footprints; supports for EOS above with no bias to any specific design and/or implementation; minimum efforts required when porting to a new platform.