Debugging und Fehlerdiagnose in Verteilten Systemen

Seminar 19568 - FU Berlin, Wintersemester 2009 / 2010

Artur Andrzejak (ZIB)

Hier sind die Links zu den eingereichten Folien und zu den Ausarbeitungen.

Inhalte

Verteilte und parallele Systeme werden zunehmend in der industriellen Praxis (z.B. als Web Services), wissenschaftlichen Rechnen (massiv-parallele Simulation in Naturwissenschaften / Biologie) als auch in Konsumentenbereichen (z.B. on-line multiplayer games) verwendet. Die zugrundeliegende Software ist jedoch erheblich schwieriger zu Testen und zu Debuggen als die traditionellen Ein-Programm-Anwendungen, was u.a. durch den Nichtdeterminismus der parallelen und verteilten Ausführung bedingt ist. Weiterhin ist die Diagnose der Fehler (d.h. root cause analysis) in solchen Systemen sehr aufwändig und wird zur Zeit als das Hauptproblem des Managements von industriellen IT-Infrastrukturen angesehen. Im Seminar werden wir in einzelnen Vorträgen die dringenden Probleme, die existierenden Methoden, als auch die praktischen Werkzeuge zur Lösung dieses Problems in den oben genannten Anwendungsbereichen kennenlernen. Die Veranstaltung ist insbesondere interessant für Teilnehmer, die einen Weg in die Selbständigkeit planen und nach praxisrelevanten Diplomthemen und Produktideen suchen.

Organisatorisches

Termine

Vorträge und Ausarbeitungen

    Wichtig:

Vortragsbewertung


Referenten und Termine

Vorname Name Thema Termin
Rene Richter Motiv-1 1
Phillip
Strathausen
Motiv-2
1
Martin Dames Monitor-1 1
Noam Yogev Diagnose-1 1
Stefan Lenz Debug-1 1
Marie Hoffmann Debug-2 2
Niels-Peter Hiss Debug-4 2
Franz Gatzke Monitor-3 2
Björn Kahlert Diagnose-2 2
Ludwig Ortmann Diagnose-4 2
Felix Langner Debug-3 2
Alexandru Todor Debug-6 2
Jan Frederik Boldt Diagnose-3 2

Themen

Motivation und Problemstudien (Motiv)

  1. Soila M. Pertet and Priya Narasimhan. Causes of Failure in Web Applications. Technical Report PDL-CMU-05-109, Carnegie Mellon University, December 2005. Paper.
  2. T. Dumitras and P. Narasimhan.Why Do Upgrades Fail And What Can We Do About It? Toward Dependable, Online Upgrades in Enterprise Systems. In ACM/IFIP/USENIX Conference on Middleware, Urbana-Champaign, IL, Nov.-Dec. 2009. Paper.
  3. Brewer, E.A. Lessons from giant-scale services. Internet Computing, IEEE, Jul/Aug 2001, Volume: 5,  Issue: 4, On page(s): 46-55. Paper
  4. Andrew C. Huang, Armando Fox. Cheap recovery: a key to self-managing state. Trans. Storage, Vol. 1, No. 1. (February 2005), pp. 38-70. Paper.

Monitoring und Analyse von Systemdaten (Monitor)

  1. Wei Xu. Peter Bodık. David Patterson. A Flexible Architecture for Statistical Learning and Data Mining from System Log Streams.(ICDM'04), Brighton, UK, November 2004. Paper.
  2. Wei Xu, Ling Huang, Armando Fox, David Patterson, and Michael Jordan. Mining Console Logs for Large-Scale System Problem Detection. Proc. SysML 2008. Paper.
  3. Peter Bodik et. al.. Advanced Tools for Operators at Amazon.com. In Workshop on Hot Topics in Autonomic Computing (HotAC '06). Dublin, Ireland, June 2006. Paper. UND: Jiaqi Tan, Xinghao Pan, Soila Kavulya, Rajeev Gandhi and Priya Narasimhan. Mochi: Visual Log-Analysis Based Tools for Debugging Hadoop. USENIX Workshop on Hot Topics in Cloud Computing (HotCloud), San Diego, CA (June 2009). Paper.
  4. Thottan, M.   Chuanyi Ji. Anomaly detection in IP networks. IEEE Transactions on Signal Processing, Volume: 51,  Issue: 8, On page(s): 2191- 2204. Paper.

Fehlerdiagnose in komplexen Systemen (Diagnose)

  1. Gautam Altekar and Ion Stoica. ODR: Output-Deterministic Replay for Multicore Programs. In Proc. 22nd ACM Symposium on Operating Systems Principles (SOSP 2009). Paper.
  2. Peter Bodik, Moises Goldszmidt, Armando Fox. HiLighter: Automatically Building Robust Signatures of Performance Behavior for Small- and Large-Scale Systems. Proc. SysML 2008, San Diego, CA, December 2008. Paper; UND: Songyun Duan and Shivnath Babu. Empirical Comparison of Techniques for Automated Failure Diagnosis. Proc. SysML 2008, San Diego, CA, December 2008. Paper.
  3. Emre Kıcıman, Armando Fox. Detecting Application-Level Failures in Component-based Internet Services. IEEE Trans. on Neural Networks, Special Issue on Adaptive Learning Systems in Communication Networks (invited paper), Sept. 2005. Paper.
  4. Brodie, M.; Rish, I.; Ma, S. Intelligent probing: A cost-effective approach to fault diagnosis in computer networks. IBM Systems Journal | September 1, 2002. Paper.

Automatisches Debugging und Testing (Debug)

  1. Ali Mesbah, Arie van Deursen. Invariant-based automatic testing of AJAX user interfaces. Proceedings of the 2009 IEEE 31st International Conference on Software Engineering, 2009, Pages 210-220. Paper.
  2. Andrew J. Ko and Brad A. Myers. Debugging Reinvented: Asking and Answering Why and Why Not Questions about Program Behavior. ICSE’08, May 10-18, 2008, Leipzig, Germany. Paper.
  3. Trishul Chilimbi, Ben Liblit, Krishna Mehra, Aditya V. Nori, and Kapil Vaswani. Holmes: Effective Statistical Debugging via Efficient Path Profiling.  Proceedings of the International Conference on Software Engineering (ICSE), 2009. Paper.
  4. Andreas Zeller. Isolating Cause-Effect Chains from Computer Programs. Proc. ACM SIGSOFT 10th International Symposium on the Foundations of Software Engineering (FSE-10), Charleston, South Carolina, November 2002. Paper und Software. (Zur Einführung sehe auch: Andreas Zeller. Yesterday, my program worked. Today, it does not. Why?  Proc. ESEC/FSE 99, Toulouse, France, September 1999, Vol. 1687 of LNCS, pp. 253-267. Paper.)
  5. Alice Zheng, Michael I. Jordan, Ben Liblit, Naik Mayur and Alex Aiken. Statistical Debugging: Simultaneous Identification of Multiple Bugs. In International Conference on Machine Learning (ICML '06), New York: ACM Press, 2006. Paper.
  6. Tools und Ansätze zum Debugging von parallelen und verteilten Anwendungen. Ein Vortrag zur eigenen Gestaltung (Quellen müssen selbst ausgewählt werden).

Ergänzende Literatur und Links zum Thema Unternehmensgründung (keine Vortragsthemen)