第七章 結論與未來工作
7.2 未來工作
我們的目標是希望可以發展一套整合核心行為與網路協定行為的網路通訊 裝置之評比工具,而本論文已經成功將嵌入指令於核心系統的動作自動化,並且 成功將核心行為記錄與網路協定行為記錄作對應。
可是核心行為記錄與網路協定行為記錄過於龐大,因此我們還需要一種智慧 型的診斷工具,從龐大的記錄之中,找出影響網路效能的原因,進而針對原因提 出建議等等。
未來診斷工具更可以配合核心事件的記錄,找出因為某些特定網路封包,造 成核心系統的狀態改變,如:ARP 封包會造成 ARP Table 的改變,DHCP 封包會 造成網路卡介面的 IP 改變,藉此開發者可以更加詳細剖析暨除錯網路通訊裝置 的整體通訊行為。
更可以修改本論文的選擇性指令嵌入技術,使之運用於各種核心系統,並且 持續改進以配合核心系統的演進。另一方面,由於本論文只針對乙太網路設計封 包關聯技術,並未針對其他類型的實體網路,因此未來可以修改封包關聯技術來 達成剖析暨除錯其他類型的實體網路。
Reference
[1] S. Best, “Linux® Debugging and Performance Tuning: Tips and Techniques,”
Prentice Hall, Oct. 2005.
[2] M. Ducasse and J. Noye, “Tracing Prolog programs by source instrumentation is efficient enough,” The Journal of Logic Programming, vol. 43, pp. 157–172, 2000.
[3] J. Levon, “Profiling in Linux HOWTO,” The Linux Documentation Project, 2002.
[4] N. Joukov, A. Traeger, R. Iyer, C. P. Wright, and E. Zadok, “Operating System Profiling via Latency Analysis,” 7th symposium on Operating systems design and implementation, pp. 89-102, 2006.
[5] Y. Guo, Z. Chen, and X. Chen, “A Lightweight Dynamic Performance Monitoring Framework for embedded Systems,” International Conference on Embedded Software and Systems, pp. 256-262, 2009.
[6] A. Bhatele and G. Cong, “A Selective Profiling Tool: Towards Automatic Performance Tuning,” Parallel and Distributed Processing Symposium, pp. 1-6, March 2007.
[7] Valgrind, Available from: http://valgrind.org/
[8] N. Mc Guire, “Kernel Function Instrumentation – KFT,” 2006.
[9] P. P. Bungale and C. K. Luk, “PinOS: A Programmable Framework for
Whole-System Dynamic Instrumentation,” 3rd international conference on Virtual execution environments, pp. 137-147, 2007.
[10] GDB: The GNU Project Debugger, Available from:
http://www.gnu.org/software/gdb/gdb.html
[11] L. DeRose and T. Hoover Jr., “The Dynamic Probe Class Library - An Infrastructure for Developing Instrumentation for Performance Tools,” 15th International Parallel & Distributed Processing Symposium, vol. 1, 2001.
[12] K. Kwon, M. Sugaya, and T. Nakajima, “Analysis of Embedded Linux using Kernel Analysis System,” International Conference on Embedded Software and Systems, pp. 417-422, 2009.
[13] M. Desnoyers and M. R. Dagenais, “Low disturbance embedded system tracing with Linux Trace Toolkit Next Generation,” Embedded Linux Conference, 2006.
[14] M. Desnoyers and M. R. Dagenais, “LTTng, Filling the Gap Between Kernel Instrumentation and a Widely Usable Kernel Tracer,” Linux Foundation Collaboration Summit, Apr. 2009.
[15] K. Yaghmour and M. R. Dagenais, “Measuring and characterizing system behavior using kernel-level event logging,” USENIX Annual Technical Conference, 2000.
[16] M. Desnoyers and M. R. Dagenais, “The LTTng tracer A low impact performance and behavior monitor for GNU Linux,” Ottawa Linux Symposium (OLS), 2006.
[17] P. Heidari, M. Desnoyers, and M. Dagenais, “Performance Analysis of Virtual Machines Through Tracing,” Canadian Conference on Electrical and Computer Engineering, pp. 261-266, 2008.
[18] LTTng Project, Available from: http://ltt.polymtl.ca/
[19] Kernprof (Kernel Profiling), Available from: http://oss.sgi.com/projects/kernprof/
[20] KFT, Available from: http://elinux.org/Kernel_Function_Trace
[21] T. Bird, “Learning the kernel and finding performance problems with kfi,” CELF International Technical Conference, 2005.
[22] A. Nataraj, A. D. Malony, S. Shende, and A. Morris, “Kernel-Level
Measurement for Integrated Parallel Performance Views the KTAU Project,” IEEE International Conference on Cluster Computing, pp. 1-12, 2006.
[23] KTAU, Available from: http://www.cs.uoregon.edu/research/ktau/docs.php [24] LKST, Available from: http://lkst.sourceforge.net/
[25] A. Mavinakayanahalli, P. Panchamukhi, J. Keniston, A. Keshavamurthy, and M.
Hiramatsu, “Probing the Guts of Kprobes,” Ottawa Linux Symposium (OLS), 2006.
[26] R. J. Moore, ”Dynamic probes and generalized kernel hooks interface for Linux,”
4th annual Linux showcase and conference, pp. 139-145, 2000.
[27] R. Krishnakumar, “Kernel Korner: Kprobes - a Kernel Debugger,” Linux Journal, vol. 2005, Issue 133, Jun. 2006.
[28] B. Lee, S. Moon, and Y. Lee, “Application-Specific Packet Capturing using Kernel Probes,” 11th IFIP/IEEE international conference on Symposium on Integrated Network Management, pp. 303-306, 2009.
[29] SystemTap, Available from: http://sourceware.org/systemtap/
[30] V. Prasad, J. Keniston, W. Cohen, F. C. Eigler, M. Hunt, and B. Chen, “Locating System Problems Using Dynamic Instrumentation,” Ottawa Linux Symposium (OLS), July 2005.
[31] M. Mason, “Using SystemTap for Dynamic Tracing and Performance Analysis,”
Ottawa Linux Symposium (OLS), 2007.
[32] F. C. Eigler, “Problem Solving With Systemtap,” Red Hat Summit, 2007.
[33] A. Tamches and B. P. Miller, “Fine-grained dynamic instrumentation of
commodity operating system kernels,” 3rd symposium on Operating systems design and implementation, pp.117-130, 1999.
[34] KernInst - Dynamic Kernel Instrumentation Tool Suite, Available from:
http://www.paradyn.org/html/kerninst.html
[35] A.Tamches and B. P. Miller, “Using Dynamic Kernel Instrumentation for Kernel
and Application Tuning,” International Journal of High Performance Computing Applications, vol. 13, issue 3, pp. 263-276, 1999.
[36] KLASY - Kernel Level Aspect-oriented System, Available from:
http://www.csg.is.titech.ac.jp/~yanagisawa/KLASY/
[37] Y. Yoshisato, K. Kenichi, and C. Shigeru, “A dynamic aspect-oriented system for OS kernels,” 5th international Conference on Generative Programming and
Component Engineering, pp. 69-78, 2006.
[38] B. M. Cantrill, M. W. Shapiro, and A. H. Leventhal, “Dynamic Instrumentation of Production Systems,” USENIX Annual Technical Conference, pp. 15-28, 2004.
[39] OProfile - A System Profiler for Linux (News), Available from:
http://oprofile.sourceforge.net/news/
[40] J. Levon, “OProfile Internals,” Available from:
http://oprofile.sourceforge.net/doc/internals/index.html
[41] W. E. Cohen, “Tuning programs with OProfile,” Wide Open Magazine, 2004 [42] Wireshark, Available from: http://www.wireshark.org/
[43] Kismet Wireless Network Sniffer, Available from:
http://www.kismetwireless.net/
[44] F. Fuentes and D. C. Kar, “Ethereal vs. Tcpdump: a comparative study on packet sniffing tools for educational purpose,” Journal of Computing Sciences in Colleges, vol. 20, pp. 169-176, April 2005.
[45] K. Wehrle, F. Pahlke, H. Ritter, D. Muller, and M. Bechler, “The Linux
Networking Architecture – Design and Implementation of Network Protocols in the Linux Kernel,” Prentice Hall, April 2004.
[46] W. Wu and M. Crawford, “The performance analysis of linux networking - Packet receiving,” Computer Communications, vol. 30, issue 5, pp. 1044-1057, March 2007.
[47] B. Henderson, “Linux Loadable Kernel Module HOWTO,” Available from:
http://www.tldp.org/HOWTO/Module-HOWTO/
[48] M. F. Tsao, “Design and Implementation of an Efficient and Configurable Instrument Platform for Linux Network Protocol Stack,” WIN Lab NCTU, 2008.
[49] R. Love, “Linux Kernel Development, 1st edition,” SAMS Publishing, 2003.
[50] J. Corbet, Alessandro Rubini, and Greg Kroah-Hartman, “Linux Device Drivers, 3rd Edition,” O’Reilly, Feb. 2005.
[51] J. Salim, H. Khosravi, A. Kleen, and A. Kuznetsov, “Linux Netlink as an IP Services Protocol,” IETF RFC 3549, July 2003.
[52] T. Zanussi, K. Yaghmour, R. Wisniewski, R. Moore, and M. Dagenais, “relayfs:
An Efficient Unified Approach for Transmitting Data from Kernel to User Space,”
Ottawa Linux Symposium (OLS), July 2003.
[53] relayfs, Available from: http://relayfs.sourceforge.net/
[54] C. Guo and S. Zheng, “Analysis and Evaluation of the TCP/IP Protocol Stack of Linux,” International Conference on Communication Technology Proceedings, vol. 1, pp. 444-453, Aug. 2000.
[55] S. Seth, “TCP/IP Architecture, Design, and Implementation in Linux,”
Wiley-IEEE Computer Society Press, Dec. 2008.
[56] C. Benvenuti, “Understanding Linux Network Internals,” O’Reilly, Dec. 2005.
[57] R. Lehmann and A. Schill, “Linux TCP network stack analysis and partitioning for network processors,” 4th international symposium on Information and
communication technologies, pp. 69-74, 2005.
[58] W. Wu and M. Crawford, “Potential performance bottleneck in Linux TCP,”
International Journal of Communication Systems, vol. 20, issue 11, pp. 1263-1283, Nov. 2007.
[59] S. W. Hsu, “Design and Implementation of a Networking Behavior Analysis Tool for Linux Operating System,” WIN Lab NCTU, 2009.
[60] M. D. Rey, “Internet Protocol,” IETF RFC 791, Sept. 1981.
[61] J. R. Levine, T. Mason, and D. Brown, “Lex & Yacc, 2nd Edition,” O’Reilly, Oct.
1992.
[62] ANSI C grammar (Lex specification), Available from:
http://www.lysator.liu.se/c/ANSI-C-grammar-l.html
[63] ANSI C grammar (Yacc specification), Available from:
http://www.lysator.liu.se/c/ANSI-C-grammar-y.html
[64] The C Preprocessor, Available from: http://gcc.gnu.org/onlinedocs/cpp/
[65] Iperf, Available from: http://sourceforge.net/projects/iperf/