Anhang C. Fehlersuche mit Ray
Je nach deinen Debugging-Techniken kann der Wechsel zu verteilten Systemen neue Techniken erfordern. Glücklicherweise ermöglichen es dir Tools wie Pdb und PyCharm, Remote-Debugger einzubinden, und mit dem lokalen Modus von Ray kannst du deine vorhandenen Debugging-Tools in vielen anderen Situationen verwenden. Einige Fehler treten außerhalb von Python auf und sind daher schwieriger zu debuggen, z. B. Container-Out-of-Memory (OOM)-Fehler, Segmentierungsfehler und andere native Fehler.
Hinweis
Einige Teile dieses Anhangs werden mit Scaling Python with Dask geteilt, da sie allgemein gute Ratschläge für das Debuggen aller Arten von verteilten Systemen sind.
Allgemeine Tipps zur Fehlersuche mit Ray
Du hast wahrscheinlich deine eigenen Standard-Debugging-Techniken für die Arbeit mit Python-Code, und dieser Anhang ist nicht dazu gedacht, sie zu ersetzen. Hier sind einige allgemeine Techniken, die mit Ray mehr Sinn machen:
-
Zerlege fehlschlagende Funktionen in kleinere Funktionen. Da
ray.remote
das Zeitplannungsprogramm auf den Block einer Funktion ausrichtet, ist es mit kleineren Funktionen einfacher, das Problem zu isolieren. -
Achte auf die unbeabsichtigte Erfassung von Bereichen.
-
Probiere Daten aus und versuche, sie lokal zu reproduzieren (lokales Debugging ist oft einfacher).
-
Verwende Mypy für die Typüberprüfung. Wir haben zwar nicht in allen unseren Beispielen Typen verwendet, aber eine großzügige Verwendung von Typen kann im Produktionscode ...
Get Python mit Ray skalieren now with the O’Reilly learning platform.
O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.