¬x¤hø¯§U²z±Ð±Â

¥x¤j¸ê°T¤uµ{¨tº[¬ã¨s©Ò/ ºô¸ô¤Î¦h´CÅé¬ã¨s©Ò

Shih-Hao Hung, Ph.D., Assistant Professor
Dept. of Computer Science & Information Engineering (CSIE)
Graduate Inst. of Networking and Multimedia
National Taiwan University

Before joining NTU in Feb. 2005, Dr. Hung worked for Sun Microsystems in the San Francisco Bay Area for 5 years. During 1992-2000, He earned his Ph.D. and M.S. degrees in Computer Science and Engineering and did a post-Doctorial study under Prof. Edward S. Davidson at the Advanced Computer Architectural Lab in The University of Michigan. He served in the Taiwanese Marine Corps for two years after finishing his B.S. degree in Electrical Engineering at the NTU in 1989.

Dr. Hung likes to play with computers since he got his first computer, an Apple II, when he was 16 years old. Although not as crazy as he used to be, he still goes to
¥úµØ°Ó³õ frequently and builds computers as he likes. Over the years, he keeps looking for a perfect computer, but unfortunately, even with so many computers that he has played with, from embedded systems to parallel, supercomputers, he is never satisfied with any computers which have ever been built (including those built by himself), which is why he studies computer systems and performance optimization techniques :) If you are interested in his work, you can continue to read this page, or follow the links below for more details:

Personally, Shih-Hao likes to broaden his life experience. For that, he found that Taiwan offers a lot of opportunities. After two years, he wrote down his observations and feelings in 2007:

¤­¥ú¤Q¦âªºªÀ·|²{¶H¤¤¡A¤]Ä­Âæh¤¸²`¼hªº¤å¤Æ¡C
§Ö³tÅܾEªºª«½è¤å©ú¤¤¡A¥¿¿EÀú¶Ç²Î«ä¼éªº»ù­È¡C
¿ùºî½ÆÂøªº¤H§ÚÃö«Y¤¤¡A¦n¦ÒÅç±q®e¤£´bªº¯ÝÃÌ¡C
¦k·Q­¡°_ªº¼¤±æ¤H¥Í¤¤¡A¨Ó­×¾i¤£¨V¤£¨Dªº«~®æ¡C
Ävª§­p¸ûªºÂOªLªk«h¤¤¡A¦h·PÃhÂIºw¨¯¶Ôªº¥I¥X¡C
ª«¼¤¾î¬yªº°øµØ¦~¥N¤¤¡A¾ÇÆ[·Ó¯u¹ê¥Ã«íªº¦Û§Ú¡C

Contact Ápµ¸¤è¦¡

¬x¤hø¯§U²z±Ð±Â
°ê¥ß»OÆW¤j¾Ç ¸ê°T¤uµ{¾Ç¨t 320 «Ç
¥x¥_¥«Ã¹´µºÖ¸ô¥|¬q¤@¸¹

Shih-Hao Hung, Assistant Professor
Dept of Computer Science and Information Engineering, National Taiwan University
#1 Roosevelt Rd. Sec. 4, Taipei, Taiwan 106, ROC
Phone : 02-3366-4888 or 02-2362-5336 ext. 320 (+886-2-3366-4888)
FAX : 02-2362-8167
e-mail : hungsh@csie.ntu.edu.tw

Courses ¶}±Â½Òµ{

    This site (http://pas.csie.ntu.edu.tw/course/) contains the materials for some of the courses listed above.

Background ­Ó¤H¸g¾ú

  • 2005-Present
    Assistant Professor, National Taiwan University., Taipei, Taiwan
    Deptartment of Computer Science and Information Engineering
    Graduate Institute of Network and Multimedia
    Research Topics: Computer Architecture, Parallel Computing, Computer Performance Characterization and Optimization, Commercial Servers and Applications, Design of Embedded Systems

    ¥x¤j¸ê°T¤uµ{¨tº[ºô¸ô¤Î¦h´CÅé¬ã¨s©Ò, §U²z±Ð±Â
    ¬ã¨s¤º®e: ­pºâ¾÷¬[ºc»P¥­¦æ³B²z¡B­pºâ¾÷®Ä¯àµû¦ô»P³Ì¨Î¤Æ¡B¹q¤l°Ó°È¨t²Î¤ÎÀ³¥Î³nÅé¡B´O¤J¦¡¨t²Î³]­p
  • 2000-2005
    Staff Engineer, Sun Microsystems, Inc, California, USA
    Functions: Performance characterization and optimization of commercial systems and applications, including high-end symmetric multiprocessor (SMP) servers, high-performance networking (10-Gigabit Ethernet and TCP/IP Offload Engine), security protocol/cryptographic acceleration (SSL, IPsec, IKE), Hardware-software co-design for next-generation processors

    ¬ü°êª@¶§¹q¸£¤½¥q
    °Ó°È¹q¸£¨t²Î¤ÎÀ³¥Î³nÅ餧®Ä¯àµû¦ô¤Î³Ì¨Î¤Æ, ¥]¬A: °ª¶¥¦h­«³B²z¦øªA¹q¸£¨t²Î, °ª®Ä¯àºô¸ô¶Ç¿é(10Gbit Ethernet¤ÎTCP/IP¥[³t¾¹) ¹q¸£¦w¥þ¨ó©w¤Î±K½X¥[³t¾¹(SSL, IPsec, IKE), ·s¥@¥N³B²z¾÷¤§µw³nÅé²Î¦X³]­p
  • 1998-2000
    Research Fellow., Univ. of Michigan, Ann Arbor, USA
    Research: Strategies for optimizing parallel applications, Framework for systematic performance tuning

    ¬ü°ê±K¦è®Ú¤j¾Ç³Õ¤h«á¬ã¨s
    ¬ã¨s¤º®e: ¥­¦æ³B²z³Ì¨Î¤Æ¤§µ¦²¤»P¨t²Î®Ä¯à§ïµ½¤§¹ê°È
  • 1994-1998
    Ph.D. in Computer Sci. & Eng., Univ. of Michigan, Ann Arbor, USA
    Research: Optimization of parallel applications, High-performance computer architecture, Performance characterization tools and methodologies, Supercomputing for scientific and engineering applications (Ford Motor Co. etc.)

    ¬ü°ê±K¦è®Ú¤j¾Ç¹q¸£¬ì¾Ç¤Î¤uµ{¾Ç³Õ¤h
    ¬ã¨s¤º®e: ¥­¦æ³B²zÀ³¥Îµ{¦¡¤§³Ì¨Î¤Æ, °ª®Ä¯à¹q¸£¬[ºc, ¨t²Î®Ä¯à¤ÀªR¤u¨ã¤Î¤èªk ¶W¯Å¹q¸£¦b¬ì¾Ç¤Î¤uµ{¤§À³¥Î(¬ü°êºÖ¯S¨T¨®¤½¥q¤Î¨ä¥L¬ã¨s³æ¦ì)
  • 1992-1994
    M.S.E. in Computer Sci. & Eng., Univ. of Michigan, Ann Arbor, USA

    ¬ü°ê±K¦è®Ú¤j¾Ç¹q¸£¬ì¾Ç¤Î¤uµ{¾ÇºÓ¤h
  • 1991-1992
    Teaching Assistant, Dept. Electrical Eng., Nat'l Taiwan Univ., Taipei, Taiwan

    ¥x¤j¹q¾÷¤uµ{¨t±M¥ô§U±Ð
  • 1989-1991
    Officer, R.O.C. Marine Corp

    ¤¤µØ¥Á°ê®ü­x³°¾Ô¶¤¤Ö±L
  • 1985-1989
    B.S.E. in Electrical Eng., Nat'l Taiwan Univ., Taipei, Taiwan

    ¥x¤j¹q¾÷¤uµ{¨t¾Ç¤h

Research Interests ¬ã¨s»â°ì

Introduction to Performance Engineering: Co-Optimization of Computer Applications and Architectures
¨t²Î®Ä¯à¤uµ{ - ¹q¸£À³¥Î»P¬[ºc¬Û¤¬³Ì¨Î¤Æ

Performance and applications have been driving the evolution of the computer industry to where it is today. A lot of people can write programs for a system, but those who are familiar with the system architecture, optimizing compilers, and performance tools, can often write good programs which run several times faster and far more efficiently on the same system. On the other hand, architectural innovations and hardware features have been adopted to make computer systems more powerful, run specific applications better, and solve large problems quicker every year. Performance engineering is a practice and a research to find ways to improve application performance with a wide range of hardware or software techniques.

Performance engineering covers many areas in computer systems. Our students are trained to be knowledgeable on computer architecture and system programming. Based on that, we analyze specific applications to understand how a system can be designed or enhanced to serve the applications better, and how the applications can be tuned to run well on a system. While our focuses on sometimes on the individual components or problems, for example, instruction scheduling and cache utilization, it is most critical to characterize and optimize the application and the system as a whole. Even for experts, it is an art to evaluate performance problem precisely, identify performance problems quickly, and decide on proper solutions wisely.

Performance engineering is important to application developers and system vendors. In our lab, we use state-of-the-art performance tools to analyze applications ranging from embedded processing to high-performance computing. We work with industry partners on real applications and develop skills and techniques to solve problems in designing and optimizing applications. Many research topics in this field are still open, and we are focusing on innovative ways to profile performance, model application behavior, simulate execution, and evaluate future system designs.

Here is a presentation that Prof. Hung gave at a seminar by Sun Microsystems on 2006-05-05, which is a good illustration of the general work that we do for research.

The research being performed by Prof. Hung is subdivided in the following catagories:

  • ®Ä¯àµû¦ô Performance Evaluation
  • ¥­¦æ³B²z Parallel Processing
  • ºô¸ô®Ä¯à Network Performance and Optimization
  • ¹q¸£¦w¥þ Network and Computer Security

Research Lab ¬ã¨sÀô¹Ò

Prof. Hung established the Performance, Applications, and Security Lab in 2005.

We see three key issues that have fundamentally driven the evolution of the computer industry to where it is today: Performance, Applications, and Security, and we believe that they are keys to building better computer systems for tomorrow. Why are we putting them together in one sentence? Because many practical computing problems require us to consider more than one issue in order to obtain optimal solutions. For example, people are talking about hardware-software co-design these days. In our experience, solving such kind of problems is usually highly challenging, as it often requires the understanding of the big picture of the problem and in-depth knowledge of many state-of-the-art technologies.

To make a computer better, we need to improve its performance, applications, and security with hardware and software the technologies. The key technologies may vary as new technologies are invented while old technologies become obsolete. Amazingly, the advance of hardware technologies allows our latest computers to perform just well enough to keep up with complex applications and meet Today's security requirement. But, what if the computer industry runs out of hardware tricks to make CPU's run twice as fast in 18 months? How about buying the latest 8-CPU systems before you figure out your applications have to be re-written to scale beyond 2 CPU's? When 10 gigabit Ethernet shows up, can our computers take advantage of the abundant bandwidth? Do you trust software vendors to provide us with killer applications that run smoothly and securely over the Internet? How would you design a system on a chip to run specific applications, when performance and low-power are critical?

Before establishing this Lab in 2005, I spent 12 years in attacking various performance problems in applications related to scientific/engineering, database, e-commerce, networking, and security. At the University of Michigan, we optimized parallel applications on supercomputers by writing assembly codes. We developed performance tools so that we were able to understand the applications and the platform better than anybody, even their makers. At Sun Microsystems, our group competes with IBM and HP by producing many world-record benchmark results on Big-Iron enterprise servers. When security became a hot topic, I helped Sun design special cryptographic functionality that makes secured applications run 10X faster on Sun systems. Even after I joined NTU, Sun and I collaborate to solve certain hardware-software co-design issues for Sun's next-generation embedded processors.

Our study of computer performance emphasizes on realistic applications that run on modern platforms: We like to know how to make applications run faster by co-designing its software and hardware. Preferably, we look at production applications that are real, e.g. Oracle database server, Web server, streaming media server, etc. We are interested in working with all varieties of application developers to make the computing world more efficient.

Security is extremely important for applications in Today's networking environment. Security usually comes at the cost of performance because many security operations consumes enormous amount of computer and network resources. The choice and use of security protocols can impact application performance greatly. For example, the Secure Socket Layer (SSL) protocol widely used in e-commerce would slow down Web transactions by 100X. Therefore, we study how security protocols are performed in applications and the software and hardware technologies to accelerate security operations.

Publications ¬ã¨sµÛ§@

  • Shih-Hao Hung, Shu-Jheng Huang, and Chia-Heng Tu, New Tracing and Performance Analysis Techniques for Embedded Applications, in the 14th IEEE International Conference on Embedded and Real-Time Computing Systems and Applications (RTCSA 2008), Kaohsiung, Taiwan, August 25-27, 2008. (Abstract)(PDF File)
  • Nei-Chiung Perng and Shih-Hao Hung, Task Scheduling for Context Minimization in Dynamically Reconfigurable Platforms, in 2007 IFIP International Conference on Embedded and Ubiquitous Computing, Taipei, December 17 - 20, 2007. (Abstract)(PDF File)
  • Shih-Wei Liao, Shih-Hao Hung, Chia-Heng Tu, and Jen-Hao Chen, Scalable Lossless High Definition Image Coding on Multicore Platforms, in 2007 IFIP International Conference on Embedded and Ubiquitous Computing, Taipei, December 17 - 20, 2007. (Abstract)(PDF File)
  • Chi-Sheng (Daniel) Shih, Chia-Lin Yang, Shih-Hao Hung, Chih-Wen Hsueh, Chuen-Liang Chen, and Tei-Wei Kuo, SoC System Design Program for Computer Science Majors, in the Proceedings of the Workshop of Embedded Software Education, October, 2007. (Abstract)(PDF File)
  • Tai-Yi Huang, Chung-Ta King, Shih-Hao Hung and Tei-Wei Kuo, An Update on the Embedded Software Consortium of Taiwan, in 2006 Workshop on Embedded System Education, held in conjunction with the EMSOFT conference, Seoul, South Korea, October 26, 2006. (Abstract)(PDF File)
  • Chun-Yuan Chang, Tsungnan Lin, Din-Yuan Chan and Shih-Hao Hung, A Low Complexity Rate-Distortion Source Modeling Framework, in 2006 IEEE International Conference on Acoustics, Speech, and Signal Processing (ICASSP), Toulouse, France, May 14-19, 2006. (Abstract)(PDF File)
  • C.-Y. Chen, C.-L. Yang, S.-H. Hung, Cache Leakage Management for Multi-programming Workloads, in Tenth Asia-Pacific Computer Systems Architecture Conference (ACSAC 05), Singapore, October 24 - 26, 2005. (Abstract)(PDF File)
  • S.-H. Hung and P. Bhattacharya. On the Delivered Performance of the Sun Crypto Accelerator 1000. the Sun Users Performance Group 2002 Conf., Honululu, Hawaii, April. 2002. (PDF File)
  • J. Huang, S.-H Hung, G.-P. Musumeci, M. S. Klivansky, and K.-T. Ko. Sun Fire Gigabit Performance Characterization. the Sun Users Performance Group 2001 Conf., Amsterdam, Netherlands, Oct. 2001, (PDF File)
  • P. Czarnul, S. Venkatasubramanian, C. D. Sarris, S.-H. Hung, D. Chun, K. A. Tomko, E. S. Davidson, L. P.B. Katehi and B. Perlman, Locality Enhancement and Parallelization of a Finite Difference Time Domain Simulation, HPCMO Users Conf., Billoxi, MS, June, 2001. (PDF File)
  • C. Sarris, K. Tomko, P. Czarnul, S.-H. Hung, R. Robertson, D. Chun, E. Davidson, L. Katehi. Multiresolution Time Domain Modeling for Large Scale Wireless Communication Problems. the 2001 IEEE AP-S Intl Conf. on Antennas and Propagation. July 2001, Boston. (PDF File)
  • S.-H. Hung and E. S. Davidson. A framework for performance optimization of parallel applications. In Performance Evaluation and Benchmarking with Realistic Applications, pp. 129- 160, The MIT Press, 2001. (PDF File)
  • S.-H. Hung and E. S. Davidson. System Support for Dynamic Optimization of Application Performance. In Innovative Architecture for Future Generation High-Performance Processors and Systems, pp. 7-20, IEEE CS Press, Jan. 99. (PDF File)
  • Shih-Hao Hung, Optimizing Parallel Applications, Ph.D. Dissertation, Computer Science and Engineering, University of Michigan, June 1998. (Abstract) (Full PDF File)
  • S.-H. Hung and E. S. Davidson, Characterizing and Reducing Overhead in Parallel Applications, the Automative Research Center 1997 Conference on Critical Technologies for Modeling and Simulation of Ground Vehicles, Ann Arbor, Michigan, June 1997. (PDF File)
  • S.-H. Hung and E. S. Davidson, A Parallel Application Development Environment, 9th Annual Industrial Partners of Computer Science and Engineering, Ann Arbor, Michigan, March 1998. E. Boyd, W. Azeem, H.-H. Lee, T.-P. Shih, S.-H. Hung, and E. Davidson. A hierarchical approach to modeling and improving the performance of scientific applications on the KSR1. In Proc. of the 1994 Intl Conf. on Parallel Processing, Vol. III, pp.188-192, 1994. (PDF File)

Supervised Students and Their Works «ü¾É¾Ç¥Í¤Î§@«~

Ph.D. Students

  • Ò\¹Å«í Chia-Heng Tu
    • Shih-Hao Hung, Shu-Jheng Huang, and Chia-Heng Tu, New Tracing and Performance Analysis Techniques for Embedded Applications, in the 14th IEEE International Conference on Embedded and Real-Time Computing Systems and Applications (RTCSA 2008), Kaohsiung, Taiwan, August 25-27, 2008. (Abstract)(PDF File)
    • Shih-Wei Liao, Shih-Hao Hung, Chia-Heng Tu, and Jen-Hao Chen, Scalable Lossless High Definition Image Coding on Multicore Platforms, in 2007 IFIP International Conference on Embedded and Ubiquitous Computing, Taipei, December 17 - 20, 2007. (Abstract)(PDF File)
  • ÁÂ¥¿ÄP J.P. Shieh

 

Master Students, Joined in 2008

  • ¿½èûÂE  Jui-Hung Hsiao    
  • ·¨¬î²±  Qiu-Cheng Yang  
  • ªL«T§Ê  Chun-Tin Lin
  • ©P«Â§Ê  Wei-Tin Chou
  • ½²ªFªN  Tung-Chieh Tsai
  • ªL©°¦ö  Gen-You Lin

 

Master Students, Joined in 2007

  • ªL©v¼y  Zong-Cing Lin     
  • ·¨¤å¶©  Wen-Long Yang  
  • ³\¤å©÷  Wen-Chang Hsu                  
  • ±iµqµ¾  Hao-Siang Chang         
  • ³¯«\¥ô  Yu-Jen Chen
  • ³¯¹m¤¤  Chun-Jong Chen          
  • ®]¤Ñ¨q  Thean-Siew Soon

 

Master Students, Joined in 2006

  • ½²©Ó¯§   Cheng-yu Tsai
    • Optimization of Dynamic Scratchpad Memory Utilization :A Hardware/Software Approach, Master Thesis, August 2008 (Abstract)(PDF File)
  • ³¯¦¿ºÍ   Jiang-Rui Chen
    • A System-Level Performance and Power Simulation Environment for Embedded Computer Systems, Master Thesis, August 2008 (Abstract)(PDF File)
  • ¤ý«T¤å  Chun-wen Wang
    • Performance Optimization of the Samba Read Service on Linux-based Network-Attached Storage Systems, Master Thesis, August 2008 (Abstract)(PDF File)
  • ¶ÀÎ뵤  Chang-Jun Huang
    • Performance Optimization of the Samba write serviceon Linux-based Network-Attached Storage Systems, Master Thesis, August 2008 (Abstract)(PDF File)
  • ²øÂצ°  Feng-Hsu Chuang
    • Power Estimation for Embedded Processors based on Verilog-to-SystemC Conversion, Master Thesis, August 2008 (Abstract)(PDF File)
  • ³¯«a¾§  Kuanju Chen
    • Evaluating Task Migration Overhead for Heterogeneous Multi-Core Architectures, Master Thesis, August 2008 (Abstract)(PDF File)
  • ¹ùÑ{§»  Yuh-Hung Liaw

 

Master Students, Joined in 2005

  • ªL¥H­}  Yi-Di Lin
    • Automating Server Application Performance Modeling Process on Solaris System via D-Trace and Trace-driven Analysis, Master Thesis, August 2007 (Abstract)(PDF File)
  • ªL·×´Ë  Huang-Sen Lin 
    • Automatic Selection of Compiler Options for Performance Optimization on the Kernel Modules of a Storage Server, Master Thesis, August 2007 (Abstract)(PDF File)
  • ±ißNÁ¨  Hsiao-Wei Chang
    • A Rapid Simulation Environment for Application Performance Estimation on Parameterized Multi-core/Multi-threading Architecture Models, Master Thesis, August 2007 (Abstract)(PDF File)
  • §d«Ø¦¨Chien-Cheng Wu
    • Performance Evaluation of Caching and Prefetch Strategies on a Storage Server, Master Thesis, August 2007 (Abstract)(PDF File)
  • ³¯¹Åµ¾  Jia-Siang Chen 
    • Performance Optimization on a RAID System: Design and Implementation of a Fast Indexing Table for Disk Caching, Master Thesis, August 2007 (Abstract)(PDF File)
  • ³¯¤H»¨  Jen-Hao Chan 
    • System-Level Performance Profiling and Simulation Framework for I/O-Intensive Applications, Master Thesis, August 2007 (Abstract)(PDF File)
    • Shih-Wei Liao, Shih-Hao Hung, Chia-Heng Tu, and Jen-Hao Chen, Scalable Lossless High Definition Image Coding on Multicore Platforms, in 2007 IFIP International Conference on Embedded and Ubiquitous Computing, Taipei, December 17 - 20, 2007.
  • ³¯©_©s  Chi-Meng Chen 
    • Finding the Best Compiler Optimization Option Set Rapidly via Machine Learning, Master Thesis, August 2007 (Abstract)(PDF File)
  • ¶À®Ñ¬F  Shu-Jheng Huang
    • Developing New Tracing and Performance Analysis Techniques for Embedded Applications, Master Thesis, August 2007 (Abstract)(PDF File)
    • Shih-Hao Hung, Shu-Jheng Huang, and Chia-Heng Tu, New Tracing and Performance Analysis Techniques for Embedded Applications, in the 14th IEEE International Conference on Embedded and Real-Time Computing Systems and Applications (RTCSA 2008), Kaohsiung, Taiwan, August 25-27, 2008. (Abstract)(PDF File)
  • ªL¬f§»  Po-hung Lin 
    • Performance and Power Evaluation for Non-Uniform Cache Architecture, Master Thesis, January 2008 (Abstract)(PDF File)

 

CONTACT: hungsh@csie.ntu.edu.tw