Usage History-based Architectural Scheduling * Dongsun Kim, Seokhwan Kim, and Sooyong Park Department of Computer Science and Engineering, Sogang University Shinsoo-dong, Mapo-Gu, Seoul, Korea darkrsw@sogang.ac.kr, goatkhan@gmail.com, sypark@sogang.ac.kr Abstract Waiting a long time for software applications to load typically elicits an adverse response from the user. This negative response eventually leads to decreased user sat- isfaction. The waiting time can be reduced by executing the application in improved hardware computing devices and by optimizing the algorithms constituting the application; however, these solutions are costly. An alternative approach is to overlap the execution and waiting times. Although this approach does not reduce the actual waiting time, it can reduce the user’s waiting time. This study proposes an ap- proach to decrease the waiting time by scheduling archi- tectural units. The study formulates the dynamic architec- tural scheduling problem and it provides an overlapping ap- proach to the problem on the basis of the formulation. This approach anticipates subsequent tasks from previous usage history and launches the corresponding components of the anticipated tasks in the task architectures. Evaluation of this approach shows that it effectively schedules applica- tions and reduces waiting time. 1. Introduction In spite of enhancements in contemporary computing systems, increasing the functions of software applications still leads to longer waiting times. Protracted waiting times result in low user satisfaction. One possible approach to de- crease the waiting time is to use faster, improved computing devices; however, this leads to increased cost. Another pos- sible approach is to overlap the application’s execution and preparation times (i.e., loading and initialization time). Al- though this approach cannot fundamentally reduce the load- ing and initialization time of software systems, it can reduce the user’s waiting time. * This research was performed for the Intelligent Robotics Development Program, one of the 21st Century Frontier R&D Programs funded by the Ministry of Knowledge Economy (MKE). Another possible reason for an increase in waiting time is memory swapping. In a system, when the memory space used by the applications in a system exceeds the physically provided memory size, the system uses secondary storage (e.g., magnetic disks) as the memory space. This causes re- peated storage accesses, which may lead to delays in load- ing. Therefore, this study provides a scheduling method for an application in a limited memory space. In this study, we formulate the abovementioned problem into a dynamic architectural scheduling problem. This for- mulation defines tasks, task architectures, and components. The objective of this formulation is to minimize the waiting time by optimally scheduling the software architecture. On the basis of the formulation, an overlapping approach to de- crease the waiting time is proposed. The approach provides a prediction algorithm that anticipates the subsequent user tasks in a short time. Although the prediction results are not optimal, the approach provides sufficiently good results without increasing the user’s waiting time. After anticipating the subsequent tasks, this approach loads and initializes components in the task architectures. During this period, newly loaded and existing components can exceed the specified memory space. Our approach ap- plies a replacement algorithm based on the least recently used (LRU) principle. This algorithm removes components that were used a long time ago and maintains the appli- cation without exceeding the specified memory space. On the basis of the prediction and replacement algorithms, this approach deals with the dynamic architectural scheduling problem. The remainder of this paper is organized as follows: Sec- tion 2 relates this approach to existing work. Section 3 provides a motivating example that requires dynamic archi- tectural scheduling. Section 4 formulates the dynamic ar- chitectural scheduling problem. In Section 5, we propose our approach to the dynamic architectural scheduling prob- lem; that the proposed approach comprises prediction and replacement algorithms. Section 6 evaluates our approach in terms of accuracy and applicability. Finally, Section 8 provides the conclusion and suggests further studies. 2009 33rd Annual IEEE International Computer Software and Applications Conference 0730-3157/09 $25.00 © 2009 IEEE DOI 10.1109/COMPSAC.2009.65 443