enthought / enthought/distarray

O-14: Execution contexts for user control and performance feedback (optional)

Aperta
#194 0 commenti 0 reazioni 0 assegnatari Vedi su GitHub
SBIR-year-2
Lingua principale
Python
Stelle
5
Fork
1
Metriche di merge delle PR
Nessuna PR unita negli ultimi 30g

Descrizione

Objective: To provide features that allow an ODIN user to control how certain operations are carried out, and to provide performance feedback.

Relevance: By providing features that allow users to control how operations are performed, ODIN users can adapt the framework to their specific usecase, and choose where they fall on the performance-usability spectrum.

Description: This task will implement, via Python decorators and context managers, features that allow the end user to control how distributed array computations are performed. These modifications will allow capabilities such as:

• Debugging and performance feedback – this will turn on full feedback for easy debugging, allowing a user to easily determine if an exception was raised on a worker node and get the context and contents of that exception. The performance feedback will optionally provide information on what and how much data was communicated between nodes, and how much communication overhead was involved in a computation, for example.

• Control over the computation strategy for distributed array expressions: whether source computes, destination computes, or whether the operation should minimize communication.

• Control over whether communication should be allowed implicitly. For performance reasons, a user may desire the ability to disallow any implicit communication for an array computation, and this context manager would provide this performance-oriented feature, requiring the end user to explicitly allocate all arrays and ensure that they are distributed in an identical fashion before performing computations with them.

Guida per i contributori

Nessuna guida per i contributori indicizzata per questo repository

Direzione di ricerca

Non vengono indicati file, test o punti di ingresso. Inizia mappando le API per il calcolo distribuito di array, quindi definisci l’ambito del decoratore e del context manager per il debugging, i feedback sulle prestazioni, la strategia di calcolo e la comunicazione implicita. Il lavoro è completato quando gli utenti possono controllare questi comportamenti come descritto.

Scritto dal modello di indicizzazione a partire dal testo della issue.

Valutazione

Stack tecnologico
python
Ambito
distributed-systems
Tipo di issue
Funzionalità
Difficoltà
5/5
Tempo stimato
Più di una settimana
Stato di attività
Ferma
Chiarezza
Da chiarire
Idoneità per principianti
25/100

Ricevi le nuove issue nella tua casella

Un breve riepilogo di issue GitHub adatte ai principianti.