Turno Noche (19 a 22 horas)
Raimondas Lencevicius, Nokia Research Center, EEUU
(Curso en inglés)
http://alumni.cs.ucsb.edu/~raimis/
Raimondas Lencevicius is currently a Program Manager leading "Software and
System Performance" program in the Software and Application Technologies
Laboratory at Nokia Research Center. He has been researching various
aspects of performance analysis for over 4 years. Raimondas has published
papers on the topics of performance data collection, fixed priority
scheduling, schedulability estimation, and power consumption validation in
a number of international conferences and workshops. Raimondas Lencevicius
received his Ph.D. in 1999 from the Computer Science Department at
University of California, Santa Barbara for thesis on "Query-Based
Debugging". In 2000 his monograph "Advanced Debugging Methods" was
published by Kluwer Academic Publishers. Raimondas is a program co-chair
for AADEBUG'2005 (Sixth International Symposium on Automated and
Analysis-Driven Debugging) and WODA'2004 (Second International Workshop on
Dynamic Analysis), and has participated in program committees of other
conferences and workshops. Raimondas lives with his wife near Boston, USA
and enjoys martial arts, ballroom dancing, and MMORPGs.
Objetivos del Curso:
The course will cover state of the art and research directions in analyzing software performance and managing resources on software systems. The material of this course is based on hands-on experience in creating tools and analyzing software systems at Nokia Research Center. Although the focus of some methods may be embedded and mobile devices, a lot of approaches are applicable to a wide variety of software systems including personal computer software, web services, server software and so on.
The course is based on the cutting edge research papers and books authored by leading experts in runtime software analysis field. A number of performance analysis tools will be demonstrated during the course. Most of them are freely downloadable, so students have an opportunity to try out and use the same tools outside the course.
Since software performance is a large field, one week course necessarily has to limit its scope. Therefore this course will not cover: low-level system analysis and optimization (caches, etc.), general profiling, low level and algorithmic optimization.
Knowledge in programming, debugging and basic profiling of computer programs is expected. The course will be taught in English.
Programa:
This outline covers the topics to be covered in the course.
- Software performance and resource management motivation
- Moore's law limitations
- Physical limitations
- Economic limitations
- Performance Requirements
- Performance Assertions (Perl, Nokia research)
- Performance Data Collection
- Performance data collection process
- Performance data collection via tracing, sampling and hybrid approaches (DCPI, Dyninst, Pin, Nokia research)
- Performance Data Visualization
- Evolve / NGage profiler
- COTS use (Excel - Perf tool)
- Performance Modeling and Planning
- Regression models (Raj Jain)
- Layered Queueing Networks
- Cycle accurate simulation
- Use case modeling
- Component extraction
- Resource Aware Computing
- Energy Aware Software (Flinn)
- Dynamic Voltage and Frequency Scaling (DVFS, Mark Weiser et al)
- Resource Aware Software Frameworks (Robocop / Space4U)
- Scheduling
- Fixed priority scheduling and recent advances
- Scheduling and resource aware computing
Requisitos:
- Familiarity with at least 1 programming language and having written
reasonable size program in it (~1000 lines) - Familiarity with debugging
and basic profiling tools
- Familiarity with software engineering would be helpful, but not
absolutely necessary.
Bibliografía:
References here are presented within the context of the course outline. I.e. papers are referenced at the sections of
the course where they will be covered.
- Software performance and resource management motivation
- Moore's law limitations
- Physical limitations
- Economic limitations
- Performance Requirements
- Performance Data Collection
- Performance data collection process
- Performance data collection via tracing, sampling and hybrid approaches (DCPI, Nokia research)
- "Continuous Profiling: Where Have All the Cycles Gone?", Jennifer M. Anderson, Lance M. Berc,
Jeffrey Dean, Sanjay Ghemawat,Monika R. Henzinger, Shun-Tak A. Leung, Richard L. Sites, Mark T.
Vandevoorde, Carl A. Waldspurger, and William E. Weihl
http://www-plan.cs.colorado.edu/diwan/7135/p357-anderson.pdf
- Pin, http://rogue.colorado.edu/Pin/index.html
- Dyninst, http://www.dyninst.org
- Performance Data Collection Using Hybrid Approach, Metz, Edu; Lencevicius, Raimondas; Gonzalez,
Teofilo;
- Performance Data Visualization
- Evolve / NGage profiler
- COTS use (Excel - Perf tool)
- A Performance Analysis Tool for Nokia Mobile Phone Software,
Metz, Edu; Lencevicius, Raimondas;
5th International Workshop on Automated and Algorithmic Debugging (AADEBUG 2003
http://aadebug2003.elis.rug.ac.be/ ), September 2003
- Performance Modeling and Planning
- Regression models (Raj Jain)
- Raj Jain, "The Art of Computer Systems Performance Analysis", Wiley 1992.
- Layered Queueing Networks
- Cycle accurate simulation
- Use case modeling
- Component extraction
- Model Based Estimation and Verification of Mobile Device Performance,
Raghavan, Gopal; Salomaki Ari, Lencevicius Raimondas;
Proceedings of the International Conference on Embedded Software (EMSOFT 2004
http://www.emsoft.org/ ), September 2004
- Resource Aware Computing
- Energy Aware Software (Flinn)
- Dynamic Voltage and Frequency Scaling (DVFS, Mark Weiser et al)
- Resource Aware Software Frameworks (Robocop / Space4U)
- Scheduling
- Fixed priority scheduling and recent advances
- Scheduling and resource aware computing
- Applying Fixed Priority Scheduling in Practice,
Lencevicius, Raimondas; Ran, Alexander;
Proceedings of the Fourth International Workshop on Software and Performance (WOSP 2004
http://wosp.zeesource.net/), January 2004
- Making Fixed Priority Scheduling Methods Work in Practice,
Lencevicius, Raimondas; Ran, Alexander;
Proceedings of the 24th IEEE International Real-Time Systems Symposium (RTSS 2003
http://rtss2003.ece.cmu.edu/ ), December 2003
- Recovery, Analysis and Improvement of Runtime Architecture of Mobile Phone Software,
Ran, Alexander; Lencevicius, Raimondas;
Proceedings of the fourth European Software Engineering Conference (ESEC 2003
http://esecfse.cs.helsinki.fi/ ), September 2003
|