<<

2016 International Conference on Artificial Intelligence and Computer Science (AICS 2016) ISBN: 978-1-60595-411-0

UKUI: A Lightweight Based on Pluggable Framework for Distribution Jie YU1, Lu SI1,*, Jun MA1, Lei LUO1, Xiao-dong LIU1, Ya-ting KUANG2, Huan PENG2, Rui LI1, Jin-zhu KONG2 and Qing-bo WU1 1College of Computer, National University of Defense Technology, Changsha, China 2Tianjin KYLIN Information Technology Co., Ltd, Tianjin, China *[email protected] *Corresponding author

Keywords: Desktop environment, , .

Abstract. Ubuntu is an with Linux kernel based on and distributed as free and open-source . It uses as its default desktop environment, which results in more difficulties of usage for Windows users. In this paper, we present a lightweight desktop environment named UKUI based on UbuntuKylin, the official Chinese version of Ubuntu, for . It is designed as a pluggable framework and provides better user experience during human-computer interaction. In order to evaluate the performance of UKUI, a set of testing bench suits were performed on a . Overall, the results showed that UKUI has better performance compared with Unity.

Introduction Linux is a freely available operating system (OS) originated by Linux Torvalds and further developed by thousands of others. Typically, Linux is packaged in a form known as a Linux distribution for both desktop and server use. Some of the most popular mainstream Linux distributions are Red Hat [1], Ubuntu [2], Arch [3], openSUSY [4], Gentoo [5], etc. There are several desktop environments available for nowadays modern Linux distributions, such as [6], GNOME [7], KDE [8] and LXDE [9]. Both GNOME and KDE are rich, robust desktop environments that provide their own managers. For usderlying graphical toolkit, GNOME uses a known as GTK, while KDE uses one called . XFCE and LXDE are lightweight desktops and attempt to strike a balance between the heavy resource requirements and corresponding power of rich desktop environments. Ubuntu is a Debian-based Linux distribution founded in 2004 and has become one of the most popular operating system around the world. The default desktop environment of Ubuntu is Unity, which is a graphical for the GNOME. Unlike other operating systems, there is not on Unity desktop. To or run an application, you should use the Launcher sitting on the left of the screen. As we know, [10] is the most successful operating system for personal computer and has designed the past user experience of computer use. For some users, they cannot adopt a new user interface quickly. In this paper, we will show a new desktop environment customized for Ubuntu named UKUI (UbuntuKylin [11] User Interface). UKUI is a custom distribution of Ubuntu Mate [12] (a desktop environment forked from GNOME 2) and provides a simpler and more enjoyable experience for browsing, searching, and managing your software. It is similar to the desktop environments found under Microsoft Windows and is a powerful graphical interface with all the features that you’d expect in a modern operating system desktop. To evaluate the performance impact of UKUI to the operating system, we performed multiple tests to test various aspects of the system’s performance on a personal computer. In general, the performance is better than Unity with the same kernel.

368

The remainder of the paper is organized as follows: The next section briefly introduces the UKUI framework. Then, we show the user interface of UKUI and evaluate the performance of it and compare with the default desktop environment Unity. Finally, we conclude this paper and discuss the future work.

The UKUI Framework In tradition desktop environments, , , control panel and other interactive modules are implemented separately. This leads to the different of each module style and may impact the user experience. On the other hand, the relation among various modules becomes more complex, and thus adds to difficulties of system development. In view of the above problems, UKUI designs a pluggable framework based on the integrated desktop environment. The framework defined a set of standard interface for desktop items (such as taskbar, start menu and control panel, etc.) which called plugins. The pluggable framework differs from extensions, which modify or add to existing functionality. Fig. 1 shows the framework of UKUI. The core component provides services which the plugin can use, including a way for plugins to register themselves with the core component and a protocol for the exchange of data with plugins. Plugins depend on the services provided by the core component and do not usually work by themselves. The core component operates independently of the plugins, making it possible for front-end and back-end developers to add and update plugins dynamically without needing to make changes to the core component.

Figure 1. The framework of UKUI. Plugins relies on the interfaces provided by the core component and a well-defined boundary to their possible set of actions. It offers facilities for developers to change the font, menu border, dialog style and any other desktop items conveniently and keep the consistency of the desktop theme. Generally speaking, this pluggable framework enhances the modularity, flexibility, and extensibility of software.

User Interface In this section, we will briefly describe the user interface of UKUI. Fig. 2 shows the default UKUI desktop on an UbuntuKylin Linux system the first you log in. The start menu (at the bottom left corner) contains many elements (shortcuts or submenus) to access different computer resources. Poweroff button is the closest item to start menu. When the user have finished working, they can choose this button to log out, suspend, hibernate, restart or shut down

369 through the session indicator. The search box is on the right side of Poweroff button and you can search for applications or files by using it. UbuntuKylin operating system offers many free applications by default to cover user’s needs, such as office suites, games, web browser, multimedia players, IDEs and so on. The user can visit them from the start menu or double click icon shortcuts on the desktop. Besides, UbuntuKylin supports a wealth of application available via the software center. In Fig. 2, the desktop contains 3 shortcuts (computer, user’s home folder and ) while the taskbar contains 2 shortcuts (web browser and user’s home folder) by default. To add a shortcut on your desktop or taskbar, right click on an existing menu entry from the start menu or application and choose the “Add to desktop” or “Lock to panel” option respectively.

Figure 2. UKUI desktop. The mouse operation is familiar with other common desktop environments. Left button single clicking selects an icon, menu, or object within an application; double clicking on a desktop icon opens the item associated with that icon; holding down the left button an dragging a selected object moves that object; right button single clicking displays any context-sensitive menu that is available at the current cursor position. Also, the reaction of the mouse can be configured at the control center. The user can open the Personalization application window from the control center to customize their own desktops. The desktop appearance, themes, wallpapers, accessibility, and other configuration settings are available there. For more information, please visit our website at http://www.ubuntukylin.com/.

Evaluation In this section, we evaluated the performance impact of UKUI to the operating system and compared with the default desktop environment of Ubuntu, i.e., Unity. All experiments were performed on a computer with the configuration given in Table 1. We choose the benchmark tool Unixbench 5.1.3 [13] benchmark suite to evaluate the computation performance. In the Unixbench benchmark suite, several different tests were carried out to evaluate the overall performance of the system. Based on the scores of different tests, a system level score was

370

calculated. Specifically, we run the testing suits (running 1 parallel copy of tests) with UKUI and Unity respectively. Table 1. The configuration of the machine. Item Configuration Machine Dell Vostro 3900 CPU Intel® Core™ -4130 Hard disk TOSHIBA DT01ACA050 500GB RAM 4G Video card NVIDA NVD9 Network card Gigabit Kernel 4.4.0-21-generic-x86_64

The Dhrystone is used to measure and compare the performance of computers and focuses on string handling, as there are no floating point operations. The Whetstone contains several modules that are meant to represent a mix of operations typically performed in scientific applications and is used to measure the speed and efficiency of floating-point operations. The Throughput measures the number of execl (is part of the family of functions that replaces the current image with a new process image) calls that can be performed per second. The File Copy benchmark measures the rate at which data can be transferred from one file to another, using various buffer sizes. For small buffer sizes, the system call overhead dominates the time to copy the file. As the buffer size increases, the time to copy the file becomes dominated by the unaffected memory copying costs. The Pipe measures the number of times a process can write 512 bytes to a pipe and read them back per second. The Process Creation measures the number of times a process can fork and reap a child that immediately exits. The Shell Scripts measures the number of times per minute a process can start and reap a set of 1 and 8 concurrent copies of a shell scripts where the shell script applies a series of transformation to a data file. The System Call Overhead estimates the cost of entering and leaving the operating system kernel. The results are illustrated in Table 2, which shows that comparing to Unity, UKUI performed slightly inferior in some cases (e.g. File Copy), but overall, UKUI has a better performance. Table 2. The test result of Unixbench.

Result Index Sore

increas incre UKUI Unity UKUI Unity increase UKUI Unity e ase Dhrystone 2 using register variables ( lps ) 39289742 37696658 4.23% 3366.7 3230.2 4.23%

Double-Precision Whetstone ( MWIPS ) 2840.1 2790.2 1.79% 516.4 507.3 1.79%

Execl Throughput ( lps ) 5830.7 5132.5 13.60% 1356 1193.6 13.61%

File Copy 1024 bufsize 2000 maxblocks ( KBps ) 1070730 1154342 -7.24% 2703.9 2915 -7.24% -11.85 File Copy 256 bufsize 500 maxblocks ( KBps ) 305621 346714.4 1846.7 2095 -11.85% % File Copy 4096 bufsize 8000 maxblocks 2620387 2627109 -0.26% 4517.9 4529.5 -0.26% 5.58 ( KBps ) 2100.7 1989.6 % Pipe Throughput ( lps ) 2898908 2711799 6.90% 2330.3 2179.9 6.90%

Pipe-based Context Switching ( lps ) 252389.8 253247.1 -0.34% 631 633.1 -0.33%

Process Creation ( lps ) 18925 16465.3 14.94% 1502 1306.8 14.94%

Shell Scripts (1 concurrent) ( lpm ) 15237.6 12307.4 23.81% 3593.8 2902.7 23.81%

Shell Scripts (8 concurrent) ( lpm ) 3515.3 2782.4 26.34% 5858.8 4637.4 26.34%

System Call Overhead ( lps ) 4480557 4394005 1.97% 2987 2929.3 1.97%

371 We used Unixbench graphics benchmark to measure the 2D and 3D graphics performance of the system. This benchmark consists of the ubgears program to measure 3D performance and the test result is very limited. To further access the performance impact of web browser, we chose 3 universal online testing system, html5test [14], acidtest [15] and sunspider [16]. It is noteworthy that both two desktop environment choose the Firefox as the default web browser. Table 3 and Table 4 show the comparison results with respect to performance of graphics and web browser respectively. We can see that UKUI is slightly superior to Unity. For sunspider testing system, lower score indicates better performance. Table 3. The test result of Unixbench graphics.

Score Index

UKUI Unity UKUI Unity increase Test-2d

aa polygons 7471.2 7247.9 4980.8 4832 3.08%

ellipses 3807.7 3604.6 2538.5 2403.1 5.63%

images and blits 223116.4 214393 148744.2 142928.7 4.07%

rectangles 1417.1 1232 944.7 821.4 15.01%

text 20889.2 18769.7 13926.1 12513.2 11.29%

windows 816.2 661.1 544.1 440.7 23.46%

2D Graphics Benchmarks Index Score: 4877.4 4426 10.20%

3D gears 60 60 18.0 18.0 0.00%

3D Graphics Benchmarks Index Score: 18 18 0.00% Table 4. The test result of web browser.

UKUI Unity increase

html5test 433.00 456.00 -5.04%

acidtest 100.00 100.00 0.00% -4.57% sunspider(ms) 160.80 168.50

Conclusions In this paper, we started the discussion from the introduction of some popular desktop environments based on Linux. Then we discussed and analyzed the pluggable framework of UKUI. We generate skeletons, define interfaces and derive from the skeletons to develop partial functional components that are extracted and packed as plugins. During the development of UKUI, we observed that aggregation is more important than inheritance when defining interfaces. Because inheritance is too static to reflect the ability of plugging in additional functionality and interfaces at runtime. Next, we gave a brief introduction about the default user interface of UKUI and described some basic operations on the desktop. Finally, we evaluated the performance impact of UKUI and compared with Unity. In future, we will extend this work by customizing this distribution to improve the human-computer interaction for the user experience.

Acknowledgements We thank National University of Defense Technology for providing essential conditions to accomplish this paper. This work is supported by the NSFC under Grant 61103015, 61303191, 61402504 and 61303190.

372

References [1] Mourani, Gerhard. "Securing and optimizing Linux: RedHat edition." (2000). [2] Information on http://www.ubuntu.org.cn/global. [3] Information on https://www.archlinux.org/. [4] McCallister, Michael. openSUSE Linux Unleashed. Sams, 2007. [5] Thiruvathukal, George K. ": the next generation of linux."Computing in Science and Engineering 6.5 (2004): 66-74. [6] Fourdan, Olivier. "Xfce: A Lightweight Desktop Environment." Annual Linux Showcase & Conference. 2000. [7] De Icaza, Miguel, et al. "The GNOME desktop environment." Proceedings of the annual conference on USENIX Annual Technical Conference. USENIX Association, 1998. [8] Suvorov, Roman, et al. "An empirical study of build system migrations in practice: Case studies on KDE and the Linux kernel." Software Maintenance (ICSM), 2012 28th IEEE International Conference on. IEEE, 2012. [9] Information on http://lxde.org/. [10] Information on https://www.microsoft.com/zh-cn. [11] Information on http://www.ubuntukylin.com/. [12] Information on http://ubuntu-mate.org/. [13] Smith, Ben, et al. "Byte-unixbench: A benchmark suite." (2011). [14] Information on http://html5test.com/. [15] Information on http://acid3.acidtests.org/. [16] Information on http://www.webkit.org/perf/sunspider-1.0.2/sunspider-1.0.2/driver.html.

373