19
Towards a Responsive, Yet Power-efficient, Operating System: A Holistic Approch 2011/08/09 Sunwook Bae

2011/08/09 Sunwook Bae. Contents Paper Info Introduction Overall Architecture Resource Management Evaluation Conclusion References

Embed Size (px)

Citation preview

Page 1: 2011/08/09 Sunwook Bae. Contents Paper Info Introduction Overall Architecture Resource Management Evaluation Conclusion References

Towards a Responsive, Yet Power-efficient, Op-erating System: A Holis-

tic Approch

2011/08/09Sunwook Bae

Page 2: 2011/08/09 Sunwook Bae. Contents Paper Info Introduction Overall Architecture Resource Management Evaluation Conclusion References

ContentsPaper InfoIntroductionOverall ArchitectureResource ManagementEvaluationConclusionReferences

Page 3: 2011/08/09 Sunwook Bae. Contents Paper Info Introduction Overall Architecture Resource Management Evaluation Conclusion References

Paper Info (1/2)Publish

In Proceedings of the 13th IEEE International Sympo-sium on Modeling, Analysis, and Simulation of Com-puter and Telecommunication Systems(MASCOTS), Sept. 2005

AuthorLe Yan, Lin Zhong, Niraj K. Jha Department of Electrical Engineering Princeton University

Ph.D. Students graduated, Sept. '06

Page 4: 2011/08/09 Sunwook Bae. Contents Paper Info Introduction Overall Architecture Resource Management Evaluation Conclusion References

Paper Info (2/2)Documents

Joint dynamic voltage scaling and adaptive body bi-asing for heterogeneous distributed real-time em-bedded systems (IEEE Transactions on Computer-Aided Design of Integrated Circuits and Systems 24 (7), pp. 1030-1041)

User-perceived latency driven voltage scaling for in-teractive applications (Proceedings – ACM Design Automation Conference 2005, art. no. 38.3, pp. 624-627)

Combined Dynamic Voltage Scaling and Adaptive Body Biasing for Heterogeneous Distributed Real-time Embedded Systems (IEEE/ACM International Conference on Computer-Aided Design 2003, Digest of Technical Papers, pp. 30-37)

Page 5: 2011/08/09 Sunwook Bae. Contents Paper Info Introduction Overall Architecture Resource Management Evaluation Conclusion References

Introduction (1/2)Approach

Problem: existing OSs do not provide satisfac-tory responsiveness

Propose a holistic approach Process scheduling Memory management Disk I/O scheduling Dynamic voltage scaling (DVS) X client scheduling in the X Windows system

Page 6: 2011/08/09 Sunwook Bae. Contents Paper Info Introduction Overall Architecture Resource Management Evaluation Conclusion References

Introduction (2/2)Modern interactive applications

are from Textual app to Video games, sophisti-cated simulation, and virtual reality environ-ments

Inaccurate interactivity estimation CPU load [1] vs I/O load [2] TuxRacer [3]: CPU bounded I/O bounded

CPU usage 96%

Page 7: 2011/08/09 Sunwook Bae. Contents Paper Info Introduction Overall Architecture Resource Management Evaluation Conclusion References

Overall Architecture (1/2)

Page 8: 2011/08/09 Sunwook Bae. Contents Paper Info Introduction Overall Architecture Resource Management Evaluation Conclusion References

Overall Architecture (2/2)SetXserverPid()

Notify the pid of the X server to the kernel as soon as the X server is started and give a prior-ity bonus

SetFocusProcess()Reset priorities and find the processes currently

under user focus, and then set their focus_flagBoost the priorities and maximizes the page

agesSetCpuSpeed()

Adjust the frequency/supply voltage based on the information on the user-perceived latency [7]

Page 9: 2011/08/09 Sunwook Bae. Contents Paper Info Introduction Overall Architecture Resource Management Evaluation Conclusion References

Resource Management (1/5)Tracking of Processes Under Focus

PidWindow server

Window client

Window client

Window client[4]

Page 10: 2011/08/09 Sunwook Bae. Contents Paper Info Introduction Overall Architecture Resource Management Evaluation Conclusion References

Resource Management (2/5)Process management

Add a new field (focus_flag) to the task descrip-tor indicating that the process is currently under user

focus 1 for leaf-focus process 2 for other processes under user focus 0 for others

Once the user switches focus, the kernel clears and resets the focus-flag

The priorities of the processes under user focus are boosted (gives a bonus value -15)

Page 11: 2011/08/09 Sunwook Bae. Contents Paper Info Introduction Overall Architecture Resource Management Evaluation Conclusion References

Resource Management (3/5)Memory management

Reduce the page faults of the processes under user focus

Maximize the age of the pages in the code segment of the leaf-focus process

Page 12: 2011/08/09 Sunwook Bae. Contents Paper Info Introduction Overall Architecture Resource Management Evaluation Conclusion References

Resource Management (4/5)Disk I/O scheduling

Look [24]: keep moving in one direction and switch

I/O request 89, 185, 45, 127, 56, 123, 68, 72, 23

Page 13: 2011/08/09 Sunwook Bae. Contents Paper Info Introduction Overall Architecture Resource Management Evaluation Conclusion References

Resource Management (5/5)X client scheduling

X server to give the X client under user focus the highest priority temporarily [6]

Latency-driven DVS [7]

Page 14: 2011/08/09 Sunwook Bae. Contents Paper Info Introduction Overall Architecture Resource Management Evaluation Conclusion References

Evaluation (1/3) IBM Thinkpad R32 laptop

RedHat Linux 9.0 with 2.4.20 ker-nel, with XFree86 4.3 and KDE desktop environment

Page 15: 2011/08/09 Sunwook Bae. Contents Paper Info Introduction Overall Architecture Resource Management Evaluation Conclusion References

Evaluation (2/3)

Page 16: 2011/08/09 Sunwook Bae. Contents Paper Info Introduction Overall Architecture Resource Management Evaluation Conclusion References

Evaluation (3/3)

Page 17: 2011/08/09 Sunwook Bae. Contents Paper Info Introduction Overall Architecture Resource Management Evaluation Conclusion References

ConclusionPropose and implement a user focus-aware

resource management techniqueShow how computer responsiveness can be

improved in the Linux/X systemOnly minimal changesFully based on existing process, memory, and

disk I/O mechanisms in LinuxThe impact on background applications is still

in the acceptable range

Page 18: 2011/08/09 Sunwook Bae. Contents Paper Info Introduction Overall Architecture Resource Management Evaluation Conclusion References

References[1] I. Molnar, “Goals, design and implementation of

the new ultra-scalable O(1) scheduler,” Jan. 2002[2] Y. Etsion, D. Tsafrir, and D. Feitelson, “Human-

centered scheduling of interactive and multimedia applications on a loaded desktop,” Tech. Rep., He-brew University, Mar. 2003.

[3] TuxRacer, http://www.tuxracer.com.[4] Y. Endo and M. Seltzer, “Improving interactive

performance using TIPME,” in Proc. ACM Int. Conf. Measurement & Modeling of Computer Systems, 2000.

Page 19: 2011/08/09 Sunwook Bae. Contents Paper Info Introduction Overall Architecture Resource Management Evaluation Conclusion References

References[5] Linux kernel source code, version 2.4.20,

http://lxr.linux.no/source/drivers/block/elevator.c.[6] K. Packard, “Efficiently scheduling X clients,” in

Proc. USENIX Technical Conf., 2000[7] L. Yan, L. Zhong, and N. K. Jha, “User-perceived

latency driven voltage scaling for interactive ap-plications,” in Proc. Design Automation Conf., 2005