"Network kernel system" and "free software" are two important foundations of the network commnunication industry. They are also what "Network Benchmark Lab (NBL, led by Prof. Ying-Dar Lin)" at NCTU has taken all the efforts for since its founding 8 years ago. NBL has satisfied the requirement of benchmarking through testing 600+ products from 100+ manufacturers and also 23 public benchmarking activities. One step further, NBL has begun to cooperate with a research team at NCTU 2 years ago, and designed a series of tools and test items under the NSC project "Benchmarking embedded networking and communication devices: experiment, development, and deployment of methodologies and tools". The results have been integrated to "EBL (Embedded Benchmarking Lab) Test Suite v1.0".
However, through the testing at the application level or the huge debugging logs at the lower level, it's hard to figure out which causes the performance bottleneck among software design, JAVA run time environment, driver optimization, and hardware conflict. To inspect the performance of each level efficiently and to construct a benchmarking environment for an embedded system, the main project is responsible for developing the technique of embedded system automatic control to provide the automatically generated workload of application programs to sub-projects such that sub-projects can proceed the related analysis.
Sub-project 1 and sub-project 2 provide performance and power consumption test tools, respectively, and figure out the performance and the power consumption of software or the whole system in a top-down manner. Sub-project 4 and sub-project 5 evaluate the performance of hardware processing and file system accessing from the hardware viewpoint in a bottom-up manner. The relation with system kernel and device driver for software/hardware integration induces the coordination in sub-project 3. Sub-project 3 integrates all the other sub-projects to examine the services (e.g., CPU scheduling, cache allocation, power management, I/O scheduling, buffer algorighm) that could affect system performance. Finally, in addition to assisting each sub-project to construct the emebedded system benchmarking environment, the "Cloud Computing" environment construction is included in the main-project. Through the network connectivity, the "Cloud Computing" truly provides the embedded system extended capacity. Therefore, the main-project proposes a reference design to offload heavy computations and integrates it to sub-project 1 and sub-project 2 for performance and power consumption profiling. The division and mapping of the whole project are done with the architectural concepts of embedded systems. It's divided into several levels to provide differenct benchmarking, profiling, and optimization services to manufacturers. The standards definition, architecture design, and experimental results of benchmarking tools shall be finished in the 1st year. In the 2nd year, the first version of benchmarking tools will be used by NBL for product testing. Meanwhile, the source code shall be released. In the last year, the tools shall be customized and turned into products for in-house testing by manufacturers.