Get 20M+ Full-Text Papers For Less Than $1.50/day. Start a 14-Day Trial for You or Your Team.

Learn More →

Compiler-Supported Thread Management for Multithreaded Network Processors

Compiler-Supported Thread Management for Multithreaded Network Processors Compiler-Supported Thread Management for Multithreaded Network Processors XIAOTONG ZHUANG, IBM T.J. Watson Research Laboratory SANTOSH PANDE, Georgia Institute of Technology Traditionally, runtime management involving CPU sharing, real-time scheduling, etc., is provided by the runtime environment (typically an operating system) using hardware support such as timers and interrupts. However, due to stringent performance requirements on network processors, neither OS nor hardware mechanisms are typically feasible/available. Mapping packet processing tasks on network processors involves complex trade-offs to maximize parallelism and pipelining. Due to an increase in the size of the code store and complexity of application requirements, network processors are being programmed with heterogeneous threads that may execute code belonging to different tasks on a given micro-engine. Also, most network applications are streaming applications that are typically processed in a pipelined fashion. Thus, the tasks on different micro-engines are pipelined in such a way as to maximize the throughput. Tasks themselves could have different runtime performance demands. In this article, we focus on network processors on which hardware can only schedule threads in a roundrobin fashion and no OS assistance is provided. We show that it is very dif cult and inef cient for the programmer to meet the constraints http://www.deepdyve.com/assets/images/DeepDyve-Logo-lg.png ACM Transactions on Embedded Computing Systems (TECS) Association for Computing Machinery

Compiler-Supported Thread Management for Multithreaded Network Processors

Loading next page...
 
/lp/association-for-computing-machinery/compiler-supported-thread-management-for-multithreaded-network-VUdc4vo1q0

References (26)

Publisher
Association for Computing Machinery
Copyright
Copyright © 2011 by ACM Inc.
ISSN
1539-9087
DOI
10.1145/2043662.2043668
Publisher site
See Article on Publisher Site

Abstract

Compiler-Supported Thread Management for Multithreaded Network Processors XIAOTONG ZHUANG, IBM T.J. Watson Research Laboratory SANTOSH PANDE, Georgia Institute of Technology Traditionally, runtime management involving CPU sharing, real-time scheduling, etc., is provided by the runtime environment (typically an operating system) using hardware support such as timers and interrupts. However, due to stringent performance requirements on network processors, neither OS nor hardware mechanisms are typically feasible/available. Mapping packet processing tasks on network processors involves complex trade-offs to maximize parallelism and pipelining. Due to an increase in the size of the code store and complexity of application requirements, network processors are being programmed with heterogeneous threads that may execute code belonging to different tasks on a given micro-engine. Also, most network applications are streaming applications that are typically processed in a pipelined fashion. Thus, the tasks on different micro-engines are pipelined in such a way as to maximize the throughput. Tasks themselves could have different runtime performance demands. In this article, we focus on network processors on which hardware can only schedule threads in a roundrobin fashion and no OS assistance is provided. We show that it is very dif cult and inef cient for the programmer to meet the constraints

Journal

ACM Transactions on Embedded Computing Systems (TECS)Association for Computing Machinery

Published: Nov 1, 2011

There are no references for this article.