3 aprile 2014

Il matrimonio tra systemd e dhcp è miracoloso


Gli sviluppatori di systemd stanno lavorando per migliorare notevolmente le prestazioni di DHCP in systemd-network.

Sia chiaro, il titolo è provocatorio in virtù della situazione molto calda (ma poco hot) che si è venuta a creare, riassumibile chiaramente con una immagine (e la sua didascalia):
Cercare di conquistare il mondo!
Giusto per ricordarlo, in una delle ultime versione di systemd si è introdotto systemd-networkd, che permette di gestire semplici connessioni di rete.
Il client DHCP integrato in systemd fin'ora aveva prestazioni nella media.
Tom Gundersen, dipendente Red Hat e sviluppatore di Arch Linux, nelle ultime due settimane ha analizzato l'implementazione attuale del client DHCP fornito con systemd (arriverà anche il server) e ha notato che richeideva troppo tempo: 500 ms per ottenere un lease* dal suo stesso sistema.
Probabilmente in linea con la "concorrenza", ma migliorabile.
Con un po' di lavoro è riuscito a diminuire il tempo necessario a soli 50 millisecondi.
Con altre ottimizzazioni è riuscito a ridurre il tempo necessario di parecchie volte. Siamo così arrivati al risultato attuale: soli 750 microsecondi .
Se non si è capito, siamo a meno di un millesimo di secondo. Certo, non sarà il risultato che otterremo nell'uso di tutti i giorni, dato che ci sarà da contare la latenza del router a cui ci connettiamo, e dei vari dispositivi intermedi, ma è un netto miglioramento.
Stando alle dichiarazioni dello sviluppatore, da una rapida occhiata (nessun test approfondito) queste patch dovrebbero rendere il dhcp fornito da systemd molto più veloce delle implementazioni concorrenti (es: NetworkManager, dhcpcd ecc.).
Per precisare, la dichiarazione è stata fatta dopo una mia esplicita richiesta e non è una cosa confermata. Si tratta solo di una sua opinione in merito, nessun test scientificamente accettabile.
Giusto per evitare roba come "noooooooo, Lennart e soci fanno dichiarazioni inverosimili per allargare il quarto reich!1!!!11!!11!1".


Qualcuno potrebbe pensare che sia una cosa inutile.
E invece no. Partendo dal principio che il software più veloce è sempre il benvenuto, finchè non va ad intaccare la stabilità del sistema (e la leggibilità del codice), ricordiamo che sistemi Linux based sono usati in tutti gli ambiti, dai desktop e laptop ai server, dai server agli smartphone, dall'IVI (In Vehicle Infotainment) ai sistemi embedded. Ebbene tutti potranno godere di miglioramenti.
Perfino i router.

Ma ciò significa anche che in futuro, volendo, NetworkManager e gli altri software di gestione delle connessioni di rete potrebbero lasciare a questo servizio l'onere della risoluzione di tutto ciò che riguarda DHCP.

systemd diventa sempre più completo, systemd diventa sempre più usato.
Hail Lennart!!!


  Via: Tom Gundersen

*si definisce lease quel meccanismo che permette ad un dispositivo di ottenere un indirizzo di rete temporaneo (con una scadenza, ma rinnovabile)

Nessun commento:

Posta un commento

Licenza
Licenza Creative Commons

Quest' opera è distribuita con licenza Creative Commons Attribuzione - Non commerciale - Non opere derivate 3.0 Unported. Questo blog non rappresenta una testata giornalistica, in quanto viene aggiornato senza alcuna periodicità. Non può, pertanto, considerarsi un prodotto editoriale, ai sensi della legge n. 62 del 7/03/2001

Disclaimer immagini

Le immagini utilizzate in questo blog appartengono ai loro rispettivi autori e sono utilizzati per scopi educativi, personali e senza scopo di lucro. Ogni eventuale violazione del copyright non è intenzionale, ma se si riconosce un'immagine protetta da copyright, fatemelo sapere qui, e sarò lieto di aggiungere i credits o modificarla o rimuoverla.

Disclaimer images

Images used on this blog belong to their respective authors and are used for educational, personal and no profit purposes. Any eventual copyright infringement is not intentional, but if you recognize a copyrighted image, please let me know here, and I'll happily provide to add the right credits or modify or remove it.